TempleOS – это операционная система, которую написал один человек. И это самый странный проект в истории IT
Иногда в мире IT появляются проекты настолько странные, что ты просто отказываешься верить в их существование. Вы только вдумайтесь: один человек, десять лет работы, 100 000 строк кода и прямая линия связи с… богом? Нет, это не сюжет постапокалиптического романа. Это TempleOS – операционная система, в одиночку созданная Терри Дэвисом. В мире, где над Windows и macOS трудятся тысячи инженеров, а Linux развивается усилиями целого сообщества, TempleOS стоит особняком как памятник тому, на что способен человеческий разум – во всей его гениальности и безумии. Давайте разберемся, почему этот проект считается самым странным в истории IT и что в нем такого особенного.
Кто такой Терри Дэвис
Терри А. Дэвис – это не просто эксцентричный программист. Это человек, который однажды проснулся и решил, что ему нужно сделать современное средство общения со всевышним. Нет, серьезно. По его словам, сам бог спустился к нему и сказал: "Терри, хватит валять дурака, пора писать операционную систему". И Терри такой: "Окей, почему бы и нет?"
Но давайте по порядку. Дэвис был не просто каким-то чудаком с улицы. Этот парень имел образование программиста и опыт работы в крупных компаниях. Но в 1996 году у него начались проблемы с психикой, которые привели к серии госпитализаций. Сначала ему поставили биполярное расстройство личности, потом шизофрению. И вот в таком состоянии он решил, что самое время взяться за мегапроект.
Как говорил Лао Цзы, мудрец подобен ребенку, которому для свершения великих дел даже необязательно осознавать собственную гениальность. Так в 2003 году Терри решил написать целую операционную систему. С нуля. Потому что обычные ОС – слишком сложные, слишком запутанные, слишком... земные – его попросту не устраивали.
Что такое TempleOS и чем она отличается от обычных операционных систем?
Терри Дэвис начал работу над тем, что впоследствии стало TempleOS, примерно в 2003 году. За период разработки система сменила несколько названий: изначально она называлась "J Operating System", затем "LoseThos" и "SparrowOS". Также упоминаются и другие ранние названия: Doors и Davos. Но ни одно из них не прижилось.
Окончательное же название "TempleOS" утвердилось лишь к 2013 году, когда Дэвис объявил о завершении работы над проектом. На протяжении этого времени разработчик поддерживал и совершенствовал ОС. А последнее обновление TempleOS получила относительно недавно – 20 ноября 2017 года, незадолго до смерти Терри Дэвиса в 2018 году. Кстати, скачать операционку любой желающий может на официальном сайте проекта по этой ссылке.
Несмотря на молодость, TempleOS выглядит как операционная система, которую создали в 80-х. Первое, что явственно на это указывает, – графика. Операционка работает в режиме VGA с разрешением 640×480 пикселей и 16 цветами. Но это не баг, а фича. По словам Терри, сам всевышний сказал ему, что нужно делать именно так. А кто он такой, чтобы спорить?
В плане “техники” TempleOS очень необычна (кто бы мог подумать?). Например, она работает в режиме ring 0. В обычных ОС на этом уровне работает только ядро системы, а пользовательские программы запускаются в ring 3 с ограниченными правами. В TempleOS такого разделения нет – весь софт имеет полный доступ ко всем ресурсам компьютера.
Это означает, что любая программа может напрямую обращаться к памяти, устройствам ввода-вывода и другим системным ресурсам. Нет никакой защиты между процессами – они все работают в едином адресном пространстве. Одна ошибка в коде – и вся система падает. Но зато какая скорость и простота!
Язык программирования HolyC
Специально для TempleOS Терри разработал свой собственный язык программирования. Он называется HolyC и представляет собой нечто среднее между C и C++. Изначально язык назывался просто "C+" (C Plus), но позже был переименован в "Holy C" (читается как Holy See – опять же, отсылка к религии). И на нем Дэвис написал более 100 000 строк кода для своей операционной системы.
Одна из самых впечатляющих особенностей HolyC — он компилируется "на лету", то есть код превращается в машинные команды прямо в момент ввода. Это делает программирование более быстрым и интерактивным.
Вот простой пример кода на HolyC – программа для вычисления чисел Фибоначчи:
Обратите внимание на последнюю строку – “Fibonacci;”. В HolyC функции можно вызывать без скобок и аргументов. Это делает TempleOS удобной для экспериментов и обучения программированию, в отличие от других операционных систем, где изменение системного кода — сложный процесс.
Что умеет TempleOS
Вот тут мы подходим к самому интересному вопросу. Зачем все это нужно? Ну, если верить Терри, TempleOS – это место, где можно общаться с богом через... случайно генерируемый текст. Да, в системе есть встроенный оракул, который выдает псевдослучайные сообщения. Терри верил, что через них говорит сам Всевышний.
Главным образом для этого используется "AfterEgypt" — игра, в которой пользователь управляет фигуркой Моисея, поднимающегося на гору Хорив. На вершине горы игрок встречает "горящий куст", перед которым ему предлагается восхвалять бога. По словам Дэвиса, можно было восхвалять Его за что угодно: за песочные замки, снеговиков, попкорн, пузыри, изотопы или песчаных крабов.
234 - After Egypt In Action #1 (TempleOS) [2014]
Когда пользователь нажимает пробел, встроенный "высокоскоростной секундомер" останавливается, и система выдает соответствующий библейский отрывок или случайно сгенерированный текст.
Однако TempleOS – это не просто игрушка. Это полноценная 64-битная многозадачная операционная система с собственным компилятором, файловой системой и графическими библиотеками.
Вот несколько технических деталей, которые делают ее уникальной:
DolDoc – формат документов, который объединяет текст, изображения, 3D-модели и исполняемый код в одном файле. Таким образом в текстовый документ можно встроить вращающуюся 3D-модель танка прямо в комментарий к коду.
RedSea – разработанная Терри файловая система с поддержкой сжатия данных. Помимо нее, TempleOS поддерживает также ISO 9660 и FAT32.
Симулятор полета – да, в TempleOS есть собственный симулятор полета! Он примитивен по современным меркам, но полностью функционален и написан одним человеком.
Игры – Терри создал несколько игр для своей ОС, включая шахматы, пасьянсы и даже 3D-шутер. Все они написаны на HolyC и демонстрируют возможности системы.
Отсутствие сетевого стека – TempleOS намеренно не поддерживает сетевые подключения. По словам Дэвиса, Бог сказал ему, что интернет – это "территория дьявола".
Невытесняющая многозадачность – в отличие от современных ОС, в TempleOS задачи не прерываются системой принудительно. Вместо этого они должны добровольно уступать процессорное время другим задачам.
Поддержка многоядерных процессоров – несмотря на свою архаичность, TempleOS может использовать до 64 ядер процессора. Каждое ядро получает свою "бессмертную" задачу, названную в честь библейского персонажа.
Зачем нужна операционная система TempleOS
История TempleOS и Терри Дэвиса – это не просто рассказ о странной операционной системе. Это история о человеческой одержимости, гениальности и, да, безумии. Она заставляет нас задуматься о нескольких важных вещах.
Во-первых, о границах возможного. Терри доказал, что один человек может создать полноценную операционную систему. Да, она не такая навороченная, как Windows или Linux, но она работает! И это впечатляет.
Во-вторых, о цене инноваций. Терри посвятил этому проекту более десяти лет своей жизни. Он работал над ним, несмотря на серьезные проблемы с психическим здоровьем. Это заставляет задуматься о том, какую цену иногда приходится платить за реализацию своей мечты.
И наконец, о важности открытого кода. TempleOS – это полностью открытая система. Каждая строчка кода доступна для изучения. В мире, где крупные корпорации все больше закрывают свои разработки, такой подход выглядит как глоток свежего воздуха. Для начинающих программистов – уж точно.