ثبت بازخورد

لطفا میزان رضایت خود را از دیجیاتو انتخاب کنید.

واقعا راضی‌ام
اصلا راضی نیستم
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

از اینکه ما را در توسعه بهتر و هدفمند‌تر دیجیاتو همراهی می‌کنید
از شما سپاسگزاریم.

تکنولوژی

چه مشکلی در سال ۲۰۳۸ انتظارمان را می کشد؟

احتمالاً بسیاری از شما مشکلی که برای سال ۲۰۰۰ پیش بینی میشد را به یاد دارید. مشکلی که تصور میشد بخاطر بازگشت دو رقم سال میلادی در سال ۲۰۰۰ به ۰۰ ایرادات منطقی به وجود ...

امیر صادقپور
نوشته شده توسط امیر صادقپور | ۱۶ تیر ۱۳۹۳ | ۱۷:۳۰

احتمالاً بسیاری از شما مشکلی که برای سال ۲۰۰۰ پیش بینی میشد را به یاد دارید. مشکلی که تصور میشد بخاطر بازگشت دو رقم سال میلادی در سال ۲۰۰۰ به ۰۰ ایرادات منطقی به وجود آمده و موجب اختلال در شبکه های کامپیوتری شود. اما خوشبختانه کامپیوترها در آن سال آنقدر باهوش نبودند که چنین مشکلی پدیدار شود.

اما وضع ممکن است در مورد سال ۲۰۳۸ اندکی متفاوت باشد. همانطور که میدانید بسیاری از برنامه های کامپیوتری با زبان C نوشته شده اند. زبان C از یک کتابخانه برای آگاهی از زمان استفاده می کند که به Standard Time Library شناخته می شود. این کتابخانه از یک عدد ۴ بایتی (۳۲ بیتی) برای شمارش زمان استفاده می کند. در واقع تبدیل این عدد ۳۲ رقمی در برنامه ها و سیستم عامل ها، زمان را بر اساس سال و ماه و روز و ساعت و دقیقه و ثانیه برای ما قابل فهم می کند.

این عدد ۴ بایتی از بامداد اول ژانویه ۱۹۷۰ ساعت ۱۲:۰۰:۰۰ مشغول شمارش است. در آن لحظه عدد مزبور صفر بوده و هر ثانیه یکی به آن اضافه شده است. پس برای مثال عددی مانند 919642718 مشخص کننده گذرِ ۹۱۹ میلیون و ۶۴۲ هزار و ۷۱۸ ثانیه از اولین ثانیه بامداد اول ژانویه ۱۹۷۰ است و ساعت ۱۶:۱۸:۳۸ در ۲۱ فوریه ۱۹۹۹ به وقت غربی آمریکا را مشخص می کند.

استفاده از این فرمت زمانی برای کامپیوترها بسیار ساده است. به این خاطر که با تبدیل عدد مربوطه به ثانیه و دقیقه و ساعت و روز و ماه و سال و تعیین اختلاف از ساعت مبدا می توانند زمان دقیق فعلی را تخمین بزنند و بفهمند دقیقا چقدر زمان از لحظه مبدا زمانی شان گذشته است.

اگر -همانقدر که ما انتظار داریم- آنقدر گیک باشید که از بیت و بایت سر در بیاورید، می توانید با یک محاسبه ساده بفهمید که حداکثر ارزش یک عدد ۴ بایتی رفم ۲٫۱۴۷٫۴۸۳٫۶۴۷ است. اگر این عدد را به زمان قابل فهم ترجمه کنید خواهید فهمید که در ۱۹ ژانویه ۲۰۳۸ به پایان میرسد. مشکل سال ۲۰۳۸ همینجاست. در آن زمان با به پایان رسیدن این عدد، کلیه برنامه ها و سیستم عامل های مبنتی بر زبان C برای درک زمان دچار مشکل شده و ممکن است باگ های بسیاری هویدا شود.

البته خوشبختانه به احتمال زیاد رفع این مشکل به مراتب از مشکل سال ۲۰۰۰ ساده تر است. بسیاری از برنامه های نوشته شده با C می توانند با فرمت زمانی جدید کامپایل شوند تا برای استفاده از کتابخانهٔ جدید آماده باشند. برای مثال یک فرمت ۸ بایتی می تواند جایگزین نسخه فعلی شود. به هر حال با توجه به اینکه زمان زیادی تا سال ۲۰۳۸ باقی مانده و راه حل هم وجود دارد، گذرِ بی خطر از آن چندان هم مشکل نیست.

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (22 مورد)
  • میلاد
    میلاد | ۱۹ دی ۱۳۹۳

    هیچ کس از این مطلب چیزی نفهمید. دیجیاتو زیر دیپلم صحبت کن

  • فرشاد
    فرشاد | ۱۷ تیر ۱۳۹۳

    نیاز به 8 بایت نیست! تنها با یک بایت اضافه، یعنی 5 بایت میتونیم 256 بار این بازه زمانی 68 ساله رو تکرار کنیم.

  • سجاد
    سجاد | ۱۷ تیر ۱۳۹۳

    اردبیل17 درجه.کمترازاین نبود؟؟؟؟؟؟؟؟؟؟؟

  • JSON
    JSON | ۱۶ تیر ۱۳۹۳

    یعنی تا اون موقع سرعت نتمون بالاتر از این میشه ؟!!!!
    ( میدونم بیربط بود )

نمایش سایر نظرات و دیدگاه‌ها
مطالب پیشنهادی