بحران نرم افزار سال 2000 که به مشکل سال 2000 یا Y2K نیز شهرت دارد در ابتدای قرن جدید ذهن کارشناسان دنیای کامپیوتر را به خود مشغول کرد. این بحران به وقایع مربوط به ذخیرهسازی و قالببندی دادههای تقویم برای تاریخهای بعد از سال 2000 اشاره دارد.
در آستانه ورود به قرن بیستویک کارشناسان پیشبینی کردند که برنامههای نمایانگر سالهای چهاررقمی قادر به شناسایی تفاوت بین سال 2000 و 1900 نباشند و این موضوع باعث بروز مشکلاتی در نرم افزارهای کاربردی وابسته به زمان و تاریخ شود. بر اساس نظر کارشناسان بعد از ورود به این قرن نرم افزارهای بانکها، ادارات ثبت احوال، سیستم ترافیک شهری و سازمانهای مالیاتی با مشکلات بزرگی مثل نمایش نادرست تاریخها و سوابق خودکار مواجه میشدند.
امروز بعد از گذشت بیش از دو دهه از آغاز قرن بیستویک و صرف میلیاردها دلار هزینه برای جلوگیری از بروز باگ سال 2000، این سؤال مطرح میشود که آیا این بحران، چالش و مشکل بزرگی بود یا خیر؟ در ادامه این مقاله به بررسی بحران نرم افزار سال 2000 میپردازیم.
بحران نرم افزار سال 2000 چیست؟
در دهههای پنجاه و شصت میلادی، کامپیوترها حافظه محدودی داشتند و در نتیجه برای حفظ فضای بیشتر، نمایش سالها با دو رقم آخر مرسوم شد. در آن سالها، نرم افزارها همه سالها را بهصورت پیشفرض متعلق به قرن بیستم میدانستند و درک تفاوت سالها در قرنهای متفاوت برای آنها امکانپذیر نبود.
موضوع بحران نرم افزار سال 2000 زمانی مطرح شد در آغاز قرن حاضر مطرح شد. بر اساس این بحران نرم افزارها توانایی شناسایی سال 2000 که بهصورت «00» نمایش داده میشود را از سال 1900 نداشتند و به همین سبب سازمانهایی که وابسته به تاریخ و زمان بودند، با مشکلات بزرگی مواجه میشدند.
با توجه به این پیشبینی، نرم افزارها تاریخ جدید را میپذیرفتند اما خروجی نامناسب را تحویل میدادند. احتمال دیگر این بود که عملیات کامپیوترها بعد از نمایش پیام خطا، متوقف شود. بحران نرم افزار سال 2000 به کامپیوترهای شخصی و خانگی محدود نبود و میتوانست زیرساختهای عظیمی مثل هواپیماها، کارخانهها، سیستمهای کنترل موشک و ماهوارهها و مراکز انتقال نیرو را با بحران جدی روبهرو کند.
یکی دیگر از مشکلات مطرح شده در Y2K، مربوط به سالهای کبیسه بود. سالهای تقسیمپذیر به عدد 400 کبیسه هستند در نتیجه سال 2000 نیز سال کبیسه بود. اما این قانون در کامپیوترها اعمال نشده بود و سال 200 را بهعنوان سال کبیسه تشخیص نمیدادند و همین موضوع در محاسبه روزها چالش بزرگی ایجاد میکرد. کارشناسان راهحلهای گوناگونی را برای مقابله با بحران نرم افزار سال 2000 مطرح کردند که در ادامه به آنها اشاره میکنیم.
روشهای حل بحران نرم افزار سال 2000
یکی از راهحلهایی که کارشناسان برای حل بحران Y2K پیشنهاد دادند، اضافه کردن فیلد تاریخ یا سال برای ذخیره دو رقم بیشتر بود. بر اساس این پیشنهاد باید به تمامی تاریخها در نرم افزارها عدد 1900 اضافه میشد. با این راهکار، همه تاریخهای قدیمی و جدید با ساختار صحیح نمایش داده میشد. اما این روش هزینه زیادی داشت و با ریسک از دست رفتن اطلاعات مواجه بود. یکی دیگر از مشکلات این روش مربوط به تغییر حالت نرم افزارها و مدیریت، محاسبه و ذخیرهسازی سالهایی با چهار رقم بود.
از جمله راهکارهای دیگر برای رفع بحران نرم افزار سال 2000، رمزنگاری تاریخها بهصورت دادههای 14 بیتی و اعداد باینتری و ذخیره نمایش عدد صحیح آنها در فیلد تاریخ بود. سیستم دیگری که برای مقابله با باگ سال 2000 مطرح شد نمایش دادهها به صورت DDDCYY بود. در این سیستم DDD نشاندهنده روز سال، C نماد قرن و YY برای نمایش سال در نظر گرفته شد.
در سال 1997 مؤسسه استاندارد بریتانیا برای تؤیید سازگاری برنامهها با باگ سال 2000، استانداردی مبتنی بر چهار قانون تصویب کرد که عبارتند از:
عمل کردن تاریخ قرن در تمام رابطهای کاربری و محیطهای ذخیرهسازی
عملکرد ثابت توابع مبتنیبر تاریخ برای تمام تاریخهای قبل و پس از سال 2000
عدم بروز اختلال برنامه در زمان وارد کردن تاریخ
قرن جدید و باگ سال 2000
بسیاری افراد بر این باورند که مسائل مربوط به بحران نرم افزار سال 2000 هیاهو رسانهای بوده است و کارشناسان این Y2K را بیشاز حد بزرگ کردهاند. بعد از ورود به قرن جدید مشکل خاصی پیش نیامد و نرم افزارها همچنان به فعالیت خود ادامه میدهند.
البته با وجود تمام هزینههایی که برای مقابله با بحران سال 2000 صرف شد، چند حادثه کوچک در نقاط مختلف دنیا اتفاق افتاد. برخی از این حادثهها از اهمیت بیشتری برخوردار بودند و ممکن بود به قطع شبکه جهانی منجر شوند. حوادثی که بر اثر باگ سال 2000 رخ دادند، عبارتند از:
اختلال عملکرد دو نیروگاه هستهای در ژاپن که به سرعت رفع شدند و پیامدهای بزرگی به همراه نداشتند.
ثبت سن اولین کودک متولد شده در دانمارک که به اشتباه عدد 100 برای او ثبت شد.
چاپ تاریخ اشتباه روی بلیطهای اتوبوس در استرالیا
از دسترس خارج شدن سرویس خبرگزاری ملی مصر
قطع شدن ماهوارههای جاسوسی آمریکا به مدت سه روز به دلیل استفاده از بسته امنیتی نامناسب برای رفع Y2K
بحرانهای تاریخی مشابه بحران سال 2000
در تاریخ دنیا فناوری میتوان باگهای مشابهی با باگ سال 2000 مشاهده کرد.
- 4 ژانویه 1975
در این تاریخ، دادههای تاریخ از فیلد دوازده بیتی که در سیستم عامل Decosystem 10 کاربرد داشت، بیشتر شد و موجب بروز مشکلاتی در سیستمهای مبتنیبر آن شد. برای حل این باگ، فرمت جدیدی برای تاریخ ایجاد شد.
- 9 سپتامبر 1999
این تاریخ بهصورت فرمت 99/9/9 نوشته میشد که برخی از نرم افزارها آن را با مقادیر تاریخ 9999 اشتباه میگرفتند که برای نشان دادن تاریخ نامشخص بود. در نتیجه این باگ ممکن بود دیتابیسها این تاریخ را بهعنوان تاریخی نامشخص در نظر بگیرند. در تاریخ مذکور مشکل خاصی برای برنامههای کامپیوتری به وجود نیامد.
- مشکل سالهای کبیسه
به دلیل در نظر نگرفتن قانون تقسیمپذیری بر 400، نرم افزارها در تشخیص سال کبیسه دچار مشکل میشدند.
- بحران سال 2010
چالشی مشابه بحران سال 2000 در سال 2010 ذهن برنامهنویسان را به خود مشغول کرد که به باگ Y2K+10 شهرت دارد. این سال در سیستم مبنای 6 بهصورت 0×0A و در سیستم دهدهی بهصورت 0×10 رمزگشایی شد. بنابراین نرم افزارها سال 2010 را بهعنوان سال 2016 شناسایی کردند و همین امر موجب بروز اختلالاتی در سیستم بانکی و ویندوز موبایل شد.
- بحران سال 2038
پیشبینی میشود که در سال 2038 دادههای تاریخ در یونیتکس، تاریخ و ساعت از دادههای قابل مدیریت در سیستم 32 بیتی بیشتر شود. این باگ به Y2K38 شهرت دارد. در این باگ سیستمهای 64 بیتی دچار مشکل نخواهند شد.
نتیجهگیری
در مواجهه با بحران سال 2000، کارشناسان توانستند با شناسایی سریع بحران و صرف هزینه برای رفع آن، راهکارهایی ایجاد کنند تا از بروز مشکلات آتی جلوگیری شود. امروزه همچنان برخی از سیستمهای کامپیوتری در جهان از راهکارهای ارائه شده برای باگ 2000 استفاده میکنند. بهترین روش مقابله با باگ سال 2000، نصب کارت سختافزاری سال 2000 بود. بر اساس این راهکار، کارت مذکور با روشن شدن کامپیوتر اطلاعات دریافت شده از تراشه زمان را اصلاح میکند و در نتیجه نرم افزارها دچار مشکل نمیشوند.
از دل این بحران یک بیانیهای به وجود آمد که باعث تحول در دنیال توسعه نرم افزار شده است. 12 نفر از توسعه دهندگان نرم افزار دور هم جمع آمده اند و اصولی را برای تولید و توسعه نرم افزار بیان کرده اند که این بیانیه معروف به بیانیه چابکی است.
مقالات مرتبط
درباه ما:
شرکت دانش بنیان برهان سیستم پاسارگاد فعالیت خود را از سال ۱۳۸۸ با عرضه نرم افزاری مالی و مدیریتی آغاز کرد. هسته اصلی برهان گروهی از کارشناسان حوزه مالی و نرم افزاری است که حاصل تجارب خود در شرکت ها و پروژه های متفاوت را در برهان گرد آوردند.
این شرکت دارای رتبه 1 از شورای عالی انفورماتیک، مجوز فعالیت از سازمان نظام صنفی رایانه ای استان تهران و دارای گواهینامه ISO 9001:2015 میباشد.
محصولات برهان
لینک های مفید
تماس با ما
خیابان ملاصدرا، خیابان شیرازی شمالی، بن بست کاج، پلاک 8، ساختمان برهان سیستم پاسارگاد
ساعت کاری شرکت:
شنبه الی چهارشنبه : 17:20 – 8:30
پنجشنبه : 13:30- 8:30
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.