Как стать автором
Обновить

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

Время на прочтение 3 мин
Количество просмотров 9.8K
Изначально OS Inferno меня заинтересовала лет 5 назад, когда я где-то прочитал фразу «Новая ОС от авторов C и UNIX, результат 30-летних исследований!».

В процессе изучения этого вопроса выяснилось, что до Inferno они выпустили ещё одну ОС — Plan9. Я попытался его себе установить, но неудачно — моё железо он не поддерживал. У Plan9 вообще в плане поддержки более-менее современного железа очень плохо (по крайней мере — было плохо в те времена, как сейчас я не знаю).

Что касается самой Inferno, то первым впечатлением был полный восторг: она может работать как native (т.е. прямо на железе), так и hosted (т.е. под управлением другой ОС). Native Inferno я запустить не смог по той же причине (поддержка железа), но по большому счёту я даже не особо пытался — hosted вариант меня вполне устроил для изучения системы.

А в hosted режиме Inferno может работать и под виндой, и под линухом, и под другими юниксами, и даже под Internet Explorer (с помощью специального плагина, внутри html-странички появляется окошко а-ля java или flash только с юникс-подобной командной строкой)! Update: плагин работает только под древними IE, были планы сделать плагин для Firefox, но его так и не выпустили.
Inferno IE plugin

Изучение внутренней архитектуры и документации восторг только усилило — такой элегантной системы я никогда не видел… изучение этой системы буквально открыло мне глаза на то, насколько всё-таки POSIX это уродливая и переусложнённая вещь.

Весит Inferno по нынешним временам копейки, работает не просто быстро, она летает (и это при том, что работа идёт в hosted режиме под, например, виндой, и используется не командная строка а графическая среда а-ля X-Window.

Но, постепенно, восторг начал сменяться недоумением: зачем всё это нужно, какая лично мне от этого может быть практическая польза? Ну, работает оно в окошке под IE — и что, я теперь CGIшки буду ваять под Inferno и для работы они будут требовать этот плагин и работать будут только в IE? Врядли это прокатит в нынешнем коммерческом программировании…

Да, архитектура у Inferno обалденная, но пользоваться им — ой, мама… sh тамошний не поддерживает автодополнение имён команд и путей к файлам… более того, он даже историю команд не поддерживает… графическая система использует исключительно Tk для графики, который хотя и довольно удобен в программировании но выглядит при этом весьма уродливо (кстати, любопытно почему для Tk в принципе нет шкурок?)… проигрыватели видео, графики, музыки — есть, но поддержка всяких кодеков и форматов не ахти… браузер есть, даже с поддержкой javascript и css, но ему до современных браузеров ещё расти и расти…

Есть даже IDE для разработки — ACME. Это текстовая оконная среда, ориентированная на работу с помощью полноценной трёх-кнопочной мыши. У меня мышь обычная (т.е. третья кнопка — это нажимающееся колесо), и полноценных трех-кнопочных мышей в продаже я не видел много лет. Я пытался неделю работать в ACME, но я эту среду так и не понял — мне дико не хватало родного Vim!

В общем, закончилось знакомство удалением Inferno «до лучших времён»: когда в Inferno сделают нормальный sh, портируют Vim, Mplayer, etc.

Кстати, с портированием юниксового софта в Inferno всё не просто — дело в том, что во-первых Inferno несовместим с POSIX, а во-вторых в Inferno нет языка C. Вместо C там язык Limbo, работающий под управлением виртуальной машины (а-ля Java). В Limbo есть автоматический сборщик мусора и нет свободной работы с указателями в стиле C. Так что портировать Vim или Mplayer под Inferno будет очень и очень непросто.

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

Несколько месяцев назад я познакомился с Inferno второй раз, и на этот раз всё прошло гораздо более удачно. Даже не смотря на то, что никаких улучшений в плане интерфейса sh или доступности под Inferno Vim и Mplayer не произошло.

Продолжение следует...
Теги:
Хабы:
+16
Комментарии 17
Комментарии Комментарии 17

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн