Plan 9

Plan 9 — операционная система, разработанная Bell Labs (позже Lucent Technologies, затем подразделение в Alcatel-Lucent, сейчас подразделение Nokia) с конца 1980-х гг. Система создавалась с учётом новых реалий, таких как сети и рабочие станции. Идеология UNIX — «Всё есть файл» легла в основу системы.

В 2000 году система вышла с открытыми исходными кодами и в 2002 году под свободной лицензией (Lucent Public License), одобренной OSI.

В феврале 2014 года Калифорнийский университет в Беркли получил от компании Alcatel-Lucent право публикации исходного кода Plan 9 под GNU GPLv2.

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

В настоящий момент с сайта Bell Labs можно загрузить четвёртую версию, которая собрана для x86.

Другими недавними операционными системами, вдохновлённые Plan 9, являются Harvey OS и Jehanne OS.

В марте 2021 года права на операционную систему переданы фонду Plan 9.

Концепция 
Система построена на трёх основных принципах:

 Все ресурсы представлены как файлы и доступны в иерархической файловой системе.
 Локальные и удалённые ресурсы не различаются, для доступа к ним реализован стандартный протокол 9P.
 Каждая группа процессов имеет собственное пространство имён, собранное из файловых иерархий, предоставленных различными ресурсами.

В отличие от современных операционных систем, в которых пользователь получает доступ к персональному компьютеру или рабочей станции, в Plan 9 пользователь получает доступ к распределённой вычислительной среде и имеет возможность конфигурировать своё рабочее пространство. Так, /dev/mouse для процесса — это мышь на компьютере, с которого этот процесс запущен, причём это может быть не тот компьютер, на котором исполняется процесс.

Файлы 
В системе Plan 9 существует множество необычных серверов с файловыми интерфейсами.

 Оконная система Rio предоставляет пользователю возможность работы с текст-ориентированной графической средой (терминалом, клавиатурой, мышью ) Программы могут осуществлять ввод-вывод текста через устройство /dev/cons, вывод графики через /dev/draw, получать события мыши, читая устройство /dev/mouse 
 Можно получить доступ к FTP серверам посредством чтения файлов, например:
ftpfs -q/ -a 'user@somewhere.com' ftp.ietf.org && ls /n/ftp/internet-drafts

Программирование 
Основным языком программирования является диалект языка ANSI Си, отличающийся встроенной поддержкой Unicode и рядом других полезных расширений, таких как формирование структур и инициализация массивов. Реализованы кроссплатформенная компиляция и отладка, успешно портированы Perl, Python, Scheme, noweb, Haskell, Newsqueak, Go и ML.

Также для написания программ в Plan 9 существовал компилятор с языка Alef, но он не нашёл широкого применения, в связи с чем был удалён из 3-ей редакции системы.

В качестве IDE используется редактор Acme.

Происхождение названия 
Название системы взято из фильма категории B «План 9 из открытого космоса» «худшего режиссёра Голливуда» — Эдварда Вуда младшего. Зайчиха Glenda, нарисованная американской художником-иллюстратором Рени Френч (англ.), в свою очередь, названа в честь фильма «Глен или Гленда» того же режиссёра. Также «glenda» — это имя пользователя по умолчанию в системе.

См. также 
 Inferno
 Plan B

Примечания

Ссылки 
 Страница Plan9 в Bell Labs
 plan9front — независимый, поддерживаемый сообществом форк plan9.
Информационные ресурсы
 Большой архив русскоязычной документации по Plan 9/Inferno/9P
 Зеркало ресурса с русской документацией по Plan 9
 Ресурс по ОС Plan 9 Университета Рей Хуан Карлос, Испания, содержащий, помимо прочего, руководство для новых пользователей
Программирование
 Разработка приложений для Plan 9
Сообщества
 Plan 9 @ dmoz.org
 Обзоры в прессе
 Xakep Online -> Хороший Plan номер 9, журнал Хакер

Plan 9
Появились в 1980-е годы в США
Свободные операционные системы
Unix-подобные операционные системы
Операционные системы реального времени
Программное обеспечение с лицензией Lucent Public License
Bell Labs