جمعه, ۲۱ اردیبهشت, ۱۴۰۳ / 10 May, 2024
مشکل ۲۰۳۸ چیست؟
شاید از تبلیغات رسانهها در مورد مشکل سال ۲۰۰۰ یا Y۲K چیزی یادتان بیاید
و جنجالی که شرکتهای هواپیمایی و مخابراتی به راه انداختند را یادتان باشد. گرچه سال ۲۰۰۰ هم شد و زمین به آسمان نیامد!
اگر اهل کامپیوتر و این حرفها باشید حتماً نام برنامه نویسی به زبان C به گوشتان خورده است. این زبان برنامه نویسی از اهمیت بالایی برخوردار است و اکثر نرمافزارهایی که روزانه از آن استفاده میکنید تحت آن نوشته میشوند.
مشکل سال ۲۰۰۰ به همین زبانهای برنامه نویسی بر میگشت ولی برنامههای تحت C از این مشکل در امان بودند. ولی شاید در سال ۲۰۳۸ این برنامهها خیلی هم خوش شانس نباشند!
این به این دلیل است که برنامههای C با سیستمی به نام کتابخانه استاندارد زمان یا Standard Time Library کار میکنند. این کتابخانه فرمت ۴ بایتی برای ذخیره کردن زمان به کار میبرد و خاصیتهای دیگری برای تغییر و تبدیل زمان دارد.
این استاندارد فرض میکند که شروع زمان ساعت ۱۲:۰۰:۰۰ اول ژانویه ۱۹۷۰ به وقت Pacific Time Zone است و هر زمان دیگری بر طبق این زمان سنجیده میشود و ساعتها و روزها و سالها بر اساس ثانیههایی که از این زمان گذشته شناخته میشوند. برای مثال ۹۱۹۶۴۲۷۱۸ مقدار ثانیههایی است که از آن زمان میگذرد و ساعت ۱۶:۱۸:۳۸ بیست و یکم فوریه سال ۱۹۹۹ را نشان میدهد.
کار کردن با این روش برای کامپیوتر آسان است چون با انجام عملیات ساده جمع و تفریق میتواند فاصله بین دو تاریخ را محاسبه کند.
اگر کمی بیشتر در مورد کارکرد کامپیوتر اطلاعات داشته باشید میدانید که یک مقدار ۴بایتی در کامپیوتر ماکسیمم میتواند ۲۱۴۷۴۸۳۶۴۷ باشد. این مقدار در کتابخانه استاندارد زمان برنامههای C برابر روز ۱۹ ژانویه ۲۰۳۸ است و مقدارهای بعد از آن منفی و غیر قابل قبول حساب میشوند.
این مشکل ساده تر از مشکل سال ۲۰۰۰ است. خوشبختانه برنامههایی که ساختار خوب و مناسبی دارند را با ایجاد کمی تغیر در ساختار کتابخانه آن از این مشکل در امان نگاه داشت. برای مثال مقدار متغیر آنها را از ۴بایتی به ۸بایتی تغییر داد.
این گونه مشکلات ساختاری در اکثر سیستمهای کامپیوتری رایج است. برای مثال برای سیستمهای PC IBM با توجه به اینکه شروع سال برای آنها ۱۹۸۰ میلادی است و مقادیر زمان ۳۲ بایتی است؛ مشکلی در سال ۲۱۱۶ پیش بینی میشود.
وینذوز NT مقیاس ۱۰۰ نانو ثانیه دارد و با ۶۴ بایت زمان را ذخیره میکند و شروع زمان برای آن ابتدای سال ۱۶۰۱ است. از این رو پیشبینی میشود که در سال ۲۱۸۴ مشکلی برای آم پیش بیاید. البته اگر کسی تا آن زمان نام ویندوز NT را به خاطر داسته باشد!
در این میان سیستمهای مکینتاس حالا حالاها وقت دارند که با خیال راحت به کار ادامه دهند چون تا سال ۲۹۹۴۰میلادی مشکلی برایشان پیش نمیآید!
رشید عسگری
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
pameranian.com
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
انتخابات مجلس انتخابات انتخابات مجلس دوازدهم ایران مجلس شورای اسلامی مجلس رهبر انقلاب رئیس جمهور دولت دولت سیزدهم رئیسی روز دختر
سیل ترافیک فضای مجازی هواشناسی پلیس شهرداری تهران تهران قتل بارش باران آموزش و پرورش سازمان هواشناسی سلامت
گاز قیمت خودرو خودرو قیمت طلا مالیات نفت پالایش و پتروشیمی نمایشگاه نفت قیمت دلار مسکن حقوق بازنشستگان بانک مرکزی
نمایشگاه کتاب نمایشگاه کتاب تهران کتاب تلویزیون حضرت معصومه (س) سینمای ایران سریال سینما دفاع مقدس
رژیم صهیونیستی غزه فلسطین روسیه جنگ غزه رفح اوکراین ولادیمیر پوتین طوفان الاقصی حمله به رفح مصر ترکیه
پرسپولیس فوتبال استقلال رئال مادرید لیگ قهرمانان اروپا سردار آزمون بایرن مونیخ لیگ برتر بازی باشگاه پرسپولیس باشگاه استقلال سپاهان
هوش مصنوعی فناوری مغز انسان وزیر ارتباطات فیبرنوری ایلان ماسک اپل ناسا مغز گوگل
کاهش وزن چاقی تخم مرغ توت فرنگی آسم هندوانه کبد چرب