Книга: Вопросы истории: UNIX, Linux, BSD и другие

Глава шестая. Последний взлёт индивидуального ОСетворчества

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

Об одной из них, системе, возникшей на наших глазах, на наших же глазах угасшей, но возродившейся вновь, хотя и под другим именем, я и хочу рассказать в этой статье. А в конце её попробую в очередной раз извлечь уроки из истории – тем более, что тема эта будет продолжена в ближайших главах. Итак, наша сегодняшняя героиня – AtheOS, позднее известная как Syllable.

Пролог

История горячего финского парня Линуса Торвальдса, в одиночку из ничего сочинившего операционную систему, знают все, интересовавшиеся историей ОСестроения. А вот история норвежского парня Курта Скавена (Kurt Skauen, за точность транскрибции не ручаюсь) широкой известности не получила даже в узких кругах. Хотя Курт занимался своей разработкой ещё более в одиночку и ещё менее из ничего. Возможно, потому, что он парень ещё более горячий, вследствие чего его деятельность не имела таких последствий.

Однако начнём по порядку. Все системы, описанные ранее в этом цикле, так или иначе, генетически или парагенетически, связаны с первозданным UNIX'ом.

Так, все BSD-клоны, в сущности, ни что иное, как UNIX, очищенный от проприетарного UNIX-кода. MINIX, о которой упоминалось ранее и к которой мы вернёмся в ближайшее время, представляла собой модельную (или «игрушечную» систему UNIX). Linux же исторически – попытка воспроизведения функциональности UNIX-систем, вообще не используя код UNIX, а опираясь только на стандарты. И даже Hurd, в котором декларируется отход от принципов UNIX-архаики, подчинен единой идее: сделать все, как в UNIX, но иначе. То есть в полном соответствие с известным рекурсивным высказыванием Ричарда Столлмана: GNU – GNU is Not UNIX. Правда, к счастью, всё, что до сих пор сделано в рамках проекта GNU, от этого меньшим UNIX'ом не стало. По крайней мере, пока.

Возникает вопрос – все ли в мире свободных ОС прямо и непосредственно происходит от UNIX? Как выясняется, не всё. И примером этому – некая свободная альтернативная операционная система, названная создателем AtheOS. Об этимологии её имени могу только гадать – но у меня оно ассоциируется и со славным городом Афинами, и с Афиной Палладой. Дальнейшую ассоциативную цепочку читатель легко построит сам.

Чем была AtheOS

Создателем AtheOS от начала и до конца всей истории выступал один-единственный человек – ранее упомянутый Курт Скавен. Согласно его декларации, AtheOS – своего рода tabula rasa (цитирую – «new clean desktop OS»), разработанная с нуля. То есть – не потомок UNIX, в отличие от BSD, и не реинкарнация ее, подобно Linux. И даже POSIX-совместимость Курт не возводил в абсолют, хотя и более-менее его стандартам следовал. В этом отношении напрашивается аналогия AtheOS с QNX, отнюдь не UNIX'ом, но местами сходной с ним операционкой. История которой, кстати, тоже весьма интересна, но мной не рассматривается по причине недостаточного знакомства.

Разработка AtheOS была начата Куртом во второй половине 90-х годов. Однако о своём создании он заявил миру весной 2000 года,разместив в открытом доступе её исходники под лицензией GPL (тогда ещё только за номером 2). А в начале 2001 (то есть уже однозначно в XXI веке) года под AtheOS был портирован Apache и сайт проекта http://www.atheos.cx/ заработал под управлением её же самой. И работал ещё несколько лет после прекращения разработки, без всякого участия автора. Так что всю короткую, но яркую историю AtheOS можно целиком считать принадлежащей к третьему тысячелетию.

AtheOS функционировала на любых Intel-совместимых процессорах, причем с очень эффективной поддержкой мультипроцессорных архитектур. Система написана почти целиком на Си – ассемблерная часть ядра составляет чуть больше 20 Кбайт. И потому теоретически она повязана с Intel-архитектурой не больше, чем любая иная POSIX-совместимая система.

Одна из отличительных особенностей AtheOS – поддержка в ядре графического интерфейса пользователя, основанного на архитектуре клиент-сервер, но отличного, тем не менее, от оконной системы X, привычной всем пользователям UNIX. Вместе с тем поддерживается и стандартный интерфейс командной строки в лице типичных UNIX’овых Shell’ов (штатно – bash, но и zsh был на эту ОС портирован). Ну и вообще декларируется поддержка, хотя и не полная, всяческих стандартов (типа POSIX).

Как она получалась...

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

   • образы двух загрузочных дискет;

   • образ дискеты с данными, под коими имеется ввиду базовый набор компонентов;

   • обственно систему в виде единого тарбалла объемом около 20 Мбайт;

   • небольшую, но вполне внятную документацию, посвященную описанию инсталляции системы и параметров загрузки ядра.

Кроме этого, на сайте (в отдельном каталоге) имелся набор дополнительных пакетов (также в виде tgz-архивов), несколько ограниченный, но оригинальный по подбору: средства разработки (gcc, automake и подобные), web-сервер Apache, редактор emacs, основные UNIX-утилиты типа grep, gawk и т.д., включая даже Midnight Commander.

Как устанавливалась...

Для установки системы требовался винчестер со свободным разделом или не размеченным пространством, какой-либо носитель с файловой системой FAT (раздел диска или, например, Zip) и три трёхдюймовые дискеты. На FAT-носитель помещался базовый файл, на дискеты, посредством rawrite (в DOS/Windows) или dd (в UNIX/Linux), – образы загрузочных дискет и дискеты с данными.

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

Все последующее было не просто, а очень просто. Для начала в bash запускалась программа DiskManager и на пустом пространстве целевого диска выделялся раздел под родную файловую систему afs (AtheOS File System. Разумеется, если не жалко, можно было уничтожить какой-либо из разделов существующих.

Программа создания разделов, как и все в этой системе, работала в графическом режиме (текстовый режим в AtheOS отсутствовал как класс) и была весьма удобной в обращении. Правда, номенклатура накопителей в ней, как это в обычае среди «крутых пацанов», отличалась от любой другой. Иерархия каталогов в AtheOS также значительно отличалась от типичной для большинства UNIX-систем. Но ко всему этому нужно было просто привыкнуть.

После этого на разделе или диске создавалась (командой format) файловая система afs и две точки монтирования – для FAT-устройства с базовым файлом и для afs-раздела для системы собственно. Установка же последней осуществлялась банальной распаковкой (командой tar с соответствующими опциями) базового тарбалл.

И как работала

Теперь оставалось только обеспечить загрузку новообретённой системы. Загрузчиком её являлся самый обычный GRUB. И потому посредством стандартного текстового редактора (в качестве коего выступал jed – к счастью или несчастью, но никакого vi не было и в помине) правился его конфигурационный файл.

Затем система перезагружалась (обязательно с помощью комбинации из трех пальцев, но никак не Reset’ом) с первой дискеты и при появлении меню GRUB’а переводилась в режим его редактирования. Тут следовало указать новый корневой раздел, после чего сделанные изменения изменения записать в MBR. После этого, вынув дискету, можно было загрузить AtheOS уже нормальным образом. При этом система практически мгновенно переходила в графический режим, и после авторизации перед глазами возникал рабочий стол с пузырчатыми обоями, в углу которого сиротливо ютились пиктограммы для запуска программ: файлового менеджера, браузера, терминала, утилиты настройки (Prefs) и пары-тройки системных мониторов.

Штатный набор приложений выглядел бедновато, но мог быть расширен за счёт дополнительных пакетов, правда, тоже не очень многочисленных. Это выполнялось в два приема: сначала пакет распаковывался из архива, а потом регистрировался в базе данных специальной утилитой. В отличие от всех тогдашних UNIX-подобных систем, дополнительные пакеты устанавливаются каждый в свой подкаталог каталога /usr, а не раскидывал свои файлы по древу многочисленных bin’ов, lib’ов и прочих man’ов. Не будем обсуждать, хорошо это или плохо – но ныне такой подход практикуется в PC-BSD и некоторых дистрибутивах Linux.

Что еще остается добавить? Утилита конфигурирования Prefs позволяла настроить разрешение экрана и глубину цвета, выбрать экранные шрифты (в качестве системных используются шрифты True Type) и раскладку клавиатуры – они представлены для большинства европейских языков, хотя русского среди них не было, как и кириллических экранных шрифтов, хотя русская locale имелась.

Не знаю, удалось ли мне в своём рассказе передать то чувство лёгкости, быстроты, компактности, аккуратности интерфейса, простоты установки и использования, которое испытывал при общении с AtheOS действующий пользователь Linux или BSD. Но она вызывала именно такие эмоции. Конечно, на тот момент времени её нельзя было рассматривать как полноценную универсальную ОС для практической деятельности. Хотя уже тогда резонные люди утверждали, что применяться как платформа для разработки она могла. А её потенциал как системы для настольного использования просмтаривался достаточно явно.

Что же касается утверждения автора об отсутствии связи AtheOS с UNIX – можно констатировать: он постарался, чтобы его систему нельзя было бы спутать с Linux или FreeBSD. Однако несомненно, что идеологически он следовал именно пути UNIX, а не, скажем, традициям DOS или Windows. Хотя в те годы AtheOS часто сравнивали с AmigaOS или BeOS.

Увы, потенциал AtheOS так и не был реализован. Разработки Курта прекратились в начале 2002 года, последнее обновление сайта датировалось осенью 2003-го. Хотя, повторяю, сайт был доступен ещё долгое время, пока на нём не появилось сообщение об окончании срока регистрации домена. Ныне сайт символически восстановлен в качестве своего рода мемориала по тому же адресу – правда, дальше первой страницы пройти по нему нельзя.

О причинах прекращения разработки в Сети ходили противоречивые слухи. В частности, писали о том, что Курт увлёкся любительским пилотированием и потерял интерес к AtheOS. А поскольку в ходе активной его разработки он, в отличие от Линуса, не особенно привлекал к нему посторонних разработчиков, проект оказался «бесхозным», и Афина Паллада не пришла ему на помощь.

Так что столь интересный и потенциально многообещающий проект можно было бы считать мертвым. Однако чувство печали – ведь с уходом чего-то хорошего становится как-то грустно – заставляло меня время от времени наведываться на сайт проекта в надежде увидеть там какие-то подвижки. Пока вдруг по наитию не набрал слово «AtheOS» в поисковой строке Google.

Эпилог

И тут в очередной раз обнаружилось, что приключения никогда не кончаются, по крайней мере – в мире Open Source (надеюсь, вы не забыли, что AtheOS распространялась по лицензии GPL?). Так вот, угасание проекта вызвало, видимо обиду не только у меня: на одном только SourceForge я обнаружил тогда пять разработок, выводящих свою генеалогию из системы Курта.

Правда, по настоящему действующей была только одна, носившая имя Syllable. Но зато это было настоящее развитие, продолжающееся и поныне, хотя далеко не теми темпами, как при Курте. Так что хочется верить – история AtheOS еще не окончена.

Я же пока сделаю выводы из истории прошедшей. главный из них таков: даже в наш век, когда одни разработчики Open Source пользуются поддержкой крупных фирм, другие просто работают в них за зарплату, а третьи сами образуют коммерческие фирмы, четвёртые создают большие и устоявшиеся сообщества, а пятые вообще уповают на поддержку родного государства, разработка новой, оригинальной и эффективной ОС силами индивидуала-энтузиаста оказывается возможной. Причём разработка в короткий срок – в отличие от развиваемых сообществом долгостроев, на которые не будем указывать пальцем.

Конечно, и это второй урок нашей истории – до определённого предела. После которого требуется привлечение соратников и единомышленников. Курту Скавену это не удалось – или это не входило в его планы. Но если проект интересен не только его автору, соратники и единомышленники появляются сами, даже если автор потерял всякий интерес к своему созданию. И это – третий урок, который мы в очередной раз извлекаем из истории Open Source.

Так что AtheOS, как это и сказано в заглавии статьи, можно считать предпоследним взлётом индивидуального ОСетворчества. Почему предпоследним? Не только потому, что было бы обидно, если бы он оказался последним. Но и потому, что в двух ближайших статьях цикла мы увидим более иные примеры его. Причём примеры более оптимистичные.

Героинями следующих двух статей цикла также будут ОС третьего тысячелетия – DragonFlyBSD и MINIX3. Хотя первая из них рассматривается обычно как форк FreeBSD, а вторая – как развитие той самой «игрушечной» MINIX, которая вдохновила Линуса Торвальдса на создание своей терминальной программы, обе они нынче являют собой вполне самостоятельные системы. И история их в этом качестве целиком принадлежит уже нашему времени. А судьба их оказалась более счастливой, нежели у героини сегодняшнего рассказа.

Оглавление книги


Генерация: 1.516. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз