السبت، 22 يونيو 2013

مشكلة العام 2038

بسم الله الرحمن الرحيم


  • ما هي مشكلة العام 2038 ؟

التاريخ الذي يتم عرضه في أنظمة التشغيل التي هو عبارة عن عدد الثواني منذ التاريخ 1 يناير 1970 , و يتم أستخدام رقم ثنائي بطول 32 بت يمثل عدد عشري مع الأشارة (singed number ) , و المشكلة بأن قدرة هذه العدد الثنائي على تمثيل الأعداد العشرية محدودة و سوف يصل إلى القيمة القصوى له بتاريخ 19 يناير 2038 .


هذه الصورة تمثل ماذا سيحصل في تاريخ 19 يناير 2038 , حيث أن العدد الثنائي سوف يعرض قيمة سالبة لعدد الثواني مما يؤدي لحدوث خطأ في النظام و من الممكن توقف النظام .

  • الحل 
عرض المبرمجون العديد من الحلول المختلفة للمشكلة مثل :

  1. استخدام عدد بدون الأشارة (unsigned number) مما يسمح للرقم بتمثل الأعداد الموجبة فقط , كما سيسمح بمثل مدى أقصى للأعداد .
  2. أستخدام عدد ثنائي بطول 64 بت بدل العدد الثنائي المستخدم في الأنظمة الحالية .

هناك تعليقان (2):