Здравствуй, брат мой! Сегодня мы с тобой изучим одну из самых интересных операционных систем современности. TempleOS занимает всего 17,5 Мбайт, компилируется на лету, содержит полный текст Библии, поддерживает многоядерные 64-разрядные процессоры и работает в богоугодном разрешении 640 ✕ 480 в шестнадцати цветах. И это лишь малая часть замечательных и необычных черт TempleOS!

Много ли ты видел операционных систем, написанных одним человеком? Такое, пожалуй, было возможно лишь в эпоху зарождения современных компьютеров. Автор TempleOS Терри Дэвис, человек невиданного героизма, не убоялся вернуться к истокам, чтобы подарить миру нечто совершенно потрясающее. Давай же скорей установим TempleOS и ознакомимся с азами этой поистине невиданной операционной системы.

 

А теперь серьезно

Этот материал был опубликован на первое апреля в качестве розыгрыша. Мы решили, что вокруг достаточно странного и удивительного, чтобы ничего не выдумывать. С одной стороны, розыгрыш удался: мы на полном серьезе написали об операционной системе, разработанной безумцем, и многие приняли этот текст за чистую монету.

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

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

Одну из удивительных черт TempleOS ты можешь наблюдать еще на этапе загрузки.


Как видишь, первое, что загружает TempleOS, — это компилятор. Он тут же компилирует всю пользовательскую часть ОС из исходных кодов, написанных на языке HolyC («священный C»).

В Parallels, правда, дальше этих строк загрузка не идет, но в VMware и VirtualBox таких проблем нет. Мы выбрали второй и, как рекомендует разработчик, выставили 64-разрядную архитектуру процессора и объем памяти 512 Мбайт.

 

Первое знакомство с TempleOS

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


Как видишь, экран поделен на две части, и если тебе это напомнило Norton Commander, то не спеши с выводами. Перед тобой полноценный оконный менеджер — ты можешь двигать окна мышью, менять их порядок и размеры и так далее.


Первое, что нужно сделать, — это закрыть окошко с подсказкой, кликнуть в левой части экрана и нажать y, согласившись установить образ системы на диск виртуальной машины. Можно работать и прямо с Live CD, но тогда ты не сможешь сохранять файлы.


Когда установка закончится, выключай виртуалку, отцепляй образ с Live CD и, помолясь, снова включай. Теперь TempleOS установлена на диск C:.

Как видишь, все работает очень быстро, несмотря на компиляцию на лету. Все дело в том, что в TempleOS нет многих вещей, которыми перегружены современные системы. В частности, нет большинства драйверов устройств, поддержки сети и защиты памяти. От кого, скажи, пожалуйста, защищать память, если за компьютером сидишь ты один? Все программы здесь работают на уровне ядра — это эффективно и большую часть времени не вызывает никаких проблем.

Чтобы сразу оценить всю мощь и красоту TempleOS, нажми на кнопку Menu, которая мигает в верхней части любого окна.


Как видишь, TempleOS может выводить не только текст, но и графику, анимацию и даже трехмерные модели! Только посмотри на эти вращающиеся танки и фигуры людей на значках. Посмотри на них внимательно. И еще немного. А теперь скажи, может ли твоя операционка выводить 3D в качестве значка приложения? То-то же, не может!

Но прежде чем ты, пораженный внешней красотой TempleOS, перейдешь к изучению приложений и игр, разреши обратить твое внимание на красоту внутреннюю. То великолепие, что ты видишь в меню, — это самый обычный документ TempleOS, который лежит в папке Home и называется PersonalMenu.DD.Z. Ты можешь отредактировать его или создать такой же!

Попробуй нажать Ctrl-T, чтобы посмотреть его текстовое представление.


Расширение DD означает, что этот файл — документ в формате DolDoc. Это язык разметки гипертекстовых документов, что-то среднее между RTF и HTML. Строки, обернутые в знаки $, содержат шорт-теги и параметры к ним. Таким образом, в текст можно вставить картинку, макрос, ссылку на другой документ, страницу из справки, стих Священного Писания, текстовый или исполняемый файл, 3D-модель или даже мелодию. DolDoc поддерживает и интерактивные элементы вроде кнопок, чекбоксов и древовидных структур.

Вот еще один занятный факт. Второе расширение (Z) означает, что файл заархивирован. TempleOS при их открытии автоматически разархивирует данные, а при сохранении сжимает обратно.

 

Игры

К формату DolDoc мы вернемся чуть позже, а пока — небольшая передышка на игры. Терри Дэвис, как честный и скромный человек, заранее разделил их на две группы: веселые (Fun Games) и невеселые (Unfun Games). Сравни с любым дистрибутивом Linux, где никто не предупреждает, что из двадцати игр на что-то годится только Pingus и с натяжкой — Tux Racer.

К сожалению, предусмотрительность Дэвиса не спасает, и даже игры из раздела Fun придутся по душе лишь самым неприхотливым.

Первой мы запустили гонку Varoom, где не смогли удачно проехать ни одного круга.


Затем изучили баскетбольный симулятор KeepAway, в котором люди без голов неторопливо ходят за мячиком. Иногда удается подобрать мяч и бросить его другому игроку, но радости в этом не много.


Нам не понравилась и стратегия ToTheFront: зеленое поле, на котором мигают загадочные символы. Попытки постичь их смысл и правила игры мы посчитали пустой тратой времени.


Игра Wenceslas отличается неоднозначным сюжетом: герой ходит и поджигает деревья вокруг занесенного снегом дома, чтобы крестьяне могли согреться. Можно ли делать что-то еще, нам узнать не удалось.


Среди недоделанных игр (Code Scraps) мы нашли интересный набросок ролевой игры в стиле Rogue, он называется DunGen. Герой перемещается по случайно сгенерированному подземелью и встречает врагов. Враги никак на него не реагируют.


ZoneOut — игра про роящиеся в пустыне розовые танки. Если стрелять в них, они становятся голубыми и подпрыгивают. Если один из них наезжает на нас, игра начинает серьезно тормозить.


Итак, игры — явно не конек TempleOS. Зато мы оценили предупреждение, которое встретило нас перед началом игры в розовые танки: «Я не стал передирать оригинал, и эта игра умышленно хреновая. Я написал ее исключительно с демонстрационными целями. Пиши игры, не играй в них». Вот и разгадка!


 

HolyC и командная строка

Послушаем доброго совета и посмотрим, как программировать в TempleOS. Но сначала понадобится освоить азы командной строки. Пользоваться ей с наскока не получится: если ты по привычке напишешь dir или ls, то увидишь лишь угрожающие сообщения об ошибках.

А дело все в том, что перед нами не командная строка, а интерпретатор (вернее, JIT-компилятор) HolyC! То есть вводить ты должен однострочные программы на си, которые тут же будут скомпилированы и исполнены.

Для вывода содержимого каталога напиши

Dir;

Скобки у функций, которые вызываются без параметров, в HolyC можно не писать, но если ты хочешь вывести каталог конкретной директории, то в качестве параметра укажи путь к ней. То же самое с командой Cd (смена каталога):

Cd("C:/Demo/Games");

Однако намного проще переходить по каталогам, если просто нажимать на названия папок. Консольный вывод, как и все, что ты видишь в TempleOS, — это документ DolDoc, так что названия файлов и папок — это просто гиперссылки!

Но вот задачка не для слабых умов: как запустить программу из командной строки? В си нет функций вроде Eval, которые можно встретить в динамических языках. Зато есть директива #include, с помощью которой один файл на си вставляется в другой. Именно ей и следует воспользоваться:

#include "CharDemo.HC.Z"

Вместо #include будет подставлено содержимое файла .HC (от HolyC) и тут же скомпилировано и выполнено. Красота, да и только! Кстати, каждый раз писать #include не нужно — достаточно кликнуть по названию файла правой кнопкой мыши и выбрать Include из контекстного меню.


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


С виду HolyC напоминает C++, но если вглядеться пристальнее, то можно найти некоторые отличия. К примеру, здесь нет функции main(), вместо нее код просто исполняется подряд, как в бейсике или JavaScript. Именно по этой причине все, что ты набираешь в командной строке, сразу же исполняется.

Еще ты можешь заметить, что Дэвис свободно использует в коде греческие буквы. Это возможно благодаря тому, что TempleOS — система продвинутая и поддерживает восьмибитные коды ASCII.

Если этого недостаточно, чтобы восхитить тебя, открой любой файл с игрой и узри невиданное: спрайты вставлены прямо в код!




Если навести курсор на спрайт и нажать Ctrl-R, то появляется меню редактирования. Графического редактора как такового в TempleOS нет, но он и не нужен, когда ты можешь просто выбирать инструменты по очереди и рисовать, что тебе заблагорассудится.


Как ты уже мог догадаться, исходные коды HolyC — это такие же документы DolDoc, как и все, что ты видишь в TempleOS. Именно поэтому в них можно напрямую вставлять картинки.

 

Редактируем DolDoc

Что ж, настало время постичь тайны DolDoc и создать свой документ. Сделать это проще простого, достаточно воспользоваться командой Ed:

Cd("C:/Home");
Ed("Doc.DD");

Новый документ сразу откроется в редакторе — можешь записать в нем какие-нибудь светлые мысли. Если же ничего толкового на ум не придет, то открой меню вставки (Insert) и воспользуйся одним из встроенных «оракулов». Команда GodWord вставит в текст псевдослучайное (то есть выбранное за тебя Господом) слово из Библии, GodBiblePassage — случайный отрывок Священного Писания, а GodSong и GodDoodle предназначены для создания и вставки псевдослучайных мелодий и картинок.


Прежде чем ты потратишь остаток дня на изучение того, что выдает «оракул», разреши рассказать тебе про другой полезный пункт меню — Insert → TextWidgets. Здесь на выбор предлагается много занятных вещей, но самая полезная из них — это гиперссылка. Чтобы сослаться на другой документ, выбирай Link и в следующем меню — тип ссылки. Ссылаться можно на заранее созданный якорь, подстроку, строку по номеру и так далее.


Для примера создадим ссылку на файл Doc2.DD.


Нажми Esc, чтобы подтвердить, и ты увидишь, что ссылка добавилась в текст.


Теперь если ты нажмешь Ctrl-T, то увидишь, как ссылка выглядит в текстовом представлении.


Вот она, в последней строке:

$LK, "This is a link", A="FF:Doc2.DD,1"$

Знаки $ ограничивают тег, LK — это шорт-код ссылки, через запятую идет ее текст в кавычках, а параметр A указывает путь к файлу и номер строки в нем. Как видишь, ничего сложного.

Теперь посмотрим, как вставить в текст картинку. Выбирай Insert → GraphicResource → Make Sprite и, например, PolyLine. Обрати внимание, что где ты нарисуешь картинку, там она и будет вставлена в текст. Удобно и наглядно!


Для завершения контура кликни правой кнопкой мыши. Если уже закончил с картинкой, жми Esc, и вернешься к редактированию документа (и пусть тебя не смутит мигание: нарисованный тобой контур мигает, потому что текстовый курсор стоит на его номере). Если нужно добавить что-то еще, снова жми правую кнопку мыши, и вернешься в меню выбора фигур. Когда картинка будет готова, выбирай Exit Sprite в самом низу.


Рисовать, между прочим, можно не только плоские фигуры, но и 3D! В меню редактирования спрайта есть пункт Create or Edit 3D Mesh, который перенесет тебя в трехмерный редактор. Сам автор признается, что 3D-моделирование — это «боль в попе», но нам с божьей помощью удалось нарисовать неплохой красный треугольник.


Не покривив душой, можем сказать, что редактор DolDoc — это лучшее, что есть в TempleOS. Он делает систему интереснейшим творческим инструментом, который поможет тебе творить и славить Господа.

Кстати, сам Дэвис любит рисовать в этом редакторе комиксы про разговоры Моисея с Богом. Например, Моисей говорит: «Арфы слишком тяжелые», а Бог ему отвечает: «Мы должны укрепить облака».

 

Напутствие

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

Мы бы вставили в статью ссылки на нужные страницы справки, но, к сожалению, ты читаешь этот текст не в TempleOS и перейти по ним не сможешь. Впрочем, не беда — ссылки на справку по системе ты можешь найти в любом окне терминала или в домашнем меню.

Крайне полезен, к примеру, список встроенных команд для работы с файлами.


Рекомендуем также прочесть FAQ и другие вводные разделы. Там ты найдешь ценные советы вроде такого: «Если меняешь файлы в каталоге Home, не забудь перезагрузиться. Правильно иметь на диске два раздела TempleOS на случай, если допустишь синтаксическую ошибку в одном из стартовых файлов и система не сможет загрузиться. Просто грузись со второго раздела и монтируй первый функцией Mount()».


Для наиболее продуктивной работы стоит изучить клавиатурные сочетания и прочие шоткаты. Например, клавиша «Пробел» выбирает пункты меню, а двойной клик правой кнопкой мыши почти всегда означает «назад».

В общем, учись, экспериментируй и не забывай благодарить Бога за то, что он дал тебе возможность выбирать операционную систему по своему вкусу и разумению!

10 комментариев

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Используй, свободно! Как работает уязвимость use-after-free в почтовике Exim

В самом популярном на сегодняшний день почтовом сервере Exim был обнаружен опасный баг: ес…