مشكلة عام 2000 (وكما تعرف بـمشكلة Y2K ، خطأ الألفية، خطأ Y2K) (Y2K problem بالإنجليزية؛ وحرف K رمز كلمة khilioi «ألف» اليونانية) حدثت مع اقتراب الألفية الثانية عام 2000 حيث كان المبرمجون قد اعتمدوا في إدخال الأرقام إلى الحاسوب في مجال البرمجة، على طريقة تخزين أرقام السنة التي تتكون من أربعة أرقام إلى رقمين فقط لتقليل كمية الذاكرة المستهلكة.حيث يتم تمثيل سنة 1998 إلى 98، وسنة 1999 تم تخزينها علي هيئة 99 حتى الآن لاتوجد مشكلة فالحاسب يعرف ان 98 تتلوها 99 وتُعْرَض ك1999 ان أردنا ذلك لكن بوصول عام 2000 سيصبح هذين الرقمين هما 00 مما يؤدى إلى كتابتها 1900 فبالإضافة إلى حدوث تعارض مع أي ادخال حقيقى ل1900 فان ذلك سيسبب مشكلة حقيقية مع الأنظمة المُمَيكنة التي تقوم بالعد والإحصاء (كحواسيب المصانع والمستشفيات والحكومة) حيث أن 00 ليس الرقم التالى في العدّ لتسعة وتسعين.
في عام 1997، طوّر معهد المعايير البريطاني (BSI) معيار DISC PD2000-1، والذي يحدد \ «متطلبات المطابقة لسنة 2000 \» كأربع قواعد:
- لن يسبب أي تاريخ غير صالح أي انقطاع في العمليات.
- حساب الفترات بين التواريخ أو التسلسل الزمني سيتم بشكل صحيح بالرغم من تواجدها في قرون مختلفة.
- في جميع الواجهات ووحدات التخزين، يجب أن يكون القرن واضح ولا لبس فيه، بحيث يكون إما محدداً أو يتم حسابه بواسطة خوارزمية.
- سنة 2000 يجب أن تكون محسوبة كسنة الكبيسة.
أدرك الجمهور تدريجيًا «ذعر عام 2000»، في السنوات التي سبقت بداية القرن الحادي والعشرين، توقعت الشركات الفردية أن الضرر العالمي الناجم عن الخطأ سيكلف ما بين 400 مليون دولار و600 مليار دولار لإصلاحه. أدى عدم وضوح المخاطر المحتملة لهذا الخطأ إلى تخزين البعض الطعام والماء والأسلحة، وشراء مولدات احتياطية، وسحب مبالغ مالية كبيرة تحسبًا لنهاية العالم الناجمة عن الحاسوب.[1][2]
على عكس التوقعات العامة، حدثت أخطاء كبيرة قليلة فعليًا في عام 2000، ويرجع ذلك أساسًا إلى الإجراءات الوقائية التي اتخذها العديد من مبرمجي الحاسوب وخبراء تكنولوجيا المعلومات. فحصت الشركات والمؤسسات في بعض البلدان، ولكن ليس كلها، أنظمة الحواسيب وأصلحتها وحدثتها لمعالجة المشكلة. وصف رئيس الولايات المتحدة بيل كلينتون، الذي نظم جهودًا لتقليل الضرر في الولايات المتحدة، عام 2000 بأنه «التحدي الأول للقرن الحادي والعشرين الذي جرت مواجهته بنجاح»، وكان يثني عادةً على المبرمجين الذين عملوا على تجنب الكارثة المتوقعة عند استرجاع الحدث.[3][4][5]
أسباب المشكلة
تُعزى أسباب المشكلة إلى أمرين هما:
- عملية تمثيل السنة بوحدتين أو خانتين رقمية أصبحت مشكلة مع الأخطاء المنطقية الناشئة عن الانتقال من x99 إلى x00. وقد تسبب هذا لعمل بعض التواريخ ذات الصلة بشكل غير صحيح وبالتحديد الأوقات والتواريخ بعد 1 يونيو 2000 والتواريخ الأخرى المهمة. بدون اتخاذ إجراءات تصحيحية، أنظمة العمل الطويلة تنهار عندما \\ \"... 97، 98، 99، 00 ... \\\" الترقيم التصاعدي الافتراضي أصبح فجأة غير صالح.
- بعض المبرمجين قد أساء الفهم القاعدة التي تنص على بالرقم من أن أي سنة تقبل القسمة على 100 هي ليست بسنة كبيسة إلا في حالة أنها تقبل القسمة على 400 فهي سنة كبيسة. لذا كانت سنة 2000 سنة كبيسة.
عدد الأجهزة الحاسوبية التي فشلت بالرغم من الاجراءات الإصلاحية لحل هذه المشكلة عندما انقلبت الساعات عام 2000 غير معروف؛ ويُعزى ذلك إلى تحفظ المنظمات على الإبلاغ بوجود المشكلة في أنظمتها. وتتواجد أدلة على أن هناك فشل في التأريخ لمصرف واحد على الأقل متعلّق بمشكلة بY2K.
الحلول البرمجية
استُخدمت أساليب عديدة مختلفة لحل مشكلة عام 2000 في النظم القديمة. فيما يلي ستة منها:
توسيع التاريخ
وسعت السنوات المكونة من رقمين لتشمل القرن (أصبحت مكونة من أربعة أرقام) في البرامج والملفات وقواعد البيانات. اعتبر هذا الحل «الأنقى» ونتج عنه تواريخ دقيقة ودائمة وسهلة الصيانة. ولكن، كانت هذه الطريقة مكلفة، وتتطلب جهودًا هائلة للاختبار والتحويل، وأثرت غالبًا على كامل الأنظمة.
إنشاء نوافذ التاريخ
احتفظ بالسنوات المكونة من رقمين، وحددت البرامج قيمة القرن فقط عند الحاجة إلى وظائف معينة، مثل مقارنات التواريخ والحسابات. (تشير «نافذة» القرن إلى فترة المئة عام التي ينتمي إليها التاريخ.) كانت هذه التقنية، التي تطلبت تثبيت تصحيحات صغيرة من التعليمات البرمجية في البرامج، أسهل في الاختبار والتنفيذ من توسيع التاريخ، وبالتالي أقل تكلفة بكثير. ورغم أنها ليست حلًا دائمًا، فقد صممت إصلاحات إنشاء النوافذ غالبًا للعمل لعدة عقود. اعتقد أن هذا مقبول، إذ ستسبتدل الأنظمة القديمة في النهاية بتكنولوجيا أحدث.[6]
ضغط التاريخ
يمكن ضغط التواريخ إلى أرقام ثنائية مكونة من 14 بت. يسمح هذا بالاحتفاظ بتنسيق بنية البيانات، باستخدام عدد صحيح للسنوات. يمكن لهذة الإجرائية تمثيل 16384 سنة مختلفة؛ تختلف الإجرائية الصحيحة حسب اختيار الحقبة.
إعادة تقسيم التاريخ
حولت أكواد السنة/ الشهر/ اليوم المكونة من ستة أرقام في قواعد البيانات القديمة، التي لم يكن ممكنًا تغيير حجمها اقتصاديًا، إلى أكواد من ثلاثة أرقام للسنوات (مثلت 1999 بـ099 و2001 بـ101) وثلاثة أرقام للأيام (التاريخ الترتيبي في العام). لزم تعديل تعليمات الإدخال والإخراج لحقول التاريخ فقط، ولكن لم تتطلب معظم عمليات التاريخ الأخرى وكامل عمليات السجل أي تغيير. أدى هذا إلى تأخير مشكلة التمديد النهائي حتى نهاية عام 2899.
مجموعات البرمجيات
مجموعات البرامجيات، مثل المدرجة في قائمة أفضل 10 إصلاحات لمشكلة عام 2000 لحاسوبك على موقع CNN.com: (» الأكثر... مجانية«) والتي تصدرتها مجموعة Millennium Bug (خلل الألفية) بقيمة 50 دولارًا.[7][8]
برامج الجسر
خوادم التاريخ تستخدم بيانات الاتصال للوصول إلى حقول التاريخ أو إضافتها أو تحديثها.[9][10][11]
أخطاء موثقة
- قبل عام 2000
- في 1 يناير 1999، توقفت عدادات سيارات الأجرة في سنغافورة عن العمل، في حين أعطت سيارات أجرة في السويد أجور غير صحيحة.[12]
- في 28 ديسمبر 1999، توقفت 10,000 ماكينة سحب بطاقات صادرة عن شركة هونغ كونغ وشنغهاي للخدمات المصرفية ومصنعة بواسطة شركة راكال عن معالجة معاملات بطاقات الائتمان وبطاقات المدين. واعتمدت المتاجر على المعاملات الورقية حتى بدأت الآلات في العمل مرة أخرى في 1 يناير.[13][14]
في 1 يناير 2000
عند حلول 1 يناير 2000، حدثت مشاكل اعتبرت بسيطة عمومًا. لم تحدث العواقب دائمًا عند منتصف الليل بالضبط. إذ تكن بعض البرامج نشطة في تلك اللحظة ولم تظهر المشاكل إلا عند استدعاءها. لم تكن جميع المشاكل المسجلة مرتبطة ارتباطًا مباشرًا ببرمجة مشكلة عام 2000 من حيث السببية؛ حدثت أخطاء تكنولوجية طفيفة على أساس منتظم.[15]
شملت المشاكل المبلّغ عنها:
- في أستراليا، فشلت آلات التحقق من صحة تذاكر الحافلات في ولايتين في العمل.[15]
- في إيشيكاوا، اليابان، تعطلت معدات مراقبة الإشعاع في منتصف الليل؛ ولكن، ذكر المسؤولون أنه لا يوجد خطر على العامة.[16]
- في أوناغاوا، اليابان، دق إنذار الخطر في محطة للطاقة النووية بعد دقيقتين من منتصف الليل.[16]
- في اليابان، بعد دقيقتين من منتصف الليل، وجدت شركة الاتصالات السلكية واللاسلكية أوساكا ميديا بورت أخطاء في جزء إدارة التاريخ من شبكة الشركة. أصلحت المشكلة بحلول 02:43 ولم تقطع أي خدمة.[17]
- في اليابان، ذكرت شبكة الاتصالات المتنقلة إن تي تي (إن تي تي دوكومو، أكبر مشغل خلوي في اليابان، أن بعض طرازات الهواتف المحمولة كانت تحذف الرسائل الجديدة المستلمة، بدلًا من الرسائل القديمة، عند امتلاء الذاكرة.[17]
- في فرنسا، قالت الخدمة الوطنية للتنبؤ بالطقس، ميتيو فرانس، إن خلل عام 2000 جعل التاريخ على صفحة ويب يظهر خريطة مع توقعات الطقس ليوم السبت على أنها ليوم «01/01/1900».[15]
- في شيفيلد بالمملكة المتحدة، أرسلت تقييمات مخاطر غير صحيحة لمتلازمة داون إلى 154 امرأة حامل وأجريت عمليتي إجهاض كنتيجة مباشرة لخطأ في تقدير عمر الأمهات. ووُلد أربعة أطفال مصابين بمتلازمة داون لأمهات قيل لهن إنهن في مجموعة منخفضة الخطورة.[18]
- في الولايات المتحدة، حدد المرصد البحري الأمريكي، الذي يدير الساعة الرئيسية التي تحفظ التوقيت الرسمي للبلاد، التاريخ على موقعه على الإنترنت بـ1 يناير 1900.[19]
- في الولايات المتحدة، وكنتيجة مباشرة لخطأ عام 2000، توقفت الحواسيب في منتصف الليل في محطة تحكم أرضية عن معالجة المعلومات من عدد غير محدد من أقمار التجسس الصناعية. نفذ الجيش خطة طوارئ بحلول الساعة 03:00 صباحًا، وأستعاد جميع الوظائف الطبيعية في نحو يومين.[20]
- في الولايات المتحدة، توقفت 150 ماكينة سلوت في يانصيب ديلاوير في راسينو عن العمل.[15]
بعد يناير 2000
في 1 مارس 2000
أبلغ عن مشاكل في 1 مارس 2000، الذي تلا أول يوم سنة كبيسة لمشكلة عام 2000، ولكن كانت معظم هذه المشاكل ثانوية.[21][22]
- في اليابان، فشلت نحو خمسة بالمئة من صرفات مكاتب البريد في العمل.
- في نفس البلد، أتلفت بيانات من حواسيب مكتب الأرصاد الجوية.
- في بلغاريا، أُصدرت وثائق الشرطة مع تواريخ انتهاء في 29 فبراير 2005 و29 فبراير 2010 (وهي ليست سنوات كبيسة) وضبط تاريخ النظام الافتراضي إلى عام 1900.[23]
- في الولايات المتحدة، تضرر نظام معالجة رسائل خفر السواحل.
- في مطار ريغان الوطني، طالت صفوف تسجيل الوصول بعد أن تضررت برامج مناولة الأمتعة.
- في قاعدة أوفوت الجوية جنوب أوماها، نبراسكا، تعذر الوصول إلى سجلات أجزاء صيانة الطائرات.
في 31 ديسمبر 2000 أو 1 يناير 2001
لم تتعرف بعض البرامج بشكل صحيح على عام 2000 باعتباره سنة كبيسة، ولذلك عملت على أساس أنها سنة مؤلفة من 365 يومًا. في اليوم الأخير من عام 2000 (اليوم 366)، عرضت هذه الأنظمة أخطاء مختلفة. وكانت أخطاء طفيفة عمومًا.
- في النرويج، تأخرت بعض القطارات حتى أخرت ساعاتها لمدة شهر.[24]
- أثر «خلل شبيه بمشكلة عام 2000» على نظام لاسلكي تابع لحكومة مدينة نيويورك، الذي تعطل لمدة 10 أيام بسبب مشكلة تغيير التاريخ في نظام تحديد المواقع العالمي. وشملت البنى التحتية المتضررة «إشارات المرور، وأجهزة قراءة لوحات السيارات التي استخدمها رجال الشرطة والوظائف الرئيسية الأخرى».[25][26]
مراجع
- ^ Committee on Government Reform and Oversight (26 أكتوبر 1998). The Year 2000 Problem: Fourth Report by the Committee on Government Reform and Oversight, Together with Additional Views (PDF). U.S. Government Printing Office. ص. 3. مؤرشف من الأصل (PDF) في 2021-07-20. اطلع عليه بتاريخ 2021-06-07.
- ^ Uenuma، Francine (30 ديسمبر 2019). "20 Years Later, the Y2K Bug Seems Like a Joke—Because Those Behind the Scenes Took It Seriously". Time Magazine. مؤرشف من الأصل في 2021-09-30. اطلع عليه بتاريخ 2021-06-07.
- ^ "Leap Day Tuesday Last Y2K Worry". Wired. 25 فبراير 2000. مؤرشف من الأصل في 2021-04-30. اطلع عليه بتاريخ 2016-10-16.
- ^ Carrington، Damian (4 يناير 2000). "Was Y2K bug a boost?". BBC News. مؤرشف من الأصل في 2004-04-22. اطلع عليه بتاريخ 2009-09-19.
- ^ Loeb، Zachary (30 ديسمبر 2019). "The lessons of Y2K, 20 years later". The Washington Post. مؤرشف من الأصل في 2020-12-02. اطلع عليه بتاريخ 2021-06-07.
- ^ Raymond B. Howard. "The Case for Windowing: Techniques That Buy 60 Years". Year/2000 Journal ع. Mar/Apr 1998.
Windowing is a long-term fix that should keep legacy systems working fine until the software is redesigned...
- ^ "Millennium Bug Kit". مؤرشف من الأصل في 2000-10-10.
- ^ Rudy Rupak
- ^ "The Year 2000 FAQ". 5 مايو 1998. مؤرشف من الأصل في 2021-03-08. اطلع عليه بتاريخ 2020-03-01.
- ^ Ellen Friedman؛ Jerry Rosenberg. "Countdown to the Millennium: Issues to Consider in the Final Year" (PDF). مؤرشف من الأصل (PDF) في 2021-08-18.
- ^ Peter Kruskopfs. "The Date Dilemma". Information Builders. مؤرشف من الأصل في 1996-12-27. اطلع عليه بتاريخ 2020-03-15.
Bridge programs such as a date server are another option. These servers handle record format conversions from two to four digit years.
- ^ "Y2K bug rears its ugly head". New York: CNN. 12 يناير 1999. مؤرشف من الأصل في 2021-08-17. اطلع عليه بتاريخ 2019-12-30.
- ^ Millennium bug hits retailers, from بي بي سي نيوز, 29 December 1999. نسخة محفوظة 2017-08-12 على موقع واي باك مشين.
- ^ Presenter: ستيفن فراي (3 أكتوبر 2009). "In the beginning was the nerd". Archive on 4. BBC Radio 4. مؤرشف من الأصل في 2009-10-13.
- ^ ا ب ج د "Minor bug problems arise". BBC News. 1 يناير 2000. مؤرشف من الأصل في 2009-01-11. اطلع عليه بتاريخ 2017-07-08.
- ^ ا ب "Japan nuclear power plants malfunction". BBC News. 31 ديسمبر 1999. مؤرشف من الأصل في 2021-03-22.
- ^ ا ب Martyn Williams (3 يناير 2000). "Computer problems hit three nuclear plants in Japan". CNN. IDG Communications [الإنجليزية]. مؤرشف من الأصل في 2004-12-07.
- ^ Wainwright، Martin (13 سبتمبر 2001). "NHS faces huge damages bill after millennium bug error". The Guardian. UK. مؤرشف من الأصل في 2021-08-18. اطلع عليه بتاريخ 2011-09-25.
The health service is facing big compensation claims after admitting yesterday that failure to spot a millennium bug computer error led to incorrect Down's syndrome test results being sent to 154 pregnant women. ...
- ^ Marsha Walton؛ Miles O'Brien (1 يناير 2000). "Preparation pays off; world reports only tiny Y2K glitches". CNN. مؤرشف من الأصل في 2004-12-07.
- ^ "BBC NEWS | Americas | US satellites safe after Y2K glitch". news.bbc.co.uk. مؤرشف من الأصل في 2021-07-01. اطلع عليه بتاريخ 2021-01-16.
- ^ "Leap Day Had Its Glitches". Wired. 1 مارس 2000. مؤرشف من الأصل في 2021-06-08. اطلع عليه بتاريخ 2020-02-25.
- ^ "HK Leap Year Free of Y2K Glitches". Wired. 29 فبراير 2000. مؤرشف من الأصل في 2021-04-30. اطلع عليه بتاريخ 2016-10-16.
- ^ "Leap Day Had Its Glitches". Wired. 1 مارس 2000. مؤرشف من الأصل في 2021-06-08. اطلع عليه بتاريخ 2016-10-16.
- ^ "The last bite of the bug". BBC News. 5 يناير 2001. مؤرشف من الأصل في 2003-02-03.
- ^ Rich Calder (21 أبريل 2019). "New York's troubled wireless system has become a $900M money pit". نيويورك بوست. مؤرشف من الأصل في 2021-04-30.
- ^ "NYC Wireless Network down due to Y2K-like software bug". نيويورك بوست. مؤرشف من الأصل في 2021-04-30.