مشكلة سنة 2038

بدايةً، معضلة عام 2038 (المعروفة كذلك باسم Y2038 ، Y2K38 ، أو ايبوكلابيس) هو خطأ برمجي في تنسيق الوقت في أنظمة الكمبيوتر ذات معمارية 32 بت عند محاولتها تمثيل الوقت بعد الساعة 03:14:07 بالتوقيت العالمي المنسق في الـ19 يناير 2038. وفيما يلي تفاصيل أوسع عن ذلك.
التبعيات
ومن جهة أخرى، قد تواجه أنظمة الكمبيوتر التي تستعمل نظام توقيت يونكس في العمليات الهامة أخطاء فادحة إذا لم يتم حل معضلة Y2038 مبكرًا. وقد حدث أن واجهت بعض الأنظمة التي تستعمل التواريخ اللاحقة الأخطاء بالفعل. أكثر الأنظمة عرضة للأخطاء هي تلك التي نادرًا ما يتم تحديثها أو لا يتم تحديثها أبدًا، مثل الأنظمة القديمة أو المدمجة. لا يوجد حل شامل لهذه المشكلة، و لكن تم بالفعل تحديث الكثير من الأنظمة الحديثة لقياس وقت يونكس بأعداد صحيحة حسب معمارية 64 بت والتي لن يحدث بها تجاوز للسعة حتى 292 مليار سنة
معضلة عام 2000
انظر كذلك
السبب
ومن ناحية أخرى، تقيس الكثير من أنظمة الكمبيوتر الوقت والتاريخ على أنه وقت يونكس، وهو معيار دولي لعرض الوقت رقميًا في الأنظمة الحاسوبية. يُعَرَّف وقت يونكس على أنه عدد الثواني المنقضية منذ منتصف الليل (00:00:00) بالتوقيت العالمي المنسق منذ 1 يناير 1970 (أُخْتِير هذا الوقت عشوائيًا من قبل المبرمجين)، وأطلق على هذا الوقت اسم عصر يونكس.
ومن ناحية أخرى، تم ترميز وقت يونكس تاريخيًا باعتباره عددًا صحيحًا بإشارة ذو حجم 32 بت (اسم آخر: عدد صحيح بإشارة 32 بت )، وهو نوع بيانات يتكون من 32 رقمًا ثنائيًا (بت) والتي تمثل قيمة عدد صحيح، حيث تعني كلمة «بإشارة» أن هناك بت واحدة محجوزة لإشارة الموجب أو السالب (+/-). وبالتالي، يمكن أن يُمثَّل قيمًا صحيحة فقط من سالب 231 إلى موجب 1 -231 ضمناً. وبالتالي، إذا اُسْتُخْدِم عدد صحيح 32 بت بإشارة لتخزين وقت يونكس، فإن آخر وقت يمكن تخزينه هو 1 -231 الذي يساوي 2,147,483,647 ثانية بعد عصر يونكس، والذي يكون الساعة 03:14:07 UTC في الـ19 يناير 2038. الأنظمة التي تحاول زيادة هذه القيمة بمقدار ثانية واحدة لتصل إلى 231 ثانية بعد عصر يونكس (03:14:08) ستعاني من تجاوز عدد صحيح، مما يؤدي عن غير قصد إلى قلب بت الإشارة إلى سالب. يؤدي هذا إلى تغيير قيمة العدد الصحيح إلى سالب 231 ، أي 231 ثانية قبل عصر يونكس وليس بعده ، والتي ستفسرها الأنظمة على أنها الساعة 20:45:52 يوم الجمعة، 13 ديسمبر 1901. من هنا، ستستمر الأنظمة في العد التصاعدي، باتجاه الصفر (أي باتجاه عصر يونكس)، ثم لأعلى خلال الأعداد الصحيحة الموجبة مرة أخرى. نظرًا لأن الكثير من أنظمة الكمبيوتر تستعمل حسابات الوقت لعمل وظائف مهمة، فقد تؤدي المعضلة إلى حدوث أخطاء فادحة.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟