توقيت يونكس

نظام لتحديد اللحظات ضمن الوقت، وهو عدد الثواني التي انقضت منذ 1 يناير 1970
توقيت يونكس الحالي
1733990380 (تحديث)
(2024-12-12T07:59:40+00:00)

توقيت يونيكس (والمعروف أيضاً بتوقيت بوزيكس) هو نظام لتحديد اللحظات ضمن الوقت، ويعرف على أنه عدد الثواني التي انقضت منذ بداية التوقيت العالمي المنسق 00.00.00 في يوم الخميس 1 يناير 1970.[1] أي أن هذا التوقيت يبدأ منذ تلك اللحظة وبالتالي فهو سالباً قبل 1 يناير 1970.

توقيت يونيكس وقد تجاوز 1,000,000,000 ثانية بتاريخ 2001-09-09T01:46:40Z، تم الاحتفال بذلك في كوبنهاغن، الدنيمارك في حفلة أقامها DKUUG في 03:46:40 حسب توقيت دينمارك المحلي

لايتم احتساب الثواني الكبيسة في هذا التوقيت.[2] يستخدم هذا التوقيت بشكل شائع في الأنظمة الشبيهة بيونيكس وأنظمة تشغيل عديدة أخرى وكذلك في صيغ الملفات. ولأنه لا يحتسب الثواني الكبيسة، فهو ليس تمثيل خطي للوقت وكذلك ليس تمثيلاً صحيحاً للتوقيت العالمي المنسق (UTC).

يمكن فحص توقيت يونكس في معظم أنظمة يونكس وذلك بكتابة الأمر date +%s في موجِّه سطر الأوامر. وسيكون الناتج مشابه للشكل التالي:

1733990380 (ISO 8601: 2024-12-12T07:59:40+00:00)

لمحة عامة

عدل

ورثت الأنظمة الشبيهة بنظام يونيكس ميزاته وعيوبه، وصارت وكأنها نسخ من يونيكس وليست شبيهة به. إحدى المشاكل التي تواجهها هي مشكلة العام 2038.

المشكلة في يونيكس والعلة المرتبطة به هو استخدام العدد الصحيح الطويل ذو الإشارة، وكان من الأفضل استخدام العدد الصحيح الطويل بلا إشارة، لذلك فإن أنظمة 32 بت تخزن عدد الثواني في 31 خانة ثنائية والخانة الأخيرة للإشارة، والأفضل استغلال خانة الإشارة كخانة عددية. أقصى عدد من الثواني يمكن لأنظمة 32 بت أن تصله هو 2 مرفوع لأس 31 ويساوي 2147483648 ثانية وهو ما يساوي تقريباً 69 سنة ولو استغلت الخانة 32 لوصل توقيت يونيكس 136 سنة بعد 1 يناير 1970.

في تاريخ 19 يناير 2038، سيرجع التاريخ 13 ديسمبر 1901 ، وسبب الرجوع 137 سنة هو الإشارة السالبة التي تمثل بالرقم 1 في خانة الإشارة .

إن الحل الوحيد لأنظمة يونيكس هو الانتقال الكلي لأنظمة 64 بت وهو ما يتيح وقت يصل لملايين السنين وهو ما يساوي عدد من الثواني 2 أس 63 .

المراجع

عدل