Введение

Распределенная операционная система

Plan 9 от Bell Labs — это распределенная операционная система, возникшая в Центре исследований вычислительной техники (CSRC) в Bell Labs в середине 1980-х годов и основанная на концепциях UNIX, впервые разработанных там в конце 1960-х годов. С 2000 года Plan 9 является бесплатной и имеет открытый исходный код. Последний официальный релиз состоялся в начале 2015 года. В Plan 9 метафора «всё есть файл» из UNIX расширяется благодаря всепроникающей сетевой файловой системе, а курсорно-ориентированный терминальный ввод-вывод, лежащий в основе UNIX-подобных операционных систем, заменяется оконной системой и графическим пользовательским интерфейсом без обращения к курсору, хотя оболочка Plan 9, rc, основана на текстовом режиме. Название «Plan 9 от Bell Labs» — отсылка к культовому научно-фантастическому фильму Эда Вуда 1957 года «План 9 из космоса». В ней были исследованы несколько изменений оригинальной модели Unix, облегчающих использование и программирование системы, особенно в распределенных многопользовательских средах. После нескольких лет разработки и внутреннего использования Bell Labs в 1992 году распространила операционную систему среди университетов. Три года спустя Plan 9 стала доступна для коммерческих организаций через издательство Harcourt Brace, принадлежащее AT&T. Лицензии на исходный код стоили 350 долларов, и AT&T ориентировалась на рынок встраиваемых систем, а не на компьютерный рынок в целом. Ричи отметил, что разработчики не ожидали добиться «значительного вытеснения» существующих операционных систем. К началу 1996 года проект Plan 9 был «приостановлен» AT&T в пользу Inferno, которая должна была стать конкурентом платформе Java от Sun Microsystems. В конце 1990-х годов новый владелец Bell Labs, Lucent Technologies, прекратил коммерческую поддержку проекта, а в 2000 году был выпущен третий релиз под лицензией с открытым исходным кодом. В 2002 году состоялся четвертый релиз под новой лицензией свободного программного обеспечения. Поскольку Bell Labs перешла к более поздним проектам, разработка официальной системы Plan 9 была остановлена. 23 марта 2021 года разработка возобновилась после передачи авторских прав от Bell Labs Фонду Plan 9. Неофициальная разработка системы также продолжается в ветке 9front, где активные участники предоставляют ежемесячные сборки и новые функции. На данный момент ветка 9front предоставила системе драйверы Wi-Fi, аудиодрайверы, поддержку USB и встроенный эмулятор игр, а также другие возможности. Другие недавние операционные системы, вдохновленные Plan 9, включают Harvey OS и Jehanne OS.

{| class="wikitable"
|
! Дата
! Релиз
! Комментарий
|
| 1992
| Plan 9 1-е издание
| Выпущен Bell Labs для университетов
|
| 1995
| Plan 9 2-е издание
| Выпущен Bell Labs для некоммерческих целей

Совместимость с Unix

Хотя План 9 задумывался как дальнейшее развитие концепций Unix, совместимость с существующим программным обеспечением Unix никогда не ставилась целью проекта. Многие командные утилиты Плана 9 носят те же имена, что и их аналоги в Unix, но функционируют иначе.

Деривативы и форки

Inferno является потомком Plan 9 и разделяет множество концепций дизайна и даже исходный код ядра, особенно в части устройств и протокола Styx/9P2000. Inferno, как и Plan 9, унаследовал от Bell Labs традиции Unix и философию Unix. Многие командные утилиты в Inferno – это инструменты Plan 9, переведённые на язык Limbo. 9atom дополняет дистрибутив Plan 9 ядром 386 PAE, CPU amd64 и терминальным ядром, nupas, расширенной поддержкой аппаратного обеспечения ПК, IL и файловой системой Ken's fs. 9front – это ответвление от Plan 9, созданное для решения проблемы недостатка выделенных ресурсов на разработку в Bell Labs, и накопившее множество исправлений и улучшений. 9legacy – это альтернативный дистрибутив, включающий набор патчей, основанных на текущем дистрибутиве Plan 9. Akaros предназначен для многоядерных архитектур и крупномасштабных SMP-систем. Harvey OS – это попытка заставить код Plan 9 работать с компиляторами gcc и clang. JehanneOS – экспериментальная ОС, производная от Plan 9. Её пользовательское пространство и модули в основном взяты из 9front, система сборки – из Harvey OS, а ядро является ответвлением от 64-битного ядра Plan9 9k. NIX – это ответвление от Plan9, ориентированное на многоядерные системы и облачные вычисления. node9 – это скриптованный производный от Plan9/Inferno, заменяющий язык программирования Limbo и виртуальную машину DIS на язык Lua и виртуальную машину LuaJit. Он также заменяет платформенно-зависимую систему ввода-вывода Inferno на систему событий и ввода-вывода libuv от Node.js для обеспечения согласованного кроссплатформенного хостинга. Это концептуальное доказательство того, что распределённую ОС можно построить из пространств имён процессов и общих облачных элементов для создания единого системного образа произвольного размера. Plan B предназначен для работы в распределённых средах, где набор доступных ресурсов меняется со временем. Изначально основанный на ядре Plan 9 третьего издания, Plan B был перенесён в пользовательское пространство для работы на современных системах Plan 9.

Лицензия

Начиная с выпуска Четвертого издания в апреле 2002 года, все предыдущие выпуски были перелицензированы под лицензию MIT.