مشكلة العام 2038، كيف كان سينتهي العالم ؟
كيف كان سينتهي العالم في العام 2038؟!
![]() |
مشكلة العام 2038، كيف كان سينتهي العالم ؟ |
كان من الممكن أن ينتهي العالم في العام 2038، أو بالأحرى بالنسبة للحواسيب. في نقطة ما من ذلك العام، كانت ساعات الأجهزة ستبدأ العد مرةً أخرى من 1900، مسببة إنهيار الأنظمة بشكل كامل. مشاكل مماثلة لما رأيناه من قبل مع مشكلة العام 2000، او الـ Y2K. فما هي تلك المشكلة؟ وكيف تم التغلب عليها؟
علينا في الأول فهم كيف يتعامل الحاسوب مع الوقت، والطريقة الرئيسية هي الـ epoch، او وضع نقطة بداية للزمن يعد من وقتها الثواني، ويكون عدد الثواني منذ ذلك الوقت هو الـ timestamp. حاليًا الـ epoch المعتمد هو منذ منتصف الليل، 1 يناير 1970، وهو الـ epoch الخاص بنظام التشغيل يونيكس والذي اعتمدته كذلك الأنظمة التي تبعته. والـ timestamp لثانية كتابة هذا المقال هي 1632333097، وهو عدد الثواني من ذلك التاريخ.
العدد الذي رأيتموه بالأعلى تستخدمه أنظمة التشغيل لحساب الوقت وإجراء العمليات الحسابية عليه وتحويله للصيغ المختلفة وغيرها، ويتم تخزينه بشكل 32 بت، وهنا تأتي المشكلة! فبعد 19 يناير 1938 عدد الثواني سيكون أكبر من أن تخزنه بـ 32 بت فقط، مما سيتسبب في خلل يجعل الأنظمة تبدأ العد من الثالث عشر من ديسمبر 1901! إذًا وما العمل؟!
المشكلة تم تلافيها بالفعل، فمعظم المعالجات التي تعمل بـ 64 بت حاليًا تقوم بتخزين الوقت على شكل 64 بت، مما يجعلنا في معزل عن تلك المشكلة قبل 292 مليار سنة من الآن -يذكر أن عمر الكون هو 14 مليار سنة فقط-. ومثل ما تم مع مشكلة الـ Y2K والتي مرت بسلام، فكل الأنظمة الآن تم تحديثها لكي تتفادى تلك المشكلة، أو بالأحرى بعض الأنظمة التي قد تتأثر ستنقرض بحلول ذلك الوقت. الحمدلله أتت سليمة!