Plan 9 от Bell Labs

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

Plan 9 от Bell Labs
Гленда-кролик-талисман плана 9 от Bell Black.jpg Гленда, талисман Plan 9, нарисованный Рене Френч
Plan 9 от Bell Labs (Установка).png Установка Plan 9
Разработчик Bell Labs
Написано на Диалекте ANSI C
Рабочее состояниеНеизвестно
Исходная модельОткрытый исходный код
Первоначальный выпуск1992 г.; 28 лет назад (1992) (университеты) / 1995; 25 лет назад (1995 г.) (широкая публика)
Последний выпуск Четвертое издание / 10 января 2015 г.; 5 лет назад (10.01.2015)
Маркетинговая цельИсследование операционных систем, сетевые среды, универсальное использование
Доступно на английском языке
Метод обновлениякопия
Платформыx86 / Vx32, x86-64, MIPS, DEC Alpha, SPARC, PowerPC, ARM
Kernel типГибридное ядро ​​
Под влияниемResearch Unix, Cambridge Distributed Computing Система
По умолчанию пользовательский интерфейс rio / rc
Лицензия Общественная лицензия Lucent или GPLv2
ПреемникInferno. Другие производные и вилки
Официальный веб-сайт9p.io / plan9 /

Plan 9 от Bell Labs - это распределенная операционная система, созданная в Центре компьютерных исследований (CSRC) по адресу Bell Labs в середине 1980-х, и, опираясь на концепции UNIX, впервые были разработаны там в конце 1960-х. Последний официальный выпуск был выпущен в начале 2015 года.

Согласно плану 9, метафора UNIX все является файлом расширяется с помощью широко распространенной сетевой файловой системы и с адресацией курсора, на основе терминала ввод-вывод в основе UNIX-подобных операционных систем заменяется на оконное управление система и графический интерфейс пользователя без адресации курсора, хотя rc, оболочка Plan 9 , является текстовой.

Название Plan 9 от Bell Labs является отсылкой на Эд Вуд 1959 г. научная фантастика Z-фильм Plan 9 из космоса. (Название талисмана проекта, «Гленда, кролик из плана 9», по-видимому, является отсылкой к фильму Вуда Глен или Гленда.) Система продолжает использоваться и развиваться исследователями операционных систем и любителями.

Содержание

  • 1 История
  • 2 Концепции проектирования
    • 2.1 Протокол 9P
    • 2.2 Объединение каталогов и пространств имен
    • 2.3 Специальные виртуальные файловые системы
      • 2.3.1 /proc
      • 2.3.2 /net
    • 2.4 Unicode
    • 2.5 Объединение концепций дизайна
  • 3 Программное обеспечение для Plan 9
    • 3.1 Графические программы
    • 3.2 Система хранения
    • 3.3 Разработка программного обеспечения
    • 3.4 Совместимость с Unix
  • 4 Прием
    • 4.1 Сравнение с современными операционными системами
    • 4.2 Влияние
      • 4.2.1 Производные и форки
  • 5 Лицензия
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

История

Plan 9 от Bell Labs был первоначально разработан, начиная с конца 1980-х, членами Научно-исследовательского центра вычислительной техники Bell Labs, той же группы, которая первоначально разработала Unix и C p язык программирования. Первоначально команду Plan 9 возглавили Роб Пайк, Кен Томпсон, Дэйв Пресотто и Фил Уинтерботтом при поддержке Денниса Ричи в качестве главы отдела исследований вычислительной техники Департамент. На протяжении многих лет в проект внесли свой вклад многие известные разработчики, в том числе Брайан Керниган, Том Дафф, Дуг Макилрой, Бьярн Страуструп и Брюс Эллис.

Plan 9 заменил Unix в качестве основной платформы Bell Labs для исследования операционных систем. Он исследовал несколько изменений исходной модели Unix, которые облегчают использование и программирование системы, особенно в распределенных многопользовательских средах. После нескольких лет разработки и внутреннего использования Bell Labs отправила операционную систему университетам в 1992 году. Три года спустя Plan 9 был предоставлен ATT для коммерческих целей через книжное издательство Harcourt Brace. При стоимости исходных лицензий 350 долларов компания ATT нацелена на рынок встраиваемых систем, а не на рынок компьютеров в целом. Ритчи прокомментировал, что разработчики не ожидали «большого вытеснения», учитывая, насколько устоялись другие операционные системы.

К началу 1996 года ATT «отложила проект Plan 9 на задний план». из Inferno, предназначенного для конкуренции с Sun Microsystems 'платформой Java. В конце 1990-х новый владелец Bell Labs Lucent Technologies прекратил коммерческую поддержку проекта, и в 2000 году третий выпуск был распространен под лицензией с открытым исходным кодом. Четвертый выпуск под новой лицензией бесплатного программного обеспечения вышел в 2002 году.

Сообщество пользователей и разработчиков, включая нынешний и бывший персонал Bell Labs, выпускало небольшие ежедневные выпуски в в виде образов ISO. Bell Labs организовала разработку. Дерево исходных кодов разработки доступно по протоколам 9P и HTTP и используется для обновления существующих установок. В дополнение к официальным компонентам ОС, включенным в ISO, Bell Labs также содержит репозиторий приложений и инструментов, разработанных сторонними организациями.

Поскольку Bell Labs недавно перешла к более поздним проектам лет, разработка официальной системы Plan 9 остановилась. Неофициальная разработка системы продолжается на вилке 9front, где активные участники ежемесячно предоставляют сборки и новые функции. На данный момент вилка 9front предоставляет системные драйверы Wi-Fi, аудиодрайверы, поддержку USB и встроенный игровой эмулятор, а также другие функции. Другие недавние операционные системы, вдохновленные Plan 9, включают Harvey OS и Jehanne OS.

ДатаВыпускКомментарий
1992Plan 9 1-е изданиеВыпущено Bell Labs в университеты
1995Plan 9 2nd editionВыпущено Bell Labs для некоммерческих целей
2000Plan 9 3-е изд. (Бразилия)Выпущено Lucent Technologies по лицензии с открытым исходным кодом
2002Plan 9 4-е изданиеВыпущено Lucent Technologies по новой лицензии на бесплатное программное обеспечение

Концепции дизайна

Plan 9 от Bell Labs похож на квакеров : отличается акцентом на «Внутренний свет», отличается простотой жизни, в частности, ясностью речи. Как и квакеры, Plan 9 не обращается в веру.

- Сэйп Дж. Маллендер, Пьер Дж. Янсен.. Реальное время в реальной операционной системе

Plan 9 - это распределенная операционная система, предназначенная для создания сети из разнородных и географически разделенных компьютеров, функционирующих как единая система. В типичной установке Plan 9 пользователи работают на терминалах, на которых запущена оконная система rio, и получают доступ к серверам ЦП, которые обрабатывают процессы с интенсивными вычислениями. Постоянное хранение данных обеспечивается дополнительными сетевыми хостами, выступающими в качестве файловых серверов и архивных хранилищ.

Его разработчики заявляют, что

[т] в основе системы лежат две идеи: каждый процесс пространство имен и простой протокол файловой системы, ориентированный на сообщения.

— Пайк и др.

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

Вторая идея означает, что процессы могут предлагать свои услуги другим процессам, предоставляя виртуальные файлы, которые появляются в пространстве имен других процессов. Ввод / вывод процесса клиента для такого файла становится межпроцессным взаимодействием между двумя процессами. Таким образом, Plan 9 обобщает представление Unix о файловой системе как о центральной точке доступа к вычислительным ресурсам. Он передает идею Unix о файлах устройств для обеспечения доступа к периферийным устройствам (мыши, съемные носители и т. Д.) И возможности монтировать файловые системы, находящиеся на физически отдельные файловые системы в иерархическое пространство имен, но добавляет возможность установить соединение с серверной программой, которая использует стандартизованный протокол и рассматривает свои службы как часть пространства имен.

Например, исходная оконная система, называемая 8½, использовала эти возможности следующим образом. Plan 9 представляет пользовательский интерфейс на терминале с помощью трех псевдо-файлов: мыши, которая может быть прочитана программой для получения уведомлений о движениях мыши и щелчках кнопок, cons, которая может использоваться для выполнения текстового ввода / output и bitblt, запись в который активирует графические операции (см. bitblit ). Оконная система мультиплексирует эти устройства: при создании нового окна для запуска какой-либо программы она сначала устанавливает новое пространство имен, в котором мышь, cons и bitblt соединены с собой, скрывая фактическое устройство файлы, к которым у него есть доступ. Таким образом, оконная система получает все команды ввода и вывода от программы и обрабатывает их соответствующим образом, отправляя вывод на фактическое экранное устройство и предоставляя программе, в которой в данный момент находится фокус, ввод с клавиатуры и мыши. Программе не нужно знать, взаимодействует ли она напрямую с драйверами устройств операционной системы или с оконной системой; ему нужно только предположить, что его пространство имен настроено так, чтобы эти специальные файлы обеспечивали тип ввода и принимали тип сообщений, которые он ожидает.

Распределенная работа Plan 9 также опирается на пространства имен для каждого процесса, позволяя процессам клиента и сервера обмениваться данными между машинами только что описанным способом. Например, команда cpu запускает удаленный сеанс на вычислительном сервере. Команда экспортирует часть своего локального пространства имен, включая устройства терминала пользователя (мышь, cons, bitblt), на сервер, чтобы удаленные программы могли выполнять ввод / вывод с помощью мыши терминала, клавиатуры. и дисплей, объединяющий эффекты удаленного входа в систему и совместно используемой сетевой файловой системы.

Протокол 9P

Все программы, которые хотят предоставлять услуги в виде файлов другим программам, используют единый протокол, называемый 9P. По сравнению с другими системами это уменьшает количество пользовательских интерфейсов программирования. 9P - это общий, не зависящий от среды, байт-ориентированный протокол, который обеспечивает доставку сообщений между сервером и клиентом. Протокол используется для обращения к процессам, программам и данным и связи с ними, включая как пользовательский интерфейс, так и сеть. С выпуском 4-го издания он был изменен и переименован в 9P2000.

В отличие от большинства других операционных систем Plan 9 не предоставляет специальных интерфейсов прикладного программирования (таких как сокеты Berkeley, X ресурсы или ioctl системные вызовы) для доступа к устройствам. Вместо этого драйверы устройств Plan 9 реализуют свой интерфейс управления в виде файловой системы, так что к оборудованию можно получить доступ с помощью обычных операций чтения и записи файла ввода / вывода. Следовательно, совместное использование устройства в сети может быть выполнено путем установки соответствующего дерева каталогов на целевой компьютер.

Объединение каталогов и пространств имен

Plan 9 позволяет пользователю собирать файлы (называемые именами) из разных деревьев каталогов в одном месте. Результирующий каталог union ведет себя как объединение базовых каталогов (порядок объединения можно контролировать); если составляющие каталоги содержат файлы с одинаковыми именами, список объединенного каталога (ls или lc) просто сообщит о повторяющихся именах. Разрешение одного имени пути выполняется сверху вниз: если каталоги top и bottom объединены в u с top первым, то u / name обозначает top / name, если он существует, bottom / name, только если он существует, и top / name не существует, и нет файла, если ни один из них не существует. Рекурсивное объединение подкаталогов не выполняется, поэтому, если существует top / subdir, файлы в bottom / subdir недоступны через объединение.

Каталог объединения может быть создан с помощью команда привязки:

; привязать / рука / бин / бин; привязать -a / acme / bin / arm / bin; bind -b / usr / alice / bin / bin

В приведенном выше примере / arm / bin монтируется в / bin, а содержимое / arm / bin заменяет предыдущее содержимое / bin. Каталог bin затем монтируется с объединением после / bin, а личный каталог bin Алисы монтируется с помощью объединения раньше. Когда файл запрашивается из / bin, он сначала ищется в / usr / alice / bin, затем в / arm / bin и, наконец, в / acme / bin / рука.

Таким образом, отдельные пространства имен процессов заменяют понятие пути поиска в оболочке. В то время как оболочки Unix имеют список каталогов для поиска программ по команде, оболочка Plan 9 просматривает только каталог / bin; добавление команд выполняется путем связывания нескольких каталогов вместе, чтобы они отображались как один /bin.

Кроме того, ядро ​​может хранить отдельные таблицы монтирования для каждого процесса и, таким образом, может предоставить каждому процессу его собственную файловую систему пространство имен. Пространства имен процессов могут быть созданы независимо, и пользователь может работать одновременно с программами, имеющими разнородные пространства имен. Пространства имен можно использовать для создания изолированной среды, подобной chroot, но более безопасным способом.

Архитектура объединенного каталога Plan 9 вдохновлена ​​4.4BSD и Реализации Linux объединенной файловой системы, хотя разработчики средства монтирования объединения BSD сочли нерекурсивное объединение каталогов в Plan 9 "слишком ограничивающим для общего использования".

Специальные виртуальные файловые системы

/ proc

Листинг процессов с помощью перечисляет содержимое каталога (ls, lc) command в / proc

вместо системных вызовов специально для процесса management, Plan 9 предоставляет файловую систему / proc. Каждый процесс отображается как каталог, содержащий информацию и управляющие файлы, которыми можно управлять с помощью обычных системных вызовов ввода-вывода файлов.

Подход файловой системы позволяет управлять процессами Plan 9 с помощью простого управления файлами такие инструменты, как ls и cat ; однако процессы не могут быть скопированы и перемещены как файлы.

/ net

Plan 9 не имеет специализированных системных вызовов или ioctls для доступа к сетевому стеку или сетевому оборудованию. Вместо этого используется файловая система / net. Сетевые соединения контролируются чтением и записью управляющих сообщений в управляющие файлы. Подкаталоги, такие как / net / tcp и / net / udp, используются в качестве интерфейса для соответствующих протоколов.

Unicode

Чтобы упростить управление кодировок символов, Plan 9 использует Unicode во всей системе. Первоначальная реализация Unicode была ISO 10646. Кен Томпсон изобрел UTF-8, который стал родной кодировкой в Plan 9. Вся система была преобразована для общего использования в 1992 году. UTF-8 сохраняет обратную совместимость с традиционным Строки с завершающим нулем, обеспечивающие более надежную обработку информации и связывание многоязычных строковых данных с помощью каналов Unix между несколькими процессами. Использование единой кодировки UTF-8 с символами для всех культур и регионов устраняет необходимость переключения между наборами кодов.

Объединение концепций дизайна

Хотя сами по себе интересны, концепции дизайна Plan 9 должны были быть наиболее полезными в сочетании друг с другом. Например, для реализации сервера трансляции сетевых адресов (NAT) можно создать объединенный каталог, перекрывая дерево каталогов / net маршрутизатора с его собственным / нетто. Точно так же виртуальная частная сеть (VPN) может быть реализована путем наложения в объединенном каталоге иерархии / net с удаленного шлюза с использованием защищенного 9P через общедоступный Интернет. Каталог union с иерархией / net и фильтрами можно использовать для песочницы ненадежного приложения или для реализации брандмауэра. Таким же образом распределенная вычислительная сеть может состоять из объединенного каталога иерархий / proc с удаленных хостов, что позволяет взаимодействовать с ними, как если бы они были локальными.

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

Программное обеспечение для Plan 9

В качестве преимущества системы дизайна, большинство задач в Plan 9 можно выполнить с помощью утилит ls, cat, grep, cp и rm в сочетании с rc shell ( оболочка Plan 9 по умолчанию).

Factotum - это сервер аутентификации и управления ключами для Plan 9. Он обрабатывает аутентификацию от имени других программ, так что и секретные ключи, и детали реализации должны быть известны только Factotum.

Графические программы

Выполняется Plan 9 и rc

В отличие от Unix, Plan 9 был разработан с учетом графики. После загрузки терминал Plan 9 будет запускать оконную систему rio, в которой пользователь может создавать новые окна, отображающие rc. Графические программы, вызываемые из этой оболочки, заменяют ее в своем окне.

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

и текстовые редакторы Plan 9.

Система хранения

Plan 9 поддерживает Kfs, Paq, Cwfs, FAT и Fossil файловые системы. Последний был разработан в Bell Labs специально для Plan 9 и обеспечивает возможность хранения моментальных снимков. Его можно использовать непосредственно с жестким диском или с резервной копией Venti, архивной файловой системой и системой постоянного хранения данных.

Разработка программного обеспечения

Пакет распространения для Plan 9 включает специальные варианты компилятора и языки программирования, а также предоставляет индивидуальный набор библиотек вместе с системой оконного пользовательского интерфейса, специфичной для План 9. Основная часть системы написана на диалекте C (ANSI C с опущенными некоторыми расширениями и некоторыми другими функциями). Компиляторы для этого языка были специально созданы с учетом переносимости; по словам их автора, они «быстро компилируются, медленно загружаются и создают объектный код среднего качества».

A язык параллельного программирования под названием Alef был доступен в первых двух редакциях, но затем был исключен по причинам обслуживания и заменен библиотекой threading для C.

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

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

Plan 9 может поддерживать приложения POSIX и может эмулировать Интерфейс сокета Беркли через среду ANSI / POSIX (APE), которая реализует интерфейс , близкий к ANSI C и POSIX, с некоторыми общими расширениями (собственные интерфейсы Plan 9 C не соответствуют ни одному стандарту). Он также включает оболочку, совместимую с POSIX. Авторы APE утверждают, что использовали его для переноса X Window System (X11) на Plan 9, хотя они не поставляют X11, «потому что поддержка его должным образом - слишком сложная задача». Некоторые двоичные файлы Linux можно использовать с помощью приложения "linuxemu" (эмулятор Linux); тем не менее, эта работа все еще продолжается. И наоборот, виртуальная машина vx32 позволяет слегка модифицированному ядру Plan 9 работать в качестве пользовательского процесса в Linux, поддерживая неизмененные программы Plan 9.

Прием

Сравнение с современные операционные системы

В 1991 году разработчики Plan 9 сравнили свою систему с другими операционными системами начала девяностых по размеру, показывая, что исходный код минимальной («рабочей, хотя и не очень полезной») версии был меньше более одной пятой от размера Mach микроядра без каких-либо драйверов устройств (5899 или 4622 строк кода для Plan 9, в зависимости от метрики, по сравнению с 25530 линий). Полное ядро ​​состоит из 18000 строк кода. (По подсчетам 2006 г., ядро ​​состояло примерно из 150 000 строк, но это сравнивалось с более чем 4,8 млн в Linux.)

В сообществе исследователей операционных систем, а также В коммерческом мире Unix другие попытки достичь распределенных вычислений и доступа к удаленной файловой системе были предприняты одновременно с усилиями по проектированию Plan 9. К ним относятся сетевая файловая система и связанная с ней архитектура vnode, разработанная в Sun Microsystems, а также более радикальные отклонения от модели Unix, такие как Sprite ОС от Калифорнийского университета в Беркли. Разработчик Sprite Брент Уэлч указывает, что архитектура vnode SunOS ограничена по сравнению с возможностями Plan 9, поскольку она не поддерживает чисто удаленный доступ к устройствам и удаленное межпроцессное взаимодействие, даже если это могло бы быть при существовании ранее существовавших доменных сокетов UNIX. (который «по существу может использоваться для именования серверов пользовательского уровня») был интегрирован с архитектурой vnode.

Одна критика «все является файлом», дизайн сообщения с помощью текстовых сообщений Plan 9 указали на ограничения этой парадигмы по сравнению с типизированными интерфейсами объектно-ориентированной операционной системы Sun , Spring :

Plan 9 ограничивает все, чтобы все выглядело как файл. В большинстве случаев реальный тип интерфейса представляет собой протокол сообщений, которые должны быть записаны в файловый дескриптор и считаны из него. Это сложно указать и задокументировать, и он вообще запрещает любую автоматическую проверку типа , за исключением ошибок файла во время выполнения. (...) [A] имя пути относительно неявного корневого контекста процесса - единственный способ назвать службу. Привязка имени к объекту может быть выполнена только путем присвоения существующему имени для объекта в том же контексте, что и новое имя. Таким образом, ссылки на интерфейсы просто не могут передаваться между процессами, не говоря уже о сетях. Вместо этого, общение должно полагаться на условные обозначения, которые подвержены ошибкам и не масштабируются.

— Роско; выделено в оригинале.

Более позднее ретроспективное сравнение Plan 9, Sprite и третьей современной распределенной исследовательской операционной системы, Amoeba, показало, что

среды, которые они [Amoeba и Sprite] создают, тесно связаны связаны внутри ОС, что затрудняет обмен данными с внешними службами. Такие системы страдают от радикального отхода от модели UNIX, которая также препятствует переносимости уже существующего программного обеспечения на платформу (...). Отсутствие разработчиков, очень небольшой набор поддерживаемого оборудования и небольшая, даже по сравнению с Plan 9, база пользователей также значительно замедлили внедрение этих систем (...). Оглядываясь назад, можно сказать, что Plan 9 была единственной исследовательской распределенной ОС того времени, которой удалось привлечь разработчиков и достаточно долго использоваться в коммерческих проектах, чтобы гарантировать свое существование по сей день.

— Мирцовски, Симмондс и Минних

Воздействие

wmii оконный менеджер X был вдохновлен текстовым редактором из проекта Plan 9.

Plan 9 продемонстрировал, что целостная концепция Unix - что любой интерфейс системы может быть представлен в виде набора файлов - может быть успешно реализован в современной распределенной системе. Некоторые функции из Plan 9, такие как кодировка символов UTF-8 Unicode, были реализованы в других операционных системах. Unix-подобные операционные системы, такие как Linux, реализовали 9P, файловую систему Plan 9, и приняли функции rfork, механизма создания процессов Plan 9. Кроме того, в Plan 9 из пользовательского пространства некоторые приложения и инструменты Plan 9, включая редакторы sam и acme, были перенесены на системы Unix и Linux и достигли определенного уровня популярности. Некоторые проекты стремятся заменить программы операционной системы GNU, окружающие ядро ​​Linux, программами операционной системы Plan 9. 9wm оконный менеджер был вдохновлен , старой оконной системой Plan 9; wmii также сильно зависит от Plan 9. В исследованиях в области информатики Plan 9 использовался как платформа грид-вычислений и как средство исследования повсеместных вычислений без промежуточного программного обеспечения. В коммерции Plan 9 лежит в основе систем хранения Coraid. Однако Plan 9 никогда не приближался к Unix по популярности и был в первую очередь инструментом исследования:

[Я] не похоже, что Plan 9 провалился просто потому, что он не стал достаточно убедительным улучшением Unix, чтобы вытеснить его предка. По сравнению с Plan 9, Unix скрипит, лязгает и имеет явные пятна ржавчины, но он выполняет свою работу достаточно хорошо, чтобы удерживать свои позиции. Здесь есть урок для амбициозных системных архитекторов: самый опасный враг лучшего решения - это существующая кодовая база, которая достаточно хороша.

Эрик С. Реймонд

Другие факторы, способствовавшие низкому принятию Plan 9, включают: отсутствие коммерческих резервных копий, небольшое количество приложений для конечных пользователей и отсутствие драйверов устройств.

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

Несколько проектов работают над расширением Plan 9, включая 9atom и 9front. Эти ветки дополняют Plan 9 дополнительными аппаратными драйверами и программным обеспечением, включая улучшенную версию системы электронной почты Upas , go компилятор, Mercurial система контроля версий поддержка и другие программы. Plan 9 был перенесен на одноплатный компьютер Raspberry Pi. Проект Harvey пытается заменить собственный компилятор Plan 9 C на GCC, чтобы использовать современные инструменты разработки, такие как GitHub и Coverity, и ускорить разработку.

Производные и вилки

Inferno является потомком Plan 9 и разделяет многие концепции дизайна и даже исходный код ядра, особенно в отношении устройств и протокола Styx / 9P2000. Inferno разделяет с Plan 9 наследие Unix от Bell Labs и философию Unix. Многие из инструментов командной строки в Inferno были инструментами Plan 9, которые были переведены в Limbo.

  • 9atom дополняет дистрибутив Plan 9 добавлением ядра 386 PAE, процессора amd64 и терминального ядра., nupas, дополнительная аппаратная поддержка ПК, IL и Ken's fs.
  • 9front - это ответвление Plan 9. Он был начат, чтобы восполнить предполагаемую нехватку выделенных ресурсов для разработки внутри Bell Labs, и в нем накоплены различные исправления и улучшения.
  • 9legacy - альтернативный дистрибутив. Он включает набор исправлений, основанных на текущем дистрибутиве Plan 9.
  • Akaros разработан для многоядерных архитектур и крупномасштабных SMP-систем.
  • Harvey OS - это попытка получить план 9, работающий с gcc и clang.
  • JehanneOS - экспериментальная ОС, производная от Plan 9. Ее пользовательская среда и модули в основном заимствованы из 9front, ее система сборки - от Harvey OS, а ее ядро ​​является ответвлением Plan9-9k 64-битное ядро ​​Plan9.
  • NIX - это ответвление Plan9, предназначенное для многоядерных систем и облачных вычислений.

Лицензия

Начиная с выпуска четвертой редакции в апреле 2002 г., полная исходный код Plan 9 от Bell Labs находится в свободном доступе под общественной лицензией Lucent 1.02, которая считается лицензией с открытым исходным кодом Open Source Initiative (OSI), бесплатное программное обеспечение, лицензия Free Software Foundation, и она соответствует Руководству по свободному программному обеспечению Debian.

. В феврале 2014 года Калифорнийский университет , B erkeley был уполномочен действующим владельцем авторских прав Plan 9 - Alcatel-Lucent - на выпуск всего программного обеспечения Plan 9, ранее регулируемого общественной лицензией Lucent, версия 1.02 под Стандартная общественная лицензия GNU, версия 2.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

На Викискладе есть носители, связанные с Plan 9 от Bell Labs.
  • 9p. io : Архивное зеркало исходного официального веб-сайта Plan 9 по адресу plan9.bell-labs.com
  • 9fans : Полуофициальный список рассылки для пользователей и разработчиков Plan 9
Последняя правка сделана 2021-06-02 07:28:04
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте