في عام 2038.. خطأ يمكن أن يؤدي إلى حدوث أعطال في الحاسوب

أثار خلل حدث في عام 2000 دون أن يؤدي إلى كارثة كانت متوقعة قلق علماء تكنولوجيا المعلومات. مع ذلك، من المرجح أن تظهر أوجه قصور جديدة بسبب طريقة تخزين أنظمة التشغيل الحالية للوقت.

وقال الخبير دينيس ديلبيك، في تقرير  نشرته صحيفة "لوتون" (le temps) السويسرية، إنه لا شك أن الجميع سيكونون نيامًا عند الساعة  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.

هذا يعني أنها ليست في مأمن من المشاكل، كما حدث مع نظام إدارة أزرار الاتصال في غرف العديد من المستشفيات السويسرية التي تعطلت في 1 جانفي 2019، مما كتم أصوات جميع الأجراس.

تم تفادي المشكلة بسرعة، تماما مثلما حدث مع هواتف آيفون4 في الولايات المتحدة في شتاء 2010، ما أدى إلى تأخير رنين الإنذار لمدة ساعة. وفي الأول من جانفي من ذلك العام، تسبب خطأ في حظر أكثر من 20 مليون بطاقة دفع في ألمانيا لعدة أيام.

 

تكنولوجيا