Linux планує жити 1 000 років: розробники вже готують відповідь на проблеми 2038, 2486 і 3026 року

19 січня 2038 року Linux зупиниться. 3 липня 2486 року — знову. А що буде у 3026-му? Сайт Linuxiac звернув увагу на незвичайний відкритий проєкт — Eternal Software Initiative: команда розробників будує віртуальну машину настільки просту, що людина майбутнього зможе відтворити її з короткого опису і запустити на ній сучасний Linux. Мета — зберегти програмне забезпечення не на десятиліття, а на тисячу років. README проєкту рекомендує перше, що зробити після завантаження Linux: запустити DOOM.

Читайте также: Не влаштовує оригінальна Steam Machine, збери власну: Valve не проти кастомних версій


Чому звичайне збереження не працює

Проблема програмної архівації глибша, ніж здається. Проєкт стверджує: сучасне програмне забезпечення важко зберегти, бо воно спирається на занадто багато інших речей. Програма потребує операційну систему, бібліотеки, компілятори, фреймворки, поведінку заліза, мікропрограми, формати файлів і незліченні припущення своєї епохи.

Зберегти лише бінарник часто недостатньо. Навіть якщо зберегти емулятор — він сам стає складним артефактом, який майбутнім системам доведеться розгадувати. Це замкнене коло: щоб запустити старий код, потрібен емулятор; щоб запустити емулятор, потрібна платформа; щоб платформа запрацювала — ще одна платформа. Eternal пропонує вирватися з нього, зменшивши складність до абсолютного мінімуму.

Одна інструкція на всю машину

В основі Eternal — “Eternal Computer”, свідомо проста віртуальна машина побудована навколо єдиної інструкції. Ця інструкція називається Subleq: вона віднімає одне число від іншого і вирішує, що робити далі, залежно від того, чи результат менший або рівний нулю або ні. Теоретично будь-який алгоритм можна описати через Subleq — це доведений факт теорії обчислень. Практично це означає: опис такої машини поміщається в кількох абзацах. Людина 3026 року, що знайде цей опис, зможе відтворити машину на будь-якому носії — від кремнієвого чипа до механічного пристрою.


Як це виглядає зсередини

Проєкт використовує модифіковану версію Subleq+ разом із бекендом LLVM, портом ядра Linux, підтримкою середовищ виконання C і C++, uClibc-ng, BusyBox і референсною віртуальною машиною. Результат — самодостатня Linux-капсула, яка завантажується до командного рядка всередині цієї крихітної машини.

Eternal пакує збережене програмне забезпечення у так звані “капсули” — кожна містить операційну систему, бібліотеки, застосунки і всі залежності в одному пакеті. GitHub-репозиторій містить інструкції для збирання VM, розпакування Linux-образу, запуску системи і — так, запуску DOOM всередині неї.

Читайте также: Ще одна гра жертва GTA 6: Lords of the Fallen 2 перенесли на 2027 рік

“Eternal не призначений для практичного використання як дистрибутив Linux і не намагається ним бути. Це не заміна QEMU, нова настільна платформа або реалістичний спосіб запускати повсякденне програмне забезпечення. Його справжня цінність — у питанні, яке він порушує: наскільки простим має бути комп’ютер, щоб збереження програмного забезпечення тривало centuries, а не decades?” — йдеться в описі проєкту.

Контекст: Linux і проблема 2038 року

Тема довготривалого виживання Linux — не лише філософська. У неї є цілком технічний вимір.Так звана проблема Y2K38 означає, що системи, які зберігають час як 32-бітне ціле число секунд від 1 січня 1970 року, не зможуть обробляти дати після 03:14:07 UTC 19 січня 2038 року — коли це число переповниться. Деякі часткові рішення — як “великі часові мітки” у файловій системі XFS, введені в Linux 5.10 — лише переносять проблему до 2486 року.

Повний перехід на 64-бітний time_t теоретично дає близько 292 мільярди років запасу — але стосується лише частини стеку. Eternal вирішує інший рівень проблеми: навіть якщо Linux технічно справляється з часовими мітками через тисячу років, хто і на чому його запустить? Саме це питання проєкт ставить із несподіваною серйозністю.

Чи реалістична мета

Тисяча років — строк, за який зникали цивілізації, мови і матеріали. Але проєкт свідомо не претендує на практичність: це скоріше дослідницьке питання про межі простоти. Якщо комусь у 3026 році потрапить до рук опис машини з однією інструкцією і набір капсул — Linux завантажиться. І першим, що побачить нащадок, буде командний рядок. А якщо захоче — DOOM.

Читайте также: Інсайдер розкрив майбутнє рімейків Resident Evil 5 і 6: фанати можуть бути розчаровані

Джерело: Linuxiac

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *