في عام 2038.. خطأ كبير سيكشف هشاشة تكنولوجيا المعلومات
أثار خلل حدث في عام 2000 دون أن يؤدي إلى كارثة كانت متوقعة قلق علماء تكنولوجيا المعلومات. مع ذلك، من المرجح أن تظهر أوجه قصور جديدة بسبب طريقة تخزين أنظمة التشغيل الحالية للوقت.
وقال دينيس ديلبيك، في تقرير نشرته صحيفة “لوتون” (letemps) السويسرية، إنه لا شك أن الجميع سيكونون نيامًا عند الساعة 03:14:07 من يوم 19 يناير من عام 2038، وفقاً لـ «الجزيرة نت».
لكن تجاوز هذا التاريخ والوقت يمكن أن يؤدي إلى حدوث أعطال في الحاسوب، وسيكون ذلك بسبب صعوبة تمثيل الوقت بشكل صحيح في ذاكرة الحواسيب والملفات، أو نتيجة الاستهتار الذي ساد منذ فترة طويلة في مجال الحوسبة، والذي كانت “مشكلة عام 2000” الشهيرة شاهدة عليه.
خلل أم مشكلة برمجة؟
يقول جيرارد بيري -المهندس عالم الحاسوب الفرنسي الأستاذ الفخري في مؤسسة كوليج دو فرانس- “لم يكن ذلك خللا بل مشكلة في البرمجة، حيث لم يتوقع أحد أن البرامج ستستمر لعقود”.
كانت مدخلات السنة في برامج الحواسيب تتكون من رقمين بدلا من 4 أرقام للتقليل من مساحة الذاكرة المستخدمة. ولكن في مطلع يناير من عام 2000، وبما أن أجهزة الحاسوب كانت غير مبرمجة على إظهار السنة كاملة، عادت خانة السنة إلى الصفر -من عام 99 إلى 00- وهو خلل عرّض العالم لخطر كارثة اقتصادية لم يسبق لها مثيل.
وقد تطلب تصحيح هذه المشكلة استثمارات بشرية ومالية هائلة، فقد أنفقت الولايات المتحدة، مثلا، حوالي 100 مليار دولار لمنع وتخطي مشكلة عام 2000.
تاريخ محدد
يمكن أن تحدث مشكلة مماثلة بعد 38 عامًا، من المشكلة الأولى، ولكن على نطاق ضيق، وسوف يتعلق الأمر مرة أخرى بكيفية تخزين أنظمة التشغيل والبرامج للوقت.
إن الترميز أكثر دقة مما كان عليه في القرن الماضي، ولكن ذلك لا ينفي إمكانية حدوث مشكلة من هذا النوع، حيث يتم تمثيل الوقت بعدد الثواني المنقضية منذ تاريخ محدد وهو الأول من يناير 1970 عند الساعة 00:00:00 بالتوقيت العالمي.
ولتكون الأرقام العشرية دقيقة، يتم استخدام أرقام كاملة، حجمها محدود، غالبا ما تم ترميزها على 32 بتا (Bit)، والتي تبدو أكثر من كافية. ويمثل أول رمز من 32 علامة ناقص للتواريخ قبل هذا التاريخ، وعلامة زائد للتواريخ التي تكون بعده، بينما تحدد الرموز 31 المتبقية الثواني.
ولكن المشكلة أنه في هذا التاريخ لن يكفي ترميز 32 بتا، لاستيعاب عدد الثواني الكلي، وبهذا يمكن أن يشهد العالم رجوع عقارب الساعة للوراء وتحديدا لتاريخ 1901.
لتجنب هذه المعضلة، يكفي ترميز التاريخ على 64 بتا، وهو معيار مكونات الحاسوب في الوقت الحالي، ليتم تأجيل تاريخ انتهاء صلاحية الساعة إلى الوراء بأكثر من 292 مليار سنة، أي حوالي 20 ضعفا لعمر الكون.
ولتبسيط المسألة تخيل أن هناك عداد ثوان يحتوي على 32 وحدة، كل وحدة يتم فيها تخزين ثانية -ماعدا الوحدة الأولى التي يتم تخزين إشارة زائد أو ناقص- وتم تصفير العداد في عام 1970 ومنذ ذلك التاريخ يقوم العداد بالتزايد بشكل تلقائي لحساب الثواني، ولكن في عام 2038 سيصل العداد لذروته ولن تستطيع وحداته استيعاب المزيد من الثواني، وهو بحاجة لزيادة هذه الوحدات ليستمر بالعمل وإلا سوف يقوم تلقائيا بتصفير العداد حتى يتمكن من العمل من جديد وبهذا سيعود العداد لعام 1901.
وقد تم تصحيح هذا الخطأ في أنظمة التشغيل الأكثر شيوعًا، مثل “يونكس” (Unix) و”لينكس” (Lunix) و”ويندوز” (Windows) و”ماك أو إس” (Mac OS)، حيث تم استخدام ترميز 64، ولكن في بعض البرامج، مثل قواعد بيانات “ماي إس كيو إل” (Mysql)، ظل التاريخ مشفرًا على 32 بتا.
وينطبق الأمر ذاته على الإصدارات القديمة من أنظمة التشغيل، والعديد من أجهزة الحاسوب المدمجة في جميع أنواع الأنظمة التي يصعب تحديثها.
هذا يعني أنها ليست في مأمن من المشاكل، كما حدث مع نظام إدارة أزرار الاتصال في غرف العديد من المستشفيات السويسرية التي تعطلت في 1 يناير 2019، مما كتم أصوات جميع الأجراس.
تم تفادي المشكلة بسرعة، تماما مثلما حدث مع هواتف آيفون4 في الولايات المتحدة في شتاء 2010، ما أدى إلى تأخير رنين الإنذار لمدة ساعة. وفي الأول من يناير من ذلك العام، تسبب خطأ في حظر أكثر من 20 مليون بطاقة دفع في ألمانيا لعدة أيام.
فقدان السيطرة
وحذّر بيري من أن عواقب سوء إدارة الوقت يمكن أن تكون مأساوية. ففي الظهران، في فبراير 1991، فشل صاروخ باتريوت أميركي في اعتراض صاروخ سكود عراقي، مما أدى إلى مقتل 28 جنديا وجرح 98 آخرين. ويعزى ذلك إلى وجود خلل في إدارة وقت باتريوت الذي تطلب إعادة تشغيل جهاز الحاسوب الخاص بالطائرة كل 4 ساعات.
أشار الكاتب إلى حادثة أخرى وقعت في فبراير 2007، تمثلت في فقدان السيطرة على 8 طائرات مقاتلة من طراز لوكهيد مارتن “إف 22 رابتور” (F-22 Raptor) الشبح من سلاح الجو الأميركي أثناء عبور خط تغيير التاريخ الدولي غرب هاواي لتوقف أنظمتها الحيوية عن العمل، وهو ما أظهر مدى ضعف هذه الأنظمة.
وأكد بيري أن إدارة الوقت أصبحت أكثر تعقيدًا مع المعالجات الدقيقة الحديثة، حيث كان من السهل قبل 20 أو 30 عامًا التنبؤ بالوقت الذي سيستغرقه تنفيذ البرنامج. أما اليوم -وفي ظل القيام بالعديد من التعديلات التي تحدث بشكل مستقل داخل الرقائق- فيعد إنجاز هذا عسيرا وعظيما.