مشکل سال 2000 میلادی Year 2000 Problem – Y2k

مشکل سال 2000 یا Year 2000 Problem چیست؟

مشکل سال 2000 (به انگلیسی: Year 2000 Problem) به مسائلی اشاره می‌کند که به دلیل نحوه نگه‌داری و فرمت داده‌های تاریخ در اثر گذار به سال 2000 میلادی برای نرم افزارها و سیستم های رایانه ای بروز نشده یا قدیمی رخ داده است یا انتظار می‌رفت رخ بدهد. این مشکل با نام‌های دیگری نظیر باگ هزاره (Millennium Bug – به دلیل همزمانی با تغییر هزاره) و باگ یا مشکل Y2K (حرف Y از ابتدای واژه Year و حرف K برای هزار) نیز شناخته می‌شود.

در بسیاری از برنامه ها و سیستم های رایانه ای قدیمی، بخش سال در داده‌های تاریخ به جای چهار رقم تنها با دو رقم مشخص می‌شد. برای مثال در چنین حالتی سال 1998 به شکل 98 نگه‌داری می‌شد. مسأله‌ای که باعث می‌شد سیستم های رایانه ای هنگام گذار از سال 1999 به 2000 با تبدیل بخش سال از 99 به 00 (که به معنای بازگشت به سال 1900 تلقی می‌شد) با مشکل روبرو شوند.

در واقع این باگ سبب می‌شد برخی از نرم افزارها و سیستم‌های رایانه‌ای نتوانند میان سال‌های 2000 و 1900 تفاوتی قائل شوند و بنابراین در صورت برطرف نشدن این باگ، به بروز مشکلاتی در برخی پردازش‌های مربوط به تاریخ (نظیر نمایش نادرست تاریخ، اشتباه در مقایسه تاریخ‌ها و مرتب سازی اشتباه رکوردهای اطلاعاتی براساس تاریخ و تبعات آن) منجر می‌شد.

یکی از دلایلی که در دهه‌های ابتدایی ظهور سیستم های رایانه‌ای باعث شده بود تنها از دو رقم برای بخش سال استفاده شود تلاش برای صرفه جویی در فضاهای ذخیره سازی بود که در آن روزها قیمت بسیار بالایی داشتند.

حل مشکل Y2K

بسیاری از سازمان‌ها و شرکت‌ها با بروزرسانی به موقع نرم افزارها و سیستم‌های رایانه‌ای خود از بروز این مشکل جلوگیری کردند و برخلاف پوشش رسانه‌ای شدید این موضوع (که باعث ایجاد ترس و نگرانی میان عامه مردم شده بود) تنها موارد اندکی مبنی بر ایجاد دردسر به دلیل وجود این باگ از پیش تدبیر نشده گزارش شده است.

طبیعتا بهترین روش برای حل این مشکل، نگه‌داری و فرمت تاریخ‌ها به طور کامل با چهار رقم برای نمایش بخش سال است. این روش که تحت عنوان گسترش تاریخ (Date Expansion) شناخته می‌شود با هزینه‌ها و تلاش زیاد برای تست و تبدیل تاریخ‌های پیشین همراه است. به همین دلیل، در موارد بسیاری از روش‌های مقرون به صرفه‌تری برای حل این مشکل استفاده شد.

یکی از محبوب‌ترین این روش‌ها موسوم به Date Windowing با در نظر گرفتن یک سال به عنوان سال محوری (Pivot Year) و تعریف یک بازه صد ساله با شروع از همین سال در قالب راهکاری موقتی برای حل این مشکل به کار گرفته شد. برای مثال در این روش اگر عدد 20 (سال 1920) به عنوان سال محوری درنظر گرفته شود اعداد 20 تا 99 نمایانگر سال‌های 1920 تا 1999 و اعداد 00 تا 19 نیز به عنوان معادل سال‌های 2000 تا 2019 استفاده می‌شدند. این روش با توجه به داشتن فرصت کافی برای بروزرسانی سیستم‌های قدیمی‌تر (در این مثال تا پایان سال 2019) در عمل می‌توانست مشکل را به سرعت برطرف کند.

سایر نمونه‌های مشابه با مشکل سال 2000

در دنیای رایانه، Y2K تنها مشکل مرتبط با نحوه فرمت و نگه‌داری داده‌های تاریخ نبوده است. برای مثال برخی از برنامه نویسان به اشتباه هر سالی که بر عدد 100 بخش‌پذیر بود را به عنوان سال کبیسه در نظر می‌گرفتند.

نمونه دیگر مربوط به پارکومترهای شهر نیویورک بود که به دلیل استفاده از روش Date Windowing برای حل مشکل سال 2000 و عدم دریافت بروزرسانی مناسب، در سال 2020 مجددا با مشکل مشابهی روبرو شدند و به این ترتیب پرداخت از طریق کارت اعتباری در آن‌ها غیرممکن شده بود.

مشکل سال 2000 - Year 2000 Problem - Y2K
باگ Y2K تنها برخی از نرم افزارها و سیستم های رایانه ای را در گذار به سال 2000 میلادی با مشکل روبرو کرد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *