Plan 9 от Bell Labs,
примечания к третьей версии,
7 июня 2000



Copyright © 2000 Lucent Technologies Inc.
All Rights Reserved


Третья версия операционной системы Plan 9 от Bell Labs представляет собой нечто вроде снимка текущей системы. Этим она отличается от нашей предыдущей версии, выпущенной в 1995 году, которая была более согласованным, отчетливо выраженным релизом уже порядком устаревшей системы. Также, предыдущие версии распространялись на постоянных носителях, тогда как эта теперь доступна в web. Основное же отличие состоит в том, что третья версия лицензирована на основе Open Source соглашения, которое должно пробудить во многих пользователях желание поэкспериментировать с ней.

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

* Увеличился список поддерживаемых архитектур; теперь включается больше компиляторов, был изменен список ядер. Доступна поддержка для многопроцессоров Intel x86. Также, так как теперь доступны исходные тексты для других архитектур, двоичные файлы и библиотеки скомпилированы лишь для архитектуры Intel x86. Исходные тексты ядра доступны для таких архитектур: x86, Mips, DEC Alpha и Power PC. Компиляторы также присутствуют для AMD 29000, Motorola MC68000 и MC68020, Intel i960 и SPARC. (В отличие от последнего релиза, в текущей системе отсутствует исходный текст ядра SPARC.) Компиляторы и связанные инструментальные средства была несколько облегчены для переноса на платформы Unix и Windows.

* Для улучшения исполнения операций ввода-вывода ядро теперь имеет файловый кеш. Другие изменения в ядре включают замену интерфейса потоков на простую, быструю, но менее гибкую очередь ввода-вывода. Ядро x86 обеспечивает поддержку для устройств PCI и PCMCIA.

* Управление сетью было упрощено и обобщено. DNS поддерживает разрешающий режим и сервер DNS теперь более устойчивый. DHCP поддерживается как на стороне клиентов, так и сервера. Система может управлять многочисленными IP стеками, которые больше не Ethernet-специфичные.

* Была унифицирована организация дисков в ядре путем обеспечения последовательного интерфейса для всех дисков и контроллеров: SCSI или ATAPI, магнитные накопители или CD-ROM.

* Cмещения файлов, такие как в системном вызове seek, теперь 64-битные значения. Версия 1995 года описывала тип Length для x86 как

Это описание имеет неправильный порядок байт. Сейчас, для всех архитектур, Length хорошо управляется типом vlong (long long), хотя для совместимости он все еще поддерживается в союзе

* Теперь ядро поддерживает имена файлов, ассоциированные с каждым открытым файлом или каталогом, которые могут легко восстанавливаться посредством системного вызова fd2path. Сейчас Plan 9 намного лучше работает с «..» (точка-точка). В связанном примечании, описание пространства имен процесса должно читаться посредством файла ns из /proc, или команды ns.

* Модель безопасности осталась без изменений, хотя формат ключей изменился. Если у вас остался старый файл ключа, то для его обновления используйте команду auth/convkeys2 (см. auth(8)). Появились новые библиотеки для точной арифметики и безопасности.

* Сильно изменилась графическая модель. Она основана на композиционной алгебре Портера-Даффа (Porter-Duff), а не bitblt. Некоторые графические драйверы используют аппаратное ускорение.

* Вместе с графикой изменения коснулись форматов файлов изображений и шрифтов. Они могут представлять широкий диапазон пиксельных форматов и сжимать данные. Также была инвертирована схема значений белое/черное (нуль теперь указывает на черный цвет; пиксели представляют свет, а не чернила). Большинство инструментальных средств могут работать со старым форматом, но запись проводится лишь в новый формат.

* Пользовательский интерфейс теперь включает плюмбинг — механизм динамического связывания приложений. За информацией смотрите plumb(6).

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

* Оконная система была заменена на rio, которая имеет схожий внешний вид, но отличную архитектуру. Хотя система все еще является файловым сервером, теперь она намного эффективнее: драйвер ядра мультиплексирует графический вывод, так что rio не входит в путь отображения. Rio управляет лишь вводом и окнами.

* Загрузка ПК более осмысленная. ПК теперь могут загружать Plan 9 непосредственно без запуска DOS.

* Язык Alef оставлен в прошлом, поскольку очень трудно управлять двумя наборами компиляторов и библиотек для всех архитектур. Программы, написанные на Alef, были преобразованы в C с использованием новой потоковой библиотеки, которая в большинстве случаев сохраняет функциональность Alef, но не его синтаксис.

* Мы отказались от Mothra. В этой версии пока будет отсутствовать web-броузер, но уверяем, что-нибудь подходящее скоро появится.

* Набор fb (фреймовый буфер) ушел в небытие. Большая часть его инструментальных средств заменена новыми, наподобие page, jpg и togif.

* Также в небытие ушли игры и поддержка интернационального ввода (ktrans и т.п.). Оба вернуться в будущем.

* Из новых средств можно назвать реализацию ssh, сервер IMAP4 и ПО фильтрации спама (см. scanmail(8)).

И еще многое другое. Если у вас возникли проблемы, пишите по адресу 9trouble@plan9.bell-labs.com. Пожалуйста, не шлите нам индивидуальных писем.

Желаем Удачи!

Copyright © 2000 Lucent Technologies Inc. All Rights Reserved.
Copyright © 2003 Перевод Андрей С. Кухар.