Журнал LinuxFormat - перейти на главную

LXF156:AtheOS

Материал из Linuxformat
Перейти к: навигация, поиск


Содержание

AtheOS

Пред­по­след­ний взлет ин­ди­ви­ду­аль­но­го ОCетворчества

Алек­сей Фе­дор­чук бе­рет­ся за опе­ра­ци­он­ную сис­те­му, ко­то­рая не чис­лит в сво­их пред­ках UNIX – и во­об­ще не име­ет пред­ков, бу­ду­чи соз­да­на с ну­ля.

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

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

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

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

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

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

  • об­ра­зы двух за­гру­зоч­ных дис­кет;
  • об­раз дис­ке­ты с дан­ны­ми, под кои­ми име­ет­ся в ви­ду ба­зо­вый на­бор ком­понен­тов;
  • соб­ст­вен­но сис­те­му в ви­де еди­но­го tar-ар­хи­ва объ­е­мом око­ло 20 Мбайт;
  • неболь­шую, но вполне внят­ную до­ку­мен­та­цию, по­свя­щен­ную опи­санию ин­стал­ля­ции сис­те­мы и па­ра­мет­ров за­груз­ки яд­ра.

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

(thumbnail)
На этом экранном снимке показана AtheOS в действии.

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

Для уста­нов­ки сис­те­мы тре­бо­вал­ся вин­че­стер со сво­бод­ным раз­де­лом или нераз­ме­чен­ным про­стран­ст­вом, ка­кой-ли­бо но­си­тель с фай­ло­вой сис­те­мой 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 с со­от­вет­ст­вую­щи­ми оп­ция­ми) ба­зо­во­го tar-ар­хи­ва.

...и как ра­бо­та­ла

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

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

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

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

Не знаю, уда­лось ли мне в сво­ем рас­ска­зе пе­ре­дать то чув­ст­во лег­ко­сти, бы­ст­ро­ты, ком­пакт­но­сти, ак­ку­рат­но­сти ин­тер­фей­са, про­сто­ты уста­нов­ки и ис­поль­зо­вания, ко­то­рое ис­пы­ты­вал при об­щении с 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, как это и ска­за­но в за­гла­вии ста­тьи, мож­но счи­тать пред­по­следним взле­том ин­ди­ви­ду­аль­но­го ОСе­твор­че­­ст­ва. По­че­му пред­по­следним? Не толь­ко по­то­му, что бы­ло бы обид­но, ес­ли бы он ока­зал­ся по­следним. Но и по­то­му, что в двух бли­жай­ших стать­ях цик­ла мы уви­дим иные его при­ме­ры. При­чем при­ме­ры бо­лее оп­ти­ми­стич­ные.

Персональные инструменты
купить
подписаться
Яндекс.Метрика