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