vak: (Аристипп)
[personal profile] vak
Сегодня были объявлены победители ежегодного конкурса IOCCC (видео), и среди них обнаружился интересный проект.
  • Программа на Си размером 366 байт исходного кода (prog.c) запускает виртуальную машину.
  • Машина состоит из 32-битного процессора архитектуры SUBLEQ+, полутора гигабайт памяти, графического адаптера 800x512, клавиатуры, часов реального времени, с многозадачностью и прочими ништяками.
  • Для этой машины имеется компилятор Clang (и прочий LLVM).
  • На этой машине запускается Линукс.
  • Под Линуксом запускается Doom.
  • Из приложений также имеются веб сервер, текстовый браузер и прочее.
Цитата из README:
Автор разработал архитектуру, реализованную в этой виртуальной машине, и набор инструментов в рамках готовящейся к запуску инициативы Eternal Software Initiative, основанной на открытом исходном коде.

Учитывая, что большая часть современной культуры — искусство, наука, история, работа и развлечения — представлена ​​или доступна через программное обеспечение, как нам сохранить это программное обеспечение в пригодном для использования виде, чтобы историки через 1000 лет смогли оглянуться на сегодняшний день и понять, что значило быть человеком в XXI веке? Культуры прошлого можно реконструировать из «самосохраняющихся» физических артефактов, таких как предметы и книги, но программное обеспечение по своей природе эфемерно. Без активных усилий по его сохранению в пригодном для использования виде, современная культура будет в значительной степени «забыта» для будущих поколений.

Задача: сохранения только программного обеспечения недостаточно. Для того чтобы оно было работоспособным, необходимо сохранить в пригодном для использования виде не только само программное обеспечение, но и всю экосистему (операционные системы, библиотеки, компиляторы, фреймворки) вплоть до аппаратного обеспечения. Однако эта экосистема невероятно сложна: большая её часть является собственностью компаний и неполно документирована, а её восстановление в будущем может оказаться очень сложным или даже невозможным, например, в случае краха и возрождения цивилизации, когда полная информация о современных вычислительных архитектурах вряд ли сохранится.

Цель Инициативы «Вечное программное обеспечение» — предложить решение этой проблемы. Мы определяем новую вычислительную архитектуру, настолько простую, что шаги по созданию виртуальной машины можно записать на салфетке, вместе с набором инструментов для компиляции любого современного программного обеспечения (включая операционную систему, фреймворки, библиотеки и т. д.) в единую самодостаточную «капсулу» чисел. Эти числа могут храниться в физической форме на прочном носителе (например, вытравленном на титановом цилиндре), который сохранится на протяжении тысячелетий без деградации. Демонстрации Mandelbrot, Pong и ядро ​​Linux с приложениями, представленные в рамках этой заявки на IOCCC, являются примерами таких капсул.

Через 1000 лет антрополог, обнаруживший инструкцию на «салфетке» и капсулу, сможет воссоздать виртуальную машину менее чем за час (без необходимости знания современных вычислительных архитектур или языков программирования) и, следовательно, оживить содержимое капсулы в полностью функциональном виде. Таким образом, Инициатива «Вечное программное обеспечение» стремится сохранить современное программное обеспечение, чтобы наша цифровая культура могла быть воссоздана и пережита заново в далеком будущем.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org