Найти в Дзене
Сисадмин

Про день рождения UNIX

Эта история о том, как 1 января 1970 года человечество официально получило нулевую точку отсчёта — начало админской радости, известной как UNIX Time. Был обычный день.
Мир ещё не знал, что скоро миллионы серверов начнут жить по секундомеру, который начнётся с 1970-01-01 00:00:00 UTC.
В этот момент творцы-создатели UNIX (в лице Кена Томпсона и Денниса Ритчи) сказали: "Да будет time_t!" И time_t стало — 32-битное, знаковое, и немного депрессивное.
Первые 2 147 483 647 секунд оно жило счастливо, пока кто-то не заметил, что 19 января 2038 года у него закончится место в мозгах.
Но это уже другая катастрофа. Все думают, что 1970 — это какая-то мистическая дата.
Мол, может, именно тогда появился первый компьютер? Или родился Ричард Столлман, и Вселенная сказала “sudo bless”?
Но нет.
Причина куда более инженерная — так было удобно. В 1970-м: А главное — календарь UNIX просто начинался с чистого листа:
никаких високосных сюрпризов до 1972-го, никаких отрицательных секунд, никаких "до эр
Оглавление
Про день рождения UNIX
Про день рождения UNIX

Эта история о том, как 1 января 1970 года человечество официально получило нулевую точку отсчёта — начало админской радости, известной как UNIX Time.

Глава 1. В начале был ноль

Был обычный день.

Мир ещё не знал, что скоро миллионы серверов начнут жить по секундомеру, который начнётся с
1970-01-01 00:00:00 UTC.

В этот момент
творцы-создатели UNIX (в лице Кена Томпсона и Денниса Ритчи) сказали:

"Да будет time_t!"

И time_t стало — 32-битное, знаковое, и немного депрессивное.

Первые 2 147 483 647 секунд оно жило счастливо, пока кто-то не заметил, что
19 января 2038 года у него закончится место в мозгах.

Но это уже другая катастрофа.

Глава 2. Почему именно 1970?

Все думают, что 1970 — это какая-то мистическая дата.

Мол, может, именно тогда появился первый компьютер? Или родился Ричард Столлман, и Вселенная сказала “sudo bless”?

Но нет.

Причина куда более инженерная —
так было удобно.

В 1970-м:

  • не было ещё Y2K,
  • никто не использовал миллисекунды,
  • и все программисты могли считать до 60 без калькулятора.

А главное — календарь UNIX просто начинался с чистого листа:

никаких високосных сюрпризов до 1972-го, никаких отрицательных секунд, никаких "до эры POSIX".

Просто — “ноль секунд от начала времён”, и поехали.

Глава 3. Почему Linux — тоже из этого культа?

Потому что Линус Торвальдс в 1991-м не стал изобретать велосипед.

Он просто взял UNIX-овскую ось времени и сказал:

“Если уж всё, что движется, считает время от 1970-го — пусть и мой пингвин живёт по тем же законам вселенной.”

С тех пор любой date +%s выдаёт количество секунд, прошедших с той самой нулевой ночи, когда UNIX родился, а мир ещё не подозревал, что его ждёт cron, systemd и rm -rf /.

Глава 4. Ноль, который живёт в каждом из нас

Когда ты смотришь на таймстемп вроде 1738953600, знай — это просто количество секунд с момента, когда мир сказал “hello, world”.

Каждый лог в /var/log/, каждый commit в git, каждый SSL-сертификат в недрах nginx —
всё они ведут свою родословную от 1970-го.

А если вдруг время сбивается на твоём сервере до Thu Jan 1 1970, не паникуй.

Это не баг.

Это просто твой сервер вспоминает "детство".

Глава 5. Философия великого нуля

Дата 1 января 1970 — не просто точка отсчёта.

Это символ стабильности.

Когда мир рушится, пакеты теряются, система орёт "kernel oops", а RAID начинает тикать, как бомба, —
время всё ещё идёт с 1970 года.

Linux и UNIX делят одну временную ось, потому что делят одну философию:

простота, логичность и немного безумия.

Это как “shared library” человечества:

Один ноль, чтобы править всеми.

Так что каждый сисадмин 1 января может поднять стакан с пивом, перезапустить systemctl, и произности сакральную фразу:

“С днём рождения, старина UNIX. Спасибо, что держишь мой uptime.”

И помни:

Если кто-то скажет, что время идёт с “нуля” — уточни,
с какого именно нуля.

Потому что наш — тот самый,
из 1970-го, где всё только начиналось.