ما هو وقت يونكس؟
وقت يونكس (المعروف أيضًا باسم وقت الحقبة، وقت POSIX، أو الطابع الزمني لوينكس) هو نظام لوصف نقطة زمنية. هو عدد الثواني التي مرت منذ حقبة يونكس، والتي تُعرف بأنها 00:00:00 UTC يوم الخميس، 1 يناير 1970. يُستخدم على نطاق واسع في أنظمة التشغيل المشابهة ليونكس والعديد من أنظمة الحوسبة الأخرى.
الميزة الرئيسية لوقت يونكس هي بساطته. فهو يمثل الوقت كعدد صحيح واحد، مفهوم عالميًا، يزيد باستمرار. هذا يجعل من السهل جدًا تخزينه، مقارنته، وإجراء حسابات عليه بدون القلق بشأن المناطق الزمنية، التوقيت الصيفي، أو أنظمة التقويم المختلفة. على سبيل المثال، لحساب مدة بين حدثين، ببساطة تطرح طوابعهما الزمنية لوينكس.
بينما يكون هذا الرقم الخام مثاليًا للحواسيب، إلا أنه ليس ودودًا جدًا للبشر. لسد هذه الفجوة، يستخدم المطورون وعشاق التقنية أداة تسمى محول الحقبة. يمكنك استخدامها لتحويل أي طابع زمني إلى تاريخ مقروء للبشر، أو العكس بالعثور على الطابع الزمني لتاريخ معين.
مشكلة عام 2038
مشكلة معروفة تتعلق بوقت يونكس هي "مشكلة عام 2038". وهي مشابهة لمشكلة Y2K. تم تصميم العديد من أنظمة الحاسوب المبكرة لتخزين الطابع الزمني لوينكس كـ عدد صحيح 32 بت موقع. يمكن لعدد صحيح 32 بت موقع أن يمثل قيمًا من -2,147,483,648 إلى 2,147,483,647.
القيمة القصوى، 2,147,483,647
، ستصل عند 03:14:07 UTC في 19 يناير 2038. عند الثانية التالية، سيتجاوز العدد الصحيح ويدور إلى أدنى قيمة له، والتي ستُفسر بواسطة الأنظمة كتاريخ في عام 1901. هذا قد يسبب فشل واسع النطاق في البرامج القديمة التي تعتمد على تمثيلات الوقت ذات 32 بت.
الحل هو استخدام عدد صحيح 64 بت لتخزين الطابع الزمني. عدد صحيح 64 بت لديه قيمة قصوى كبيرة جدًا بحيث لن يتجاوز خلال حوالي 292 مليار سنة، مما يحل المشكلة بشكل فعال للمستقبل المنظور. لقد انتقلت معظم أنظمة التشغيل والبرامج الحديثة بالفعل إلى تمثيلات الوقت ذات 64 بت.
الثواني الكبيسة ووقت يونكس
تفصيل تقني مهم هو أن وقت يونكس لا يأخذ في الاعتبار الثواني الكبيسة. بينما يضيف UTC (التوقيت العالمي المنسق) أحيانًا ثانية كبيسة للحفاظ على تزامن ساعاتنا مع دوران الأرض، يتجاهل طابع وقت يونكس ذلك ويستمر في العد بشكل خطي.
هذا يعني أن وقت يونكس ليس تمثيلًا دقيقًا لـ UTC. بدلاً من ذلك، يُوصف بشكل أدق بأنه عد خطي للثواني. عندما تحدث ثانية كبيسة، أحيانًا يكرر وقت يونكس ثانية للحفاظ على التزامن. هذه الفروق الدقيقة مهمة للتطبيقات العلمية وعالية الدقة، ولكن بالنسبة لمعظم الحوسبة العامة، فإن الفرق ضئيل.
الاستخدامات الشائعة لوقت يونكس
- طوابع زمنية للملفات: تستخدم أنظمة التشغيل طوابع زمنية لوينكس لتتبع متى تم إنشاء الملفات أو تعديلها أو الوصول إليها آخر مرة.
-
قواعد البيانات:
إنها طريقة شائعة وفعالة لتخزين معلومات التاريخ والوقت للسجلات (مثل
created_at
،updated_at
). - واجهات برمجة التطبيقات وتطوير الويب: تستخدم لانتهاء صلاحية الجلسات، التحكم في التخزين المؤقت، وتسجيل طلبات API.
- البرمجة: تقريبًا كل لغة برمجة توفر وظائف للحصول على الطابع الزمني لوينكس الحالي وتحويله إلى ومن تنسيقات التاريخ المقروءة للبشر.