Разработка программ в среде операционной платформы Inferno


Lasciate ogni speranza voi qu'entrate


"Оставьте входящие сюда всякую надежду" - так гласит надпись над вратами в Ад по версии Данте. Что же касается "Ада" в исполнении компьютерных ученых с мировыми именами, то вход в него предваряют следующие слова (так звучит недословное переложение ответа на вопрос "Что такое Inferno?"):

"Inferno - это компактная операционная среда для построения распределенных и сетевых систем из множества разнообразных устройств и платформ. Благодаря инновационным, уникальным характеристикам Inferno вы получаете непревзойденный набор программных инструментальных средств".

Согласитесь, слова по меньшей мере громкие. Доказывать их истинность из-за сложности и многогранности сего процесса мы не станем, взамен предоставим факты, способные направить на путь подтверждения. Подобно Данте, путешествующему по кругам Ада в сопровождении Вергилия, мы будем исследовать пружины механизма программирования в Inferno, проходя ярус за ярусом ее каркас (несколько условный, взятый на вооружение для удобства повествования) сверху вниз.

На предположительном верхнем, командном уровне, разработка программ в Inferno имеет сравнительно много общего с Unix и Plan 9. Знакомые с первой и/или ее клонами найдут здесь ставшие классическими инструментальные средства: поиска (вместо одиозной find легкий pipe: "du -a | grep имя_файла"), сравнения (diff и cmp), архивирования+сжатия (tar и gzip), строкового и потокового редактирования (ed и sed), генерирования компиляторов (lex и yacc) и др. Все они были упрощены до уровня здравого минимализма и переписаны на новом языке. Plan 9-фаны обнаружат C-компиляторы (0c, 1c, 2c, 5c, 8c, kc, qc, vc) и ассемблеры (0a, 1a, 2a, 5a, 8a, ka, qa, va), утилиту mk, программируемый символьный отладчик acid, Acme IDE, rc-подобную оболочку sh (плюс ее альтернативу под названием tiny, а также mash - устаревшую альтернативу), поддержку механизма plumbing, системные вызовы управления пространством имен: bind, mount, unmount. Очевидно, что наследство богатое и знаменитое, но им созидатели Inferno не ограничились. В "боевой" комплект ОС вошли: новый, безопасный, модульный и т.д. язык программирования высокого уровня Limbo и необычная виртуальная машина Dis, модифицированная реализация подсистемы Tk (до 4-й версии Inferno вместе с ядром отвечала за управление окнами) для Limbo, интерпретатор языка Tcl.



Содержание раздела