TempleOS: библейская операционная система, которую пишет шизофреник

Дистрибутив операционки крошечный — всего 17 мегабайтов. Его можно быстро скачать и опробовать.

Целевая платформа — x86–64. Маловероятно, что кто-то будет экспериментировать с подобным в качестве реально установленной операционки, поэтому нам понадобится любая виртуальная машина, к примеру, VirtualBox или QEMU. Сам создатель пользуется коммерческой VMware Workstation. Задайте для виртуальной машины как минимум полгигабайта памяти.

0e5e3212c7cc4c6eaa9a891d071b1308.png

Со скачанного образа можно просто загрузиться и работать в режиме LiveCD или установить систему на диск. Установка TempleOS не сложнее, чем установка любой современной операционной системы. Нужно лишь несколько раз нажать на клавишу y и дождаться копирования файлов.
809402942f0f43b2919033e6eb01227f.png

Получившееся отдалённо напоминает что-то от Commodore 64. Впрочем, и сам создатель описывает своё творение как современный x86_64 Commodore 64 с C вместо BASIC. Итак, что мы только что установили?

daed9b179af94128892595335c0ddad3.png


69b8d7bf43564005b453e395e8be0959.jpgЧеловека слева зовут Терри Дэвис. Бог избрал его для создания храма, операционной системы. Дэвис написал ядро, 64-битный компилятор и саму операционную систему — оракула для общения с богом.

На всех ресурсах, где присутствует Дэвис, он перемешивает ясные и логичные фразы с бредом про происки ЦРУ, демонстрирует ненависть к евреям и чернокожему населению. Вероятно, это какая-то форма копролалии. За регулярные вспышки подобных изречений его забанили на многих форумах, к примеру, на Hacker News.

God said we are the Roman Empire and Muslims are Barbarians. No white poeple are muslim. Islam is for niggers.

 — Terry A. Davis (@TempleOS) September 11, 2016


Типичный пример: своих оппонентов и вообще любых людей, которые ему не нравятся, Дэвис называет неполиткорректным niggers.

Терри Дэвис родился в декабре 1969 года в семье промышленного инженера. В большой семье он был седьмым из восьми детей. Семья часто переезжала с место на место: Терри взрослел в Висконсине, Вашингтоне, Мичигане, Калифорнии и Аризоне. С Apple II он познакомился ещё в начальной школе в программе для одарённых детей, в начале восьмидесятых он изучил язык ассемблера Commodore 64. Писать код Дэвис начал ещё в школе.

К 1994 году он получил сначала степень бакалавра, затем магистра электротехники в Университете штата Аризона. Какое-то время Дэвис жил в городе Темпе, где у него была работа. Студентом в 1990 году он начал писать компоненты операционной системы для продавца билетов Ticketmaster. В 1993 году у Дэвиса появилась машина с процессором 486. На ней он написал приложение для защищённого режима DOS, которое никогда не возвращало управление. Терри настроил клавиатуру для вывода символов на экран и базовую многозадачность. По сути, это был зачаток будущей операционки.

Работа в Ticketmaster нравилась бывшему студенту меньше и меньше: компания перевела его на неинтересные исследовательские проекты. 26-летний Терри Дэвис хотел писать системы управления спутниками и задумался о смене места работы. В начале 1996 года он разослал своё резюме нескольким компаниям оборонки.

Дальнейшее описание жизни Терри воспринять трудно. В середине марта того же года он начал замечать, что за ним следят. Это проверка для одной из этих компаний, у которых он просил работы? В голове Дэвиса смешались квантовые компьютеры и теории заговора. Он выехал из города на юг и слушал радио, а радио отвечало ему. В городе Марфа (Техас) он остановился и вспомнил про то, что нефтяные компании подавляют разработку двигателей на воде. Он обыскал автомобиль на жучки и выбросил ключи в пустыне.

Далее последовали задержание полицией, побег, сломанная ключица, больница, побег из-за «артефактов» на рентгеновских снимках (наверняка подложили инопланетяне), попытка угона пикапа, тюрьма и две недели в психиатрической больнице. После этого Дэвис попытался повторить путь Христа и раздал своё имущество. С 1996 года Дэвис перестал быть атеистом и постоянно искал пути к богу.

В июле 1996 года психическое состояние Дэвиса наладилось, он вернулся в Аризону. Там он пытался создать трёхосный фрезерный станок — уже тогда было ясно, что за 3D-принтерами будущее. Возгорание электроинструмента чуть не привело к пожару, и Терри забросил идею.

dcafc1a9e80a443ea16d7619f6bccf82.jpg
Прототип станка.

За этим последовал переезд обратно в дом родителей — Дэвис хотел сэкономить немного денег, пока писал продожение романа Оруэлла »1984». Сиквел так и не получился.

С 1996 по 2003 года примерно раз в полгода случался новый маниакальный эпизод. Сначала врачи считали, что у Дэвиса биполярное расстройство, но позже поставили диагноз «шизофрения». С 2003 года психическое здоровье Дэвиса удалось наладить медикаментозно. Сильных приступов не бывает, хотя странности в поведении остались.

С 2003 года начался отсчёт эры архитектуры x86–64. AMD выпустила Opteron, первую линейку микропроцессоров, которые расширениями архитектуры могли выполнять 64-битные вычисления и адресовать больше 2 ГБ памяти. И здесь Дэвис увидел, какую технологию ему нужно использовать для своего цифрового оракула. Он достал старый код экспериментов в DOS и начал работу.


Тэрри пишет свою операционную систему в её текущем виде с 2003 года, уже 13 лет. Вернее, он строит храм божий по размаху сравнимый с соломоновым. Если верить словам автора, бог сказал создать храм разрешением 640×480 пикселей в 16 цветах. Скудная палитра и низкое разрешение помогают избегать необходимости писать драйвера графических устройств для аппаратного ускорения. Господь сказал Дэвису, что для звука нужен один голос с разными формами волны. А ещё бог попросил, чтобы храм был идеальным, поэтому Дэвис сделал ОС простой. За период разработки система сменила много имён: Doors, Davos, J, LoseThos, SparrowOS. В 2013 году появилось текущее имя TempleOS.


Дэвис объясняет устройство TempleOS.

Технически TempleOS — многозадачная операционная система с поддержкой нескольких ядер. Отдельных потоков нет — это всё равно, что процессы.

TempleOS начиналась как заброшенный проект 1993 года для DOS, но была доведена до уровня самостоятельной операционки. Постепенно Дэвис написал собственный загрузчик, необходимость грузиться во FreeDOS отпала. Сама операционка не начиналась как храм, к этому автор пришёл со временем.

Исходные коды открыты и свободны как общественное достояние. В ОС принципиально отсутствует поддержка сети и вообще каких-либо устройств. В ней есть базовый минимум для того, что можно назвать операционкой. Все приложения выполняются в кольце 0, с самым высоким приоритетом, без защиты памяти. Подкачки страниц нет — поэтому операционка и грузится так быстро, за секунду. Она немедленно доступна для использования.

В системе есть интерфейс командной строки, который реализован оригинально. Дэвис никак не мог запомнить команды bash, а вот синтаксис С/С++ он знал хорошо. Поэтому скрипты пишутся на C, вернее, его модификации. Для своей операционки Дэвис изменил стандартный C и назвал полученное HolyC («святой си»).

3f2cd07c833845de9acdc97503dbc178.png
Комикс в сборке системы.

За исключением низких уровней, где есть язык 64-битного ассемблера, вся система написана на этом HolyC. Он отличается от обычного. Нет main(), всё, что написано, выполняется. Весь код TempleOS JIT-компилируется по запросу. Программу можно запустить, набрав #include из командной строки. Затем программа будет запущена в пространстве имён оболочки.

Система напоминает, что это — цифровой оракул. Раньше Дэвис подкидывал монетку и выбирал случайное число, чтобы открыть Библию, прочитать фрагмент и истолковать его. В TempleOS в любом месте нажатие F7 принесёт случайное слово. Если нажать F7 несколько раз, получится фрагмент текста, в котором можно искать смысл. Shift + F7 выдаст фрагмент Библии.

По всей системе есть подсказки автодополнения, которые можно получить по Ctrl + F1. Все исходники индексированы. Оболочка — гипертекстовый документ развитого формата DolDoc. В него можно встроить изображения, спрайты (в том числе трёхмерные) и макро. В системе везде можно открыть редактор спрайтов и вставить их в любой документ. Сами документы можно сохранять.

f866abe4a5c14a4488ce498a172f8292.png
Щелчок по прямоугольникам откроет исходный файл, на который стоит ссылка.

Файловая система Red Sea уникальна. Как говорит автор, нужно было сделать нечто, что не грозило бы судом. Файловый менеджер вызывается по Ctrl + D, хотя при желании можно обходиться без него, вводя команду содержимого текущей директории Dir; и переходя по гиперссылкам файлов. Защиты доступа к файлам ожидаемо нет — пользователь всего один.

В системе есть несколько приложений, написанных автором. Из-за различий языка приложения нужно переписывать, а не просто портировать. Вероятно, Дэвис останется единственным человеком, который пишет под TempleOS. Пока известен лишь один случай, когда к платформе проявлял другой разработчик. Но даже этот энтузиаст смотрел на TempleOS как на инопланетный компьютер.


AfterEgypt позволяет общаться с богом. Нужно лишь найти горящий терновый куст. Приложение описывает временной промежуток после того, как Моисей покинул Египет.


Авиасимулятор и шутер от первого лица. В последнем заметно влияние Wolftenstein.


Приложение для написания музыки.

Дэвис продолжает разработку. Он регулярно транслирует видео на YouTube и выпускает новые версии своей операционки.


Можно смеяться и тыкать пальцем, считая Дэвиса бесполезным сумасшедшим с никому не нужной операционкой. С другой стороны, даже если не закрывать глаза на религиозность проекта — это интересная исследовательская работа. В ней есть свои особенности и, возможно, удобства. Документный подход напоминает Xerox Alto, Oberon и Plan 9. В TempleOS странным образом граничат возможности современных вычислительных машин и принципов эпохи Apple II и Commodore 64.

© Geektimes