26 января 2011 г.

15000 дней Unix'у и проблема в 2038 году...

Чисто случайно я узнал, что сегодня, 26 января 2011 года, наступил 15000 день со дня исчисления жизни Unix систем. Это безусловный праздник для заядлых unix'оводов и linux'оводов, а также mac'оведов (об этом немножко попозже :) ).

Да! 15000 дней - это не мало! Именно в ночь с 31 декабря 1969 года на 1 января 1970 года было официально (вероятнее всего данная ОС была разработана раннее этой даты) начато исчисление эпохи Unix. Об этом можно подробнее прочитать на википедии в статье "UNIX-время". Есть специально посвященный сайт данной дате, на котором можно прочитать не только о столь знаменательной дате, но и узнать относитесь ли вы к числу пользователей Unix.

Если вы вдруг спустя некоторое время захотите узнать точное количество прошедших дней "жизни" Unix систем, то в Unix-подобной ОС вбейте команду:

echo `date +%s`/86400|bc

Данная команда покажет вам точное количество прошедших дней по UTC (Universal Time Coordinated).

А вот о том, как определить относитесь ли вы к числу пользователей Unix систем я хотел бы рассказать немного по подробнее.

Первый Unix был разработан в 1969 году и назывался он тогда Unics, но уже в 1971 году обозначался как Unix. От Unix пошли такие ОС как Unix TSS (в конечном итоге перерос во FreeBSD), BSD (с которого пошел Nexststep) и целая куча других. На ряду с этими ОС появились Minix и Linux, а из Nextstep появился нынешний MacOS X. Более подробно проследить эволюцию Unix и Unix-совместимых ОС можно по данному изображению (изображение было взято с википедии), а также прочитать статью "Unix":


Все, кто используют (или как-то причастны к развитию) ОС изображенных на схеме выше, а также производных этих ОС причастны к этой знаменательной дате. Для тех, кто плохо ориентируется в названиях ОС привожу небольшой список ОС, которые относятся к Unix: Ubuntu, Debian, Fedora, Gentoo, Arch, Red Hat, FreeBSD, NetBSD, OpenBSD, Solaris (Open Solaris, Sun), MacOS X, iOS, а также Android, MeeGO, Maemo и др. На сайте посвященном данной дате черным по белому написано: Microsft Windows is not a "Unix-like" operating system (то есть ОС Windows не относиться к Unix - это так, может кто не знал).

А теперь, немного о грустном.

Эта знаменательная дата напомнила мне о еще одной дате, которая не так далека, как хотелось бы (2038 год), а принести она может целый ряд проблем. Эта дата не была предсказана каким либо оракулом (человек, что оглашал от имени бога предсказания), а была просчитана (не знаю кем). Именно 19 января 2038 года во вторник в 3:14:07 произойдет сбой в вычислении времени у 32-битных POSIX-совместимых систем: вместо 2038 года будет выводиться 1901 год :) .

Как это происходит показано на данном изображении (взято с википедии):


Подробнее о том как это все произойдет можно прочитать на википедии в статье "Проблема 2038 года".

Хочу напомнить, что Unix-подобные ОС занимают большую долю серверов, а также около 95% всех супер компьютеров, так что проблема коснется всех, если ее вовремя не решить.

Могу всех утешить, что отсрочка этой проблемы возможна при помощи массового внедрения 64-битных вычислений. Данная архитектура передвинет эту проблему на, примерно, 300 миллиардов лет вперед. Так что будем надеяться на лучшее :) .

P.S.

Вот так, сегодня дата не абы какая, ведь 15000 дней - это не мало, особенно, если учесть, что эта ОС повлияла на многое, например, при ее разработке был создан язык "C", на котором и написана большая часть кода Unix-подобных систем и не только.

Комментариев нет:

Отправить комментарий