Это хорошая статья. Для получения дополнительной информации нажмите здесь.
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

История [ править ]

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

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

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

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

Поскольку в последние годы Bell Labs перешла к более поздним проектам, разработка официальной системы Plan 9 была остановлена. Другие недавние операционные системы, вдохновленные Plan 9, включают Harvey OS [16] и Jehanne OS. [17]

Концепции дизайна [ править ]

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

—Сейп Дж. Маллендер, Пьер Г. Янсен.
Реальное время в реальной операционной системе [19]

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

Его дизайнеры заявляют, что,

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

-  Pike et al. [22]

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

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

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

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

Протокол 9P [ править ]

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

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

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

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

Объединенный каталог можно создать с помощью команды bind :

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

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

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

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

Архитектура каталог объединения Plan 9 вдохновила 4.4BSD и Linux накидной файловой системы реализации, [27] , хотя разработчики монтажного объекта BSD накидного нашли нерекурсивное объединение каталогов в Plan 9 «слишком ограничительные для общего назначения». [28]

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

/ proc [ править ]

Список процессов со списком содержимого каталога (ls, lc) команда [29] в / proc

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

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

/ net [ править ]

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

Юникод [ править ]

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

Объединение концепций дизайна [ править ]

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

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

Программное обеспечение для Plan 9 [ править ]

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

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

Графические программы [ править ]

План 9 бег на acme и rc

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

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

Сэм и Акме - текстовые редакторы Plan 9. [35]

Система хранения [ править ]

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

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

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

Одновременно язык программирования под названием Alef был доступен в двух первых изданиях, но затем был исключен по причинам технического обслуживания и заменены заправочной библиотеку C. [38] [39]

Совместимость с Unix [ править ]

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

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

Прием [ править ]

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

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

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

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

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

-  Роско; акцент в оригинале. [43]

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

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

-  Мирцовски, Симмондс и Минних [44]

Воздействие [ править ]

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

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

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

-  Эрик С. Раймонд [6]

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

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

Несколько проектов работают над расширением Plan 9. Эти форки дополняют Plan 9 дополнительными драйверами оборудования и программным обеспечением, включая улучшенную версию системы электронной почты Upas , компилятор Go , поддержку системы контроля версий Mercurial и другие программы. [7] Plan 9 был перенесен на одноплатный компьютер Raspberry Pi . [55] [56] Проект Харви пытается заменить собственный компилятор Plan 9 C на GCC , чтобы использовать современные инструменты разработки, такие как GitHub и Coverity , и ускорить разработку. [57]

Производные и вилки [ править ]

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

  • 9atom [58] дополняет дистрибутив Plan 9, добавляя ядро 386 PAE , процессор amd64 и ядро ​​терминала, nupas, дополнительную аппаратную поддержку ПК, IL и fs Кена.
  • 9legacy [59] - альтернативный дистрибутив. Он включает в себя набор исправлений, основанный на текущем дистрибутиве Plan 9.
  • Akaros [60] разработан для многоядерных архитектур и крупномасштабных SMP-систем.
  • Harvey OS [61] - попытка заставить код Plan 9 работать с gcc и clang.
  • JehanneOS [62] - экспериментальная ОС, созданная на основе Plan 9.
  • NIX [63] - это ответвление Plan9, предназначенное для многоядерных систем и облачных вычислений.

Лицензия [ править ]

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

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

См. Также [ править ]

  • Алеф (язык программирования)
  • Свидание (план 9)
  • Inferno (операционная система)
  • Minix
  • HelenOS

Ссылки [ править ]

  1. ^ Lucent Technologies (2006). «Гленда, кролик из плана 9» . Проверено 2 декабря 2008 .
  2. ^ "plan9checksums" . Bell Labs. Архивировано из оригинала на 2017-06-01 . Проверено 25 июля 2019 . Сб, 10 янв, 04:04:55 EST 2015 ... plan9.iso.bz2
  3. ^ Исходный код GPLv2
  4. ^ а б в г Пайк, Р .; Presotto, D .; Дорвард, S .; Flandrena, B .; Томпсон, К .; Trickey, H .; Уинтерботтом П. «План 9 от Bell Labs» . Bell Labs . Lucent Technologies . Проверено 26 февраля 2016 .
  5. ^ http://akaros.org/files/Plan9License
  6. ^ a b c Рэймонд, Эрик С. (17 сентября 2003 г.). «План 9: каким было будущее» . Искусство программирования UNIX . Эддисон-Уэсли . ISBN 0-13-142901-9. Проверено 7 мая 2007 .
  7. ^ а б «9атом» . Проверено 11 ноября 2011 .
  8. ^ «План 9 от Bell Labs от изобретателей UNIX» (пресс-релиз). Lucent Technologies. 1995-07-18. Архивировано из оригинала на 2006-02-09.
  9. Макилрой, Дуг (март 1995 г.). «Предисловие» . Bell Labs (2-е изд.). Lucent Technologies . Проверено 26 февраля 2016 .
  10. Ли, Ивонн Л. (24 июля 1995 г.). «AT&T Bell Labs поставляет ОС Plan 9 для встраиваемых систем» . InfoWorld .
  11. ^ Pontin, Джейсон (19 февраля 1996). «AT&T раскрывает планы конкурента Java» . InfoWorld . п. 3.
  12. ^ a b c Лоли-Керу, Юджиния (29 апреля 2002 г.). «Bell Labs выпускает новую версию Plan 9» . OSNews . Проверено 31 декабря 2011 .
  13. ^ «Как внести свой вклад» . Bell Labs . Lucent Technologies . Проверено 30 ноября 2011 .
  14. ^ "Оставаться в курсе" . Bell Labs . Lucent Technologies . Проверено 24 июля 2019 .
  15. ^ «План 9 - Дополнительное программное обеспечение» . 2009 . Проверено 6 марта 2016 .
  16. ^ «Харви ОС» . harvey-os.org . Проверено 15 февраля 2018 .
  17. ^ "Джеханна" . jehanne.io . Проверено 15 февраля 2018 .
  18. ^ "Объявление о первом выпуске широкой публике" . 9 фанатов. 1995-07-16. Архивировано из оригинала на 2008-07-06.
  19. ^ a b Mullender, Sape J .; Янсен, Пьер Г. (26 февраля 2004 г.). «Реальное время в реальной операционной системе» . В Герберте, Эндрю Дж .; Spärck Jones, Карен (ред.). Компьютерные системы: теория, технология и приложения: дань уважения Роджеру Нидхему . Springer Science + Business Media . п. 211. ISBN. 978-0-387-20170-2. Проверено 24 декабря 2011 .
  20. ^ Хэнкок, Брайан (2003). «Reinventing Unix: введение в операционную систему Plan 9». Библиотека Hi Tech . MCB UP. 21 (4): 471–76. DOI : 10.1108 / 07378830310509772 .
  21. ^ a b c d e Пресотто, Дэйв; Пайк, Роб ; Томпсон, Кен ; Трики, Ховард. План 9, система распределенная . Proc. Весна 1991 г. Конференция EurOpen. CiteSeerX 10.1.1.41.9192 . 
  22. ^ а б в Пайк, Р .; Presotto, D .; Томпсон, К .; Trickey, H .; Уинтерботтом, П. «Использование пространств имен в плане 9» . Bell Labs . Проверено 26 февраля 2016 .
  23. ^ a b Уэлч, Брент (1994). «Сравнение трех архитектур распределенных файловых систем: Vnode, Sprite и Plan 9». Вычислительные системы . 7 (2): 175–199. CiteSeerX 10.1.1.46.2817 . 
  24. ^ namespace(4)  - Руководство программиста Plan 9 , том 1
  25. ^ a b c d e f Перейра, Уриэль М. (2006). Комплект Unix Spirit Free: Plan 9 от Bell Labs ( AVI ) . FOSDEM . Проверено 2 декабря 2011 . Текстовое резюме (PDF) .
  26. ^ a b Минних, Рон (2005). «Почему Plan 9 еще не мертв и чему мы можем научиться из него» (PDF) . Лос-Аламосская национальная лаборатория . Архивировано из оригинального (PDF) 25 февраля 2016 года . Проверено 26 февраля 2016 .
  27. ^ a b Валери, Аврора (2009-03-25). «Объединенные файловые системы: реализации, часть I» . LWN.net . Проверено 5 декабря 2011 .
  28. ^ a b Пендри, Ян-Симон; МакКусик, Маршалл Кирк (1995). Union Mounts в 4.4BSD-Lite . Proc. Зимняя конференция USENIX .
  29. ^ a b «Преобразование команд UNIX в Plan 9» . Bell Labs . Lucent Technologies . Проверено 2 декабря 2011 .
  30. Перейти ↑ Ballesteros, Francisco J. (2007-09-28). «Введение в абстракции ОС с использованием Plan 9 от Bell Labs» (PDF) . Universidad Rey Juan Carlos . Архивировано из оригинального (PDF) 22 сентября 2010 года.
  31. ^ Пайк, Роб (2003-04-30). «История UTF-8» . Проверено 27 апреля 2006 .
  32. ^ Лунде, Кен (январь 1999). Обработка информации CJKV . O'Reilly Media . п. 466 . ISBN 978-1-56592-224-2. Проверено 23 декабря 2011 .
  33. ^ Cox, R .; Grosse, E .; Пайк, Р .; Presotto, D .; Куинлан, С. «Безопасность в плане 9» . Bell Labs . Lucent Technologies . Проверено 26 февраля 2016 .
  34. ^ a b c Хадсон, Эндрю (19 июля 2006 г.). «Изучение операционной системы Plan 9» . OSNews . Проверено 31 декабря 2011 .
  35. ^ a b "Интервью с Рассом Коксом" . Настройка . Использует это. 2011-04-09 . Проверено 1 января 2012 .
  36. ^ Диксон, Род (2004). Закон о программном обеспечении с открытым исходным кодом . Артек Хаус . п. 213. ISBN 978-1-58053-719-3. Проверено 25 декабря 2011 .
  37. ^ Томпсон, Кен (февраль 1992 г.). «Новый компилятор C» (PDF) . Информационный бюллетень Австралийской группы пользователей систем UNIX . Кенсингтон , AU : AUUG . 13 (1): 31–41. ISSN 1035-7521 . Проверено 25 декабря 2011 .  
  38. ^ Пайк, Роб. «Рио: Дизайн параллельной оконной системы» (PDF) . Проверено 8 марта 2013 года .
  39. ^ thread(2)  - Руководство программиста Plan 9 , том 1
  40. ^ Трики, Ховард. «APE - Среда ANSI / POSIX» . Bell Labs . Lucent Technologies . Проверено 26 февраля 2016 .
  41. ^ «Эмуляция Linux» . Bell Labs . Lucent Technologies . Проверено 26 февраля 2016 .
  42. ^ Форд, Брайан; Кокс, Расс (2008). Vx32: легкая песочница на уровне пользователя на x86 . USENIX Annual Tech. Конф. С. 293–306. CiteSeerX 10.1.1.212.9353 . 
  43. Роско, Тимоти (1995). Структура мультисервисной операционной системы (PDF) (доктор философии). Кембриджский университет. С. 22–23.
  44. ^ a b Мирцовский Андрей; Симмондс, Роб; Минних, Рон (2004). Plan 9 - интегрированный подход к грид-вычислениям . Proc. 18-й Международный симпозиум по параллельной и распределенной обработке. IEEE. CiteSeerX 10.1.1.97.122 . 
  45. ^ a b "улучшенный оконный менеджер 2" . suckless.org . Архивировано из оригинала на 2011-12-31 . Проверено 2 января 2012 . [wmii] имеет интерфейс файловой системы 9p и поддерживает классическое и мозаичное (acme-подобное) управление окнами.
  46. ^ Торвальдс, Линус (1999). «Край Linux» . Открытые источники: голоса революции открытого исходного кода . О'Рейли. ISBN 1-56592-582-3.
  47. ^ «Glendix: привнесение красоты Plan 9 в Linux» . Проверено 1 декабря 2011 .
  48. ^ «План 9 от Gentoo: План 9 встречает Gentoo» . Gentoo Linux . Архивировано из оригинала на 2012-12-20 . Проверено 1 декабря 2011 .
  49. ^ "Диспетчер окон 9wm" . 9wm . Проверено 2 января 2012 . 9wm - это оконный менеджер X, который пытается имитировать оконный менеджер Plan 9 8-1 / 2, насколько это возможно, в рамках ограничений, налагаемых X.
  50. ^ "9grid" . Bell Labs . Lucent Technologies . Архивировано из оригинала на 2006-03-14 . Проверено 28 марта 2006 .
  51. ^ Ballesteros, Francisco J .; Гвардиола, Горка; Сориано, Энрике; Леал Альгара, Катя (2005). Традиционные системы могут хорошо работать для широко распространенных приложений. Пример из практики: Plan 9 от Bell Labs становится повсеместным . IEEE Intl 'Conf. по повсеместным вычислениям и коммуникациям. CiteSeerX 10.1.1.109.8131 . 
  52. ^ "Vita Nuova поставляет Inferno Grid для Evotec OAI" (PDF) (пресс-релиз). Vita Nuova . 2004-05-18 . Проверено 28 марта 2006 .
  53. ^ «Библиотеки Университета Рутгерса устанавливают Inferno Data Grid» (PDF) (пресс-релиз). Vita Nuova . 2004-05-12 . Проверено 28 марта 2006 .
  54. ^ "Биологический факультет Йоркского университета установил Inferno Data Grid Виты Нуовы" (PDF) (пресс-релиз). Vita Nuova . 2004-05-04 . Проверено 28 марта 2006 .
  55. ^ Хейворд, Дэвид (2013-05-09). «Операционные системы Raspberry Pi: 5 проверенных и оцененных» . TechRadar . Архивировано из оригинала на 7 июня 2013 года . Проверено 20 апреля 2014 .
  56. ^ «Как установить Plan 9 на Raspberry Pi» . eLinux . Проверено 16 ноября 2014 .
  57. Хурадо, Альваро; Фернандес, Рафаэль; дю Коломбье, Давид; Минних, Рон; Нюринен, Аки; Флорен, Джон. Харви (PDF) . USENIX ATC BOF сессия.
  58. ^ «9атом» .
  59. ^ "9legacy" .
  60. ^ "Акарос" .
  61. ^ «Харви ОС» .
  62. ^ "JehanneOS" .
  63. ^ "NIX" .
  64. ^ Шарвуд, Саймон (2014-02-14). «Plan 9 выходит из лицензионного пространства Lucent» . Регистр . Проверено 20 апреля 2014 .

Внешние ссылки [ править ]

  • 9p.io : Архивное зеркало оригинального официального веб-сайта Plan 9 по адресу plan9.bell-labs.com
  • 9fans : Полуофициальный список рассылки для пользователей и разработчиков Plan 9
  • План 9 фундамент