مشكلة سنة 2000

مشكلة عام2000(وكما تعرف بـمشكلة Y2K ، خطأ الألفية، خطأ Y2K) (Y2Kproblemبالإنجليزية؛وحرفKرمز كلمةkhilioi«ألف» اليونانية) حدثت مع اقتراب الألفية الثانية عام 2000 حيث كان المبرمجون قد اعتمدوا في إدخال الأرقام إلىالحاسوبفي مجالالبرمجة، على طريقة تخزين أرقام السنة التي تتكون من أربعة أرقام إلى رقمين فقط لتقليل كمية الذاكرة المستهلكة.حيث يتم تمثيل سنة1998إلى98، وسنة1999تم تخزينها علي هيئة99حتى الآن لاتوجد مشكلة فالحاسب يعرف ان 98 تتلوها 99 وتُعْرَض ك1999 ان أردنا ذلك لكن بوصول عام 2000 سيصبح هذين الرقمين هما 00 مما يؤدى إلى كتابتها 1900 فبالإضافة إلى حدوث تعارض مع أي ادخال حقيقى ل1900 فان ذلك سيسبب مشكلة حقيقية مع الأنظمة المُمَيكنة التي تقوم بالعد والإحصاء (كحواسيب المصانع والمستشفيات والحكومة) حيث أن 00 ليس الرقم التالى في العدّ لتسعة وتسعين.
في عام 1997، طوّر معهد المعايير البريطاني (BSI) معيار DISC PD2000-1، والذي يحدد \ «متطلبات المطابقة لسنة 2000 \» كأربع قواعد:
أدرك الجمهور تدريجيًا «ذعر عام 2000»، في السنوات التي سبقت بداية القرن الحادي والعشرين، توقعت الشركات الفردية أن الضرر العالمي الناجم عن الخطأ سيكلف ما بين 400 مليون دولار و600 مليار دولار لإصلاحه. أدى عدم وضوح المخاطر المحتملة لهذا الخطأ إلى تخزين البعض الطعام والماء والأسلحة، وشراء مولدات احتياطية، وسحب مبالغ مالية كبيرة تحسبًا لنهاية العالم الناجمة عن الحاسوب.
على عكس التوقعات العامة، حدثت أخطاء كبيرة قليلة فعليًا في عام 2000، ويرجع ذلك أساسًا إلى الإجراءات الوقائية التي اتخذها العديد من مبرمجي الحاسوب وخبراء تكنولوجيا المعلومات. فحصت الشركات والمؤسسات في بعض البلدان، ولكن ليس كلها، أنظمة الحواسيب وأصلحتها وحدثتها لمعالجة المشكلة. وصف رئيس الولايات المتحدةبيل كلينتون، الذي نظم جهودًا لتقليل الضرر في الولايات المتحدة، عام 2000 بأنه «التحدي الأول للقرن الحادي والعشرين الذي جرت مواجهته بنجاح»، وكان يثني عادةً على المبرمجين الذين عملوا على تجنب الكارثة المتوقعة عند استرجاع الحدث.
تُعزى أسباب المشكلة إلى أمرين هما:
عدد الأجهزة الحاسوبية التي فشلت بالرغم من الاجراءات الإصلاحية لحل هذه المشكلة عندما انقلبت الساعات عام 2000 غير معروف؛ ويُعزى ذلك إلى تحفظ المنظمات على الإبلاغ بوجود المشكلة في أنظمتها. وتتواجد أدلة على أن هناك فشل في التأريخ لمصرف واحد على الأقل متعلّق بمشكلة بY2K.
استُخدمت أساليب عديدة مختلفة لحل مشكلة عام 2000 في النظم القديمة. فيما يلي ستة منها:
توسيع التاريخ
وسعت السنوات المكونة من رقمين لتشمل القرن (أصبحت مكونة من أربعة أرقام) في البرامج والملفات وقواعد البيانات. اعتبر هذا الحل «الأنقى» ونتج عنه تواريخ دقيقة ودائمة وسهلة الصيانة. ولكن، كانت هذه الطريقة مكلفة، وتتطلب جهودًا هائلة للاختبار والتحويل، وأثرت غالبًا على كامل الأنظمة.
إنشاء نوافذ التاريخ
احتفظ بالسنوات المكونة من رقمين، وحددت البرامج قيمة القرن فقط عند الحاجة إلى وظائف معينة، مثل مقارنات التواريخ والحسابات. (تشير «نافذة» القرن إلى فترة المئة عام التي ينتمي إليها التاريخ.) كانت هذه التقنية، التي تطلبت تثبيت تصحيحات صغيرة من التعليمات البرمجية في البرامج، أسهل في الاختبار والتنفيذ من توسيع التاريخ، وبالتالي أقل تكلفة بكثير. ورغم أنها ليست حلًا دائمًا، فقد صممت إصلاحات إنشاء النوافذ غالبًا للعمل لعدة عقود. اعتقد أن هذا مقبول، إذ ستسبتدل الأنظمة القديمة في النهاية بتكنولوجيا أحدث.
ضغط التاريخ
يمكن ضغط التواريخ إلى أرقام ثنائية مكونة من 14 بت. يسمح هذا بالاحتفاظ بتنسيق بنية البيانات، باستخدام عدد صحيح للسنوات. يمكن لهذة الإجرائية تمثيل 16384 سنة مختلفة؛ تختلف الإجرائية الصحيحة حسب اختيار الحقبة.
إعادة تقسيم التاريخ
حولت أكواد السنة/ الشهر/ اليوم المكونة من ستة أرقام في قواعد البيانات القديمة، التي لم يكن ممكنًا تغيير حجمها اقتصاديًا، إلى أكواد من ثلاثة أرقام للسنوات (مثلت 1999 بـ099 و2001 بـ101) وثلاثة أرقام للأيام (التاريخ الترتيبي في العام). لزم تعديل تعليمات الإدخال والإخراج لحقول التاريخ فقط، ولكن لم تتطلب معظم عمليات التاريخ الأخرى وكامل عمليات السجل أي تغيير. أدى هذا إلى تأخير مشكلة التمديد النهائي حتى نهاية عام 2899.
مجموعات البرمجيات
مجموعات البرامجيات، مثل المدرجة في قائمةأفضل 10 إصلاحات لمشكلة عام 2000 لحاسوبكعلى موقع CNN.com: (» الأكثر... مجانية«) والتي تصدرتها مجموعة Millennium Bug  (خلل الألفية) بقيمة 50 دولارًا.
برامج الجسر
خوادم التاريخ تستخدم بيانات الاتصال للوصول إلى حقول التاريخ أو إضافتها أو تحديثها.
عند حلول 1 يناير 2000، حدثت مشاكل اعتبرت بسيطة عمومًا. لم تحدث العواقب دائمًا عند منتصف الليل بالضبط. إذ تكن بعض البرامج نشطة في تلك اللحظة ولم تظهر المشاكل إلا عند استدعاءها. لم تكن جميع المشاكل المسجلة مرتبطة ارتباطًا مباشرًا ببرمجة مشكلة عام 2000 من حيث السببية؛ حدثت أخطاء تكنولوجية طفيفة على أساس منتظم.
شملت المشاكل المبلّغ عنها:
في 1 مارس 2000
أبلغ عن مشاكل في 1 مارس 2000، الذي تلا أول يوم سنة كبيسة لمشكلة عام 2000، ولكن كانت معظم هذه المشاكل ثانوية.
لم تتعرف بعض البرامج بشكل صحيح على عام 2000 باعتباره سنة كبيسة، ولذلك عملت على أساس أنها سنة مؤلفة من 365 يومًا. في اليوم الأخير من عام 2000 (اليوم 366)، عرضت هذه الأنظمة أخطاء مختلفة. وكانت أخطاء طفيفة عمومًا.