الكاتب: SectoJoy

  • لماذا لا يزال عصر يونكس يشغل عالمنا الرقمي

    تخيل هذا: في كل مرة ترسل رسالة، تتحقق من تقويمك، أو تسجل دخولك إلى نظام ما، فأنت تتفاعل مع ساعة بدأت تعمل في الأول من يناير عام 1970. نعم—العالم الرقمي يعمل على خط زمني بدأ قبل أكثر من نصف قرن. تُعرف هذه اللحظة الزمنية باسم عصر يونكس، وهي التي تشغل بصمت كل شيء من الهواتف الذكية إلى الأقمار الصناعية.

    لكن ما هو بالضبط عصر يونكس؟ ولماذا هو مهم؟ وكيف أصبح شيء تقني هكذا شائع؟

    دعونا نفك شفرة هذه النبضة الخفية لعصرنا الرقمي.

    ما هو عصر يونكس؟

    التعريف والأصل

    يشير عصر يونكس إلى 00:00:00 بالتوقيت العالمي المنسق (UTC) في الأول من يناير 1970—النقطة التي يبدأ عندها الزمن لأغلب أنظمة الحاسوب التي تستخدم يونكس أو أنظمة شبيهة بيونكس (مثل لينكس وmacOS). في هذه الأنظمة، يُقاس الزمن بعدد الثواني منذ هذه اللحظة.

    يُسمى هذا النظام الزمني وقت يونكس أو وقت POSIX، ويتم تخزينه كعدد صحيح يمثل عدد الثواني المنقضية منذ العصر. لا شهور. لا سنوات. فقط ثوانٍ خام.

    لماذا 1 يناير 1970؟

    لم يُختَر هذا التاريخ عشوائياً. كان مبرمجو يونكس في مختبرات بيل بحاجة لنقطة مرجعية بسيطة—”صفر” لساعاتهم الرقمية. اختاروا تاريخاً كان:

    • ملائماً (بداية عقد)
    • ليس بعيداً جداً في الماضي (لتوفير الذاكرة)
    • بعد أحداث تاريخية كبرى مثل الحرب العالمية الثانية
    • قبل انتشار الحواسيب على نطاق واسع

    كان اختياراً عملياً—ليس رمزياً.

    سوء الفهم الشائع: ليست مقتصرة على UNIX فقط

    يعتقد الكثيرون أن هذه الطريقة تستخدم فقط في أنظمة UNIX التقليدية—لكن هذا فكر قديم. اليوم، تُستخدم طوابع زمن عصر يونكس في جميع المنصات الحديثة تقريباً، بما في ذلك ويندوز (عبر طبقات التوافق)، قواعد البيانات مثل MySQL وPostgreSQL، لغات البرمجة مثل بايثون وجافا سكريبت وجو—وحتى سجلات البلوكشين.

    كيف يعمل وقت يونكس؟

    عد الثواني—ببساطة

    في جوهره، يعد وقت يونكس كل ثانية منذ 1 يناير 1970 UTC (باستثناء الثواني الكبيسة). على سبيل المثال:

    • 0 = 1 يناير 1970
    • 86400 = 2 يناير 1970
    • 1609459200 = 1 يناير 2021

    يجعل هذا العمليات الحسابية سريعة والتخزين فعالاً—مثالي للآلات.

    تخزين عدد صحيح موقع ومشكلة عام 2038

    معظم الأنظمة تخزن وقت يونكس كـ عدد صحيح موقع 32-بت. هذا يعني أنه يمكنه تمثيل القيم من -2^31 إلى +2^31 -1:

    • القيمة القصوى: 2147483647
    • تعادل: 19 يناير 2038 عند 03:14:07 UTC

    ماذا بعد ذلك؟ سيعود إلى أرقام سالبة—وهي مشكلة تُعرف باسم مشكلة عام 2038، تشبه مشكلة Y2K لكنها أكثر تقنية.

    الأنظمة الحديثة تستخدم الآن أعداد صحيحة 64-بت، مما يدفع الحد بعيداً إلى مليارات السنين في المستقبل—لكن البرامج القديمة ما زالت تشكل خطراً.

    الثواني الكبيسة مهملة

    بعكس الساعات الذرية أو أنظمة GPS التي تأخذ في الاعتبار دوران الأرض غير المنتظم بإضافة ثوانٍ كبيسة أحياناً—يُهمل وقت يونكس ذلك. يفترض أن كل يوم يحتوي على بالضبط 86400 ثانية.

    لماذا؟ البساطة تتفوق على الدقة في معظم التطبيقات.

    تطبيقات وقت العصر في الحياة الواقعية

    التكنولوجيا اليومية التي تستخدمها الآن

    من منشورات وسائل التواصل الاجتماعي إلى العمليات البنكية—توجد الطوابع الزمنية في كل مكان:

    • سجلات مكالمات هاتفك
    • تواريخ إنشاء/تعديل الملفات
    • أوقات انتهاء صلاحية كوكيز الويب
    • سجلات المعاملات في البلوكشين
    • سجلات الخوادم وتقارير الأخطاء
    • جدولة المهام عبر cron في خوادم لينكس

    كلها تعتمد على طوابع زمنية باساس العصر—حتى لو لم ترها مباشرة.

    دراسة حالة: تصحيح أخطاء تعطل الخادم باستخدام الطوابع الزمنية

    في حادثة بارزة تتعلق بتوقف منصة تجارة إلكترونية خلال ذروة مبيعات الجمعة السوداء—تمكنت فرقة من تعقب الأنماط الشاذة باستخدام سجلات الخادم الموسومة بطوابع زمنية خام مثل 1704067200.

    بعد تحويلها إلى صيغة قابلة للقراءة (31 ديسمبر 2023)، حددوا دورات تحديث ذاكرة التخزين المؤقت المهيأة بشكل خاطئ المرتبطة بأخطاء منطق نهاية السنة—مما أنقذ ملايين من خسائر الإيرادات المحتملة خلال ساعات.

    طوابع الزمن ليست مجرد تفاصيل تقنية—إنها أدوات حاسمة عند وقوع الأزمات.

    مستقبل تت