مشکل سال ۲۰۳۸

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
Year 2038 problem.gif

مشکل سال ۲۰۳۸ اشاره به اتفاقی در سال ۲۰۳۸ میلادی دارد که ممکن است برخی از نرم‌افزارها در آن سال از کار بیفتند. این مشکل بر روی همه سیستم‌ها و نرم‌افزارهایی که هم ساعت سیستمی را به صورت یک عدد صحیح ۳۲ بیتی ذخیره می‌کنند؛ و هم این عدد را به صورت «ثانیه‌های سپری‌شده از تاریخ پنجشنبه، اول ژانویه ۱۹۷۰ ساعت 00:00:00» تفسیر می‌کنند، اثر خواهد گذاشت. دورترین مدت زمانی که می‌توان در قالب ۳۲ بیت ذخیره کرد، ساعت 03:14:07 در روز پنجشنبه، ۱۹ ژانویه ۲۰۳۸ میلادی است (2147483647 ثانیه سپری‌شده از اول ژانویه ۱۹۷۰) و پس از رسیدن به این لحظه، متغیر ۳۲ بیتی‌ای که زمان در آن ذخیره شده، سرریز خواهد شد. با رسیدن به این لحظه، ساعت دور خواهد زد و به یک عدد منفی تبدیل خواهد شد که باعث می‌شود این سیستم‌ها این عدد را در عوض ۱۹ ژانویه ۲۰۳۸، به صورت ۱۳ دسامبر ۱۹۰۱ تفسیر کنند. در این لحظه، تمامی بیت‌های قابل استفاده در متغیری که زمان را نگه می‌دارد، استفاده می‌شوند و در عوض به بیت علامت (سمت چپ‌ترین بیت که نشان‌دهنده مثبت یا منفی بودن عدد است) یک واحد اضافه می‌شود و باعث می‌شود عدد تبدیل به «کوچکترین عدد منفی قابل ذخیره در ۳۲ بیت» تبدیل شود.

بعضی از برنامه‌ها ممکن است زودتر از سال ۲۰۳۸ از کار بیفتند؛ خصوصاً برنامه‌هایی که با زمان‌های آینده سرورکار دارند. برای مثال، برنامه‌ای که با ۲۳ سال بعد سروکار دارد، در سال ۲۰۱۵ (میلادی) از کار خواهد افتاد و می‌بایست زودتر از رسیدن این سال تصحیح گردد.

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Year 2038 problem»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۷ مهٔ ۲۰۱۴).