دوشنبه, ۱۱ تیر, ۱۴۰۳ / 1 July, 2024
مشکل ۲۰۳۸ چیست؟
شاید از تبلیغات رسانهها در مورد مشکل سال ۲۰۰۰ یا Y۲K چیزی یادتان بیاید
و جنجالی که شرکتهای هواپیمایی و مخابراتی به راه انداختند را یادتان باشد. گرچه سال ۲۰۰۰ هم شد و زمین به آسمان نیامد!
اگر اهل کامپیوتر و این حرفها باشید حتماً نام برنامه نویسی به زبان C به گوشتان خورده است. این زبان برنامه نویسی از اهمیت بالایی برخوردار است و اکثر نرمافزارهایی که روزانه از آن استفاده میکنید تحت آن نوشته میشوند.
مشکل سال ۲۰۰۰ به همین زبانهای برنامه نویسی بر میگشت ولی برنامههای تحت C از این مشکل در امان بودند. ولی شاید در سال ۲۰۳۸ این برنامهها خیلی هم خوش شانس نباشند!
این به این دلیل است که برنامههای C با سیستمی به نام کتابخانه استاندارد زمان یا Standard Time Library کار میکنند. این کتابخانه فرمت ۴ بایتی برای ذخیره کردن زمان به کار میبرد و خاصیتهای دیگری برای تغییر و تبدیل زمان دارد.
این استاندارد فرض میکند که شروع زمان ساعت ۱۲:۰۰:۰۰ اول ژانویه ۱۹۷۰ به وقت Pacific Time Zone است و هر زمان دیگری بر طبق این زمان سنجیده میشود و ساعتها و روزها و سالها بر اساس ثانیههایی که از این زمان گذشته شناخته میشوند. برای مثال ۹۱۹۶۴۲۷۱۸ مقدار ثانیههایی است که از آن زمان میگذرد و ساعت ۱۶:۱۸:۳۸ بیست و یکم فوریه سال ۱۹۹۹ را نشان میدهد.
کار کردن با این روش برای کامپیوتر آسان است چون با انجام عملیات ساده جمع و تفریق میتواند فاصله بین دو تاریخ را محاسبه کند.
اگر کمی بیشتر در مورد کارکرد کامپیوتر اطلاعات داشته باشید میدانید که یک مقدار ۴بایتی در کامپیوتر ماکسیمم میتواند ۲۱۴۷۴۸۳۶۴۷ باشد. این مقدار در کتابخانه استاندارد زمان برنامههای C برابر روز ۱۹ ژانویه ۲۰۳۸ است و مقدارهای بعد از آن منفی و غیر قابل قبول حساب میشوند.
این مشکل ساده تر از مشکل سال ۲۰۰۰ است. خوشبختانه برنامههایی که ساختار خوب و مناسبی دارند را با ایجاد کمی تغیر در ساختار کتابخانه آن از این مشکل در امان نگاه داشت. برای مثال مقدار متغیر آنها را از ۴بایتی به ۸بایتی تغییر داد.
این گونه مشکلات ساختاری در اکثر سیستمهای کامپیوتری رایج است. برای مثال برای سیستمهای PC IBM با توجه به اینکه شروع سال برای آنها ۱۹۸۰ میلادی است و مقادیر زمان ۳۲ بایتی است؛ مشکلی در سال ۲۱۱۶ پیش بینی میشود.
وینذوز NT مقیاس ۱۰۰ نانو ثانیه دارد و با ۶۴ بایت زمان را ذخیره میکند و شروع زمان برای آن ابتدای سال ۱۶۰۱ است. از این رو پیشبینی میشود که در سال ۲۱۸۴ مشکلی برای آم پیش بیاید. البته اگر کسی تا آن زمان نام ویندوز NT را به خاطر داسته باشد!
در این میان سیستمهای مکینتاس حالا حالاها وقت دارند که با خیال راحت به کار ادامه دهند چون تا سال ۲۹۹۴۰میلادی مشکلی برایشان پیش نمیآید!
رشید عسگری
سعید جلیلی انتخابات ریاست جمهوری مسعود پزشکیان انتخابات انتخابات ریاست جمهوری 1403 ایران پزشکیان انتخابات ریاست جمهوری چهاردهم انتخابات ریاست جمهوری ۱۴۰۳ انتخابات 1403 ریاست جمهوری ستاد انتخابات کشور
قتل زلزله فضای مجازی تهران هواشناسی آموزش و پرورش شهرداری تهران سلامت پلیس سازمان هواشناسی خانواده سیل
قیمت دلار نمایشگاه الکامپ دولت سیزدهم قیمت طلا قیمت خودرو خودرو حقوق بازنشستگان دلار بورس بازار خودرو قیمت سکه بازنشستگان
کنسرت سینما علیرضا قربانی تخت جمشید تلویزیون رسانه ملی سینمای ایران کتاب سید ابراهیم رئیسی بازیگر
هوش مصنوعی دانش بنیان باتری وزیر علوم ماهواره
فرانسه رژیم صهیونیستی غزه جو بایدن ترکیه فلسطین روسیه جنگ غزه دونالد ترامپ لبنان ترامپ بایدن
یورو 2024 فوتبال استقلال پرسپولیس لیگ برتر باشگاه پرسپولیس علیرضا بیرانوند باشگاه استقلال بازی نقل و انتقالات آلمان تیم ملی آلمان
همراه اول الکامپ ربات موبایل وزیر ارتباطات عیسی زارع پور گوگل اینترنت فناوری فیبر نوری
کاهش وزن دیابت چشم عینک آفتابی ویتامین چاقی سرطان قند خون سکته مغزی