Максимальная Безопасность:

Руководство Хакера по Защите Вашего Internet Сайта и Сети

Предыдущая главаСледующая главаСодержание


21

Plan 9 from Bell Labs

Почти тридцать лет назад группа в Bell Labs (теперь Lucent Technologies) изменила мир, разработав систему, которая позже стала наиболее популярной сетевой операционной системой в истории. С тех пор UNIX управляет Internet. Даже если это был единственный вклад сделанный персоналом Bell Labs, его достаточно. Они были высоко оценены, так как достигли чего-то истинно полезного и важного. Однако, как Вам скажет любой программист, Bell Labs продолжает содействовать.

В начале 1990-ых люди в Bell Labs были всё ещё заняты. На сей раз, однако, они имели больше чем 25 лет опыта. С этим опытом они бросили себе вызов, чтобы создать окончательную сетевую операционную систему. Они добились успеха? Держите пари. Она была названа Plan 9 from Bell Labs.

Основы

Группа в Bell Labs (которая включает такие сверх имена, как Ken Thompson и Dennis Ritchie) была по сообщениям не удовлетворена тогдашними текущими тенденциями в компьютерной технологии. Они поняли, что аппаратные разработки, сделанные для организации сети, не всегда разрабатывались с точки зрения эффективности цены или производительности. Аппаратные зависимости и частные разработки делают организацию сети более принужденной средой, чем истинно гибкой, легкой в создании. Под принудительной средой я подразумеваю множество часто несоизмеримых и несовместимых протоколов, драйверов и программного обеспечения, собранных вместе, чтобы обеспечить шаткую и иногда ненадежную интеграцию сетей.

Увы, хотя Internet может иногда упоминаться как чудо распределенного вычисления, это не так. Текущая система работает только, потому что мы перенесли TCP/IP стек на горстку архитектур (многие из которых никогда не были предназначены для выполнения этих протоколов). Таким образом Internet имеет вид соединенной, объединенной сети. Однако при более близком рассмотрении ясно, что Internet использует только очень скудную часть сетевой мощности, находящейся в её распоряжении.

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

Точно так же и даже в большей степени HTTP изолирует пользователя. Правда он представляется пользователю, как если бы работа с Web сайтом происходила в интерактивном режиме, но это не так. Фактически HTTP может изолировать пользователя больше, чем любой другой сетевой протокол. Например, Вы не регистрируетесь, как с Telnet или FTP. Фактически, Вы связываетесь только на краткие периоды, секунды, необходимые для того, чтобы ваш клиент связал требуемые ресурсы. Это очень удалено от традиционной общедоступной сетевой среды.

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

Теперь вообразите операционную систему, которая предназначена, чтобы связать таким способом многие различные типы систем и аппаратного обеспечения, операционная система, которая могла бы обеспечить реальную организацию сети с сотнями (или даже тысячами) рабочих станций, независимо от аппаратных ограничений. Вообразите операционную систему, которая делает FTP каталоги удаленных машин видимыми, как локальные каталоги (независимо от того, где расположен целевой сервер). Если Вы можете вообразить это, то находитесь на пути к пониманию основных характеристик Plan 9.

Чем Не Является Plan 9

Plan 9 не UNIX или любой её вариант. Но если Вы установите демонстрационный дистрибутив, то можете первоначально быть смущены. На первый взгляд она выглядит очень похоже на UNIX (особенно, когда Вы делаете распечатку каталога). Не делайте такую ошибку. Plan 9 полностью новая операционная система. Как объяснено в FAQ от Plan 9 from AT&T Bell Laboratories:

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

ПРИМЕЧАНИЕ: Посетите Plan 9 FAQ
http://www.ecf.toronto.edu/plan9/plan9faq.html.

Несмотря на факт, что Plan 9 является совершенно другой операционной системой, она сохранила некоторые взгляды и вид UNIX. Всё ещё есть оболочка (названная rc) и эта оболочка выглядит очень похоже на популярные оболочки, доступные в большинстве дистрибутивов UNIX. Файлы, например, могут всё ещё отображаться в UNIX-подобном длинном формате, наряду с их разрешениями. Кроме того, можно всё ещё дифференцироваться между файлами и каталогами, используя стандартный переключатель -F (фактически, доступны многие из готовых команд UNIX и большинство из них ведут себя в значительной степени также, как на машине UNIX). Однако подобие UNIX в значительной степени поверхностно. Основная операционная система работает совершенно по-другому.

Одно из главных различий в способе, которым Plan 9 обрабатывает объекты (объектами в этом случае являются каталоги, файлы, процессы и т.д.). Под Plan 9 все объекты обрабатываются как файлы. Эта методика также осуществлена в UNIX (например, UNIX обрабатывает многие устройства как файлы), но не в такой степени, как в Plan 9.

Машины, Которые Выполняют Plan 9

Известные архитектуры включают

В FAQ по Plan 9 from AT&T Bell Laboratories сообщено, что в стадии реализации также различные порты для следующих систем:

Мой опыт по установке дистрибутива Plan 9 был на IBM совместимой платформе. Как Вы увидите, я прошел несколько поколений аппаратного обеспечения перед остановкой на правильной комбинации.


Ссылка: Если Вы намереваетесь установить Plan 9 для хака, Вы должны посетить
http://www.ecf.toronto.edu/plan9/clone.html. Эта страница описывает аппаратное обеспечение, которое использовалось в Bell Labs, и обеспечит Вас хорошим руководством по аппаратному обеспечению, которое, как известно, работает с Plan 9.

Некоторые Концепции

Plan 9 изначально разрабатывалась как сетевая операционная система. Также, её концепции имеют отношение больше к организации сети, чем к потребностям индивидуального пользователя. Её характеристики определяют пути, которыми она оперирует сетью. Как отмечено в пресс релизе по продукту:

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

Ссылка: Найдите пресс релиз, выдержкой из которого является предыдущий параграф, на
http://www.lucent.com/press/0795/950718.bla.html.

Чтобы понять, чем система Plan 9 отличается от других сетевых операционных систем, исследуйте Рисунок 21.1.

Типичная сетевая конфигурация (без Plan 9)
Рисунок 21.1. Типичная сетевая конфигурация (без Plan 9).

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

Поскольку компьютерная промышленность претерпела огромный рост (особенно за последние несколько лет), дизайн сети, подобный показанному на Рисунке 21.1, является общим. Узлы в таких сетях это обычно Pentium или PowerPC. Вы можете создать такую сеть самостоятельно. Если Вы сделаете так, то рассмотрите следующее: На сколько мощную машину необходимо иметь на каждом узле? Или, может быть, является ли этот тип конфигурации расточительной тратой огромной мощности ЦПУ? Например, сколько мощности ЦПУ фактически требует отдел учета? Это зависит от того, какую операционную систему Вы выполняете. Если Вы выполняете DOS приложения под NetWare, отдел учета вообще не нуждается в большой мощности. Однако, если Вы выполняете Windows 95, потребуется скорость и память.

Скорость и память, между прочим, объединенные вместе делают вашу платформу более симпатичной и более дружественной пользователю. Практически прирост средней скорости задачи, сделанной в DOS приложении, был бы едва заметным на процессоре Pentium. В противоположность задаче, сделанной в Microsoft Excel на платформе Windows 95. В действительности, интенсивные по процессору задачи, требующие реальную мощность, могут включать задачи подобно компилированию больших программ в C++. Эти задачи, даже в среде ДОС, могут нагрузить процессор.

Так что первый момент: Современный сетевой дизайн теряет мощность процессора рассредоточивая её часто по тем местам, где она не является необходимой. Но есть и другие ключевые недостатки типичной реализации сети. Один из них это файлы, сыплющиеся повсюду в сети, многие из которых записаны на том или ином жестком диске. Сколько раз Вы сталкивались со следующей ситуацией:

1. Машина в сети выходит из строя.

2. Машина, которая вышла из строя, содержит файл, жизненно необходимый для офисной работы.

3. Вы восстанавливаете этот файл (обычно перенося жёсткий диск со сломавшейся машины на другую, один вариант, или выполняя восстановление).

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

Plan 9 имеет совершенно другой подход. В Plan 9 обработка и хранение файлов разделены, как и машины, которые выполняют эти задачи (смотрите Рисунок 21.2).

Концепция организации сети с Plan 9
Рисунок 21.2. Концепция организации сети с Plan 9.

Обратите внимание на ЦПУ сервер на Рисунке 21.2. Это типично очень мощная машина (вероятно многопроцессорная), которая предоставляет ЦПУ удаленным рабочим станциям или терминалам. Она дополняется файловым сервером.

Эта система имеет некоторые важные преимущества. Во-первых, в ней централизовано управление файлами. Это имеет очевидные преимущества безопасности. Централизованное управление файлами также позволяет более простую их организацию. Кроме того, оно обеспечивает среду, в которой могут быть легко просмотрены разрешения и более быстро обнаружены изменения файлов.

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

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


Ссылка: Чтобы исследовать внутреннюю работу Kerberos (и процедуру, выполняющую аутентификацию), посетите
http://www.pdc.kth.se/kth-krb/doc/kth-krb_2.html.

Отказ от концепции корневого пользователя превосходная идея. Большинство серьезных методов взлома полагается на эксплуатацию программных слабостей в процессах, которые работают как корень. В Plan 9 нет корня и, следовательно, нет таких процессов.


ПРИМЕЧАНИЕ: На сколько я знаю ещё не нет обширного внимания безопасности Plan 9 вне границ Lucent Technologies (бывшая AT&T). Поэтому не известно, имеются ли недостатки безопасности, свойственные проекту Plan 9. Единственная вещь на данный момент, которая квалифицируется как известная ошибка (те, кто используют её, до сих пор были довольно тихими) то, что иногда пользователи не могут войти с удаленного подключения как пользователь none. Я подозреваю, что в будущем, поскольку Plan 9 становится более известной, против системы будут разработаны различные нападения и вероятно всплывут ошибки.

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


ПРИМЕЧАНИЕ: Я не могу подчеркнуть важность концепции жизни без корневого пользователя. Почти все операционные системы, оцененные как безопасные, поддерживают некоторую концепцию корневого оператора. Концепция корневого пользователя концентрирует всю власть в единственном месте системы. Если взломщик сможет получить корневого пользователя, борьба за проникновение через безопасность закончена. Однако я должен быстро указать, что отсутствие корневого пользователя в системе Plan 9 не означает, что администратор не нужен. Фактически, в некотором отношении, Plan 9 трасформирует работу системного администратора в системного архитектора. Короче говоря, Plan 9 предназначена для обширного, если не массивного, управление сетевыми ресурсами. Хотя всё ещё в стадии эксперимента, Plan 9 может изменить архитектуру Internet, а так же концепции приемлемых политик безопасности и реализации.

Приложения, Доступные Для Plan 9

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


ПРИМЕЧАНИЕ: Предостережение: Ограничения лицензирования, установленные Bell Labs, делают очень трудным создание коммерческих приложений для Plan 9. Схема лицензирования привела Plan 9 к тому, что она доступна только от Bell Labs по высокой цене и без надежды в ближайшем будущем полной коммерциализации. Поэтому пока Plan 9 остаётся в значительной степени в области исследователей и любителей, которые желают выложить $300 за систему и документацию. Многие внештатные программисты возражают против такой ситуации, аргументируя тем, что Plan 9 должна иметь ограничения лицензирования подобные тем, которые применяются к Linux. В конце концов, зачем кому-то развиваться на платформе, которая может, в конечном счете, быть запрещена для коммерциализации? Ответ следующий: Люди предприняли бы такой развитие для чистого удовольствия исследования и хака новой системы. Однако многие любители не желают оплачивать жёсткую лицензионную плату за полную систему.

Несмотря на ограничения лицензирования Plan 9 некоторые важные приложения уже были написаны:

Кроме того основной дистрибутив Plan 9 поступает с широким диапазоном утилит и даже родным Web броузером, названным Mothra. Mothra может быть не столь красочен и дружественен пользователю как Netscape Navigator или Microsoft Internet Explorer, но он работает быстро и эффективно. Фактически, Plan 9 обладает немногими дружественными пользователю возможностями. Это в значительной степени основанная на тексте среда. Она более практична, чем привлекательна, и многие элементы её дизайна имеют существенный интерес для программистов.

SAM

Наиболее выдающееся родное приложение для Plan 9 это редактор SAM, который является прямым текстовым редактором ASCII с прибамбасами. Он имеет командный язык, который может использоваться для обработки повторяющихся задач (я предполагаю, очень похожий на макроязык, но немного более определённый). При взгляде на него, SAM работает подобно текстовым редакторам в UNIX. Имена файлов (одно или несколько) могут быть определены в командной строке. Он загружает файл(ы) в оконную область. В ней текст может быть скопирован в буфер обмена, вставлен, вырезан, изменён, отредактирован и сохранён.

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

Командный язык SAM работает главным образом на регулярных выражениях и подходит для вставки, удаления, поиска, замены и так далее. Эти функции часто вызываются единственным символом, сопровождаемым необходимым текстом. Другими словами, текстом, который будет найден, заменен и т.д.

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

Оконная Система Plan 9

Plan 9 имеет оконную систему, названную 8 1/2. После того, как система загрузулась, она спрашивает, хотите ли Вы загрузить оконную систему. Если Вы выберите эту опцию, появляется 8 1/2. На первый взгляд 8 1/2 выглядит чрезвычайно элементарной (гораздо более даже чем X). Открывающийся экран представляет одно окно термина и часы. Навигация производится в значительной степени мышью.


СОВЕТ: Чтобы полностью использовать оконную систему 8 1/2 Вам необходима мышь с тремя кнопками. Мышь с двумя кнопками будет работать, но Вам будет недоставать, по крайней мере, одного меню и некоторых серьезных функциональных возможностей.

Чтобы изменить размер окна, кликните на любой части пустого экрана. Это вызовет меню с опциями, включая Size, Move, Delete и Hide. После того, как Вы выберите опцию, кликните на целевом окне. Для функций скрытия и удаления окно ведет себя также, к в X. Оно исчезает или удаляется. Однако функции перемещения и изменения размера работают немного по-другому. После выбора опции меню кликните на окне один раз. Затем, вместо непосредственно установки размеров или перемещения окна, снова нажмите черный экран (на сей раз правой кнопкой мыши) и перерисуйте окно. Это первоначально может казаться неуклюжим, но Вы привыкнете к этому.

8 1/2 чрезвычайно легка. Даже на машине с 8МБ ОЗУ 8 1/2 отвечает очень быстро. На Pentium 133 с 64МБ ОЗУ 8 1/2 невероятно быстро.

8 1/2 более динамична, чем большинство других систем управления окнами. Вы можете захватывать любой текст в любом месте и использовать его как команду. В этом отношении 8 1/2 может быть названа завершенной системой "вырезать и вставить". Объекты, идентифицирующие текст (которые часто только для чтения на других платформах), могут быть захвачены в любой точке и брошены в любой другой части 8 1/2. Фактически, эта возможность настолько продвинута, что новые пользователи могут захватывать вещи даже без знания их. Кроме того, как часть этих функциональных возможностей, курсор может быть помещён в любое место в пределах окна. Это существенное изменение. Пользователи X и Microsoft Windows одинаково найдут эту возможность очаровательной. Например, хотя можно "вырезать и вставить" из XTERM или окна MS-DOS, Вы не можете произвольно поместить курсор в любую область и снова захватить напечатанное. В 8 1/2 это возможно.

Я предполагаю, что 8 1/2 может быть лучше всего описана как оконная система, оптимизированная для программистов. Код и другие данные могут быть перемещены в любое время из любой позиции. Но возможно наиболее привлекательная вещь в 8 1/2 состоит в том, что Вы можете рекурсивно выполнять образец 8 1/2 внутри окна 8 1/2. На сколько я знаю эти функциональные возможности свойственны только 8 1/2. Никакая другая система управления окнами не может выполнить такую задачу. (Забавно. Хотя это и экстраординарноя возможность, я ещё не столкнулся с причиной для её использования.)

Изучение 8 1/2 составляет день или самое большее два. Если Вы знакомы с любой реализацией X (или более конкретно, если Вы когда-либо использовали SunView), изучение 8 1/2 будет простым. До некоторой степени 8 1/2 напоминает мне SunView.


ПРИМЕЧАНИЕ: SunView, система управления окнами, представленная в ранних версиях SunOS (операционная система, созданная Sun Microsystems), является чрезвычайно легкой и даже на SunOS 4.1.3 быстрее, чем более поздняя система управления окнами от Sun, OpenWindows. OpenWindows чрезвычайно популярна среди пользователей Sun, хотя возможно она медленнее и не так визуально ошеломляюща, как Common Desktop Environment (CDE - Общая Настольная Среда), новая система управления окнами, совместно разработанная многими поставщиками UNIX.

Программирование в Plan 9

В конечном счёте я рекомендовал бы Plan 9. Если Вы программист и ищете новую и захватывающую операционную систему для разработки, Plan 9 для Вас. Она захватывающа, прежде всего, своим необычным дизайном. И хотя она не UNIX, но имеет достаточно UNIXизма, который пользователи UNIX оценят по достоинству. Кроме того, уникальные возможности организации сети Plan 9 представляют программистам новые возможности.

Программирование в Plan 9 не ограничено C, хотя реальный дистрибутив Plan 9 поступает с родным компилятором C. Этот компилятор C разработан, чтобы генерировать код для всех поддерживаемых архитектур, включая (но вероятно не ограничиваясь)

Компилятор принимает чистый C ANSI, но предупреждаю: Если Вы не знаете о некоторых из более новых соглашений, Вы можете столкнуться с трудностями. Rob Pike написал документ, описывающий использование компилятора C в Plan 9. Я строго рекомендую полностью прочитать этот документ перед попыткой написать любое серьезное приложение на платформе Plan 9.


Ссылка: Документ Rob'а Pike, озаглавленный "How to Use the Plan 9 C Compiler" ("Как Использовать Компилятор C в Plan 9"), может быть найден в онлайне на
http://kbs.cs.tu-berlin.de/~jutta/c/plan9c.html.

Если Вы планируете сконцентрироваться на перенесении приложений на или с Plan 9, проверьте Среду ANSI-POSIX (APE - ANSI-POSIX Environment). APE представляет широкий диапазон POSIX утилит.


Ссылка: Превосходный технический обзор APE, написанный Howard'ом Trickey ("APE–The ANSI/POSIX Environment" - "APE–Среда ANSI/POSIX") может быть найден в онлайне на
http://plan9.bell-labs.com/plan9/doc/ape.html.


ПРИМЕЧАНИЕ: POSIX замещает Portable Operating System Interface (Переносимый Интерфейс Операционной Системы), стандарт, который работал много лет. Этот стандарт усилие со стороны разработчиков по созданию унифицированной UNIX. Другими словами, если программа полностью совместима с POSIX, она должна выполняться на любой полностью совместимой с POSIX платформе, будь то SunOS, Linux, AIX, HP-UX или другие версии UNIX. Много лет (и даже теперь) имеются тонкие различия между различными платформами UNIX, которые мешают простому перенесению приложений. Стандарт POSIX вероятно изменит это. Чтобы больше узнать о POSIX посетите
http://csrc.ncsl.nist.gov/nistbul/csl91-10.txt.

Разнообразное одноразовое программирование может также быть произведено в rc, среде оболочки Plan 9.

Законченный дистрибутив Plan 9 поступает также с обширными библиотеками, включая одну для разработки оконных приложений, выполняющихся в 8 1/2 (окна фактически упоменаеются как панели). Tom Duff написал весьма хороший документ по разработке панелей в Plan 9. Он уподобляет библиотеку панелей популярным пакетам разработки Tcl и Tk. Пользователи Linux знакомы с Tcl и Tk. Оба языка (и библиотеки разработки) предназначены для использования при создании приложений Системы X Window. Одна из наиболее популярных возможностей Tk в том, что Вы можете создать оконное приложение, используя язык очень похожий на макроязык. Используя эти инструментальные средства можно быстро разрабатывать приложения, потому что объекты в оконной среде помещаются при помощи прямых инструкций. Например, команда в сценарии Tk для создания кнопки:

button .имя_кнопки <параметры>
pack .имя_кнопки <параметры>

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


Ссылка: Если Вы заинтересованы в разработке оконных приложений в Plan 9, документ Tom'а Duff, "A Quick Introduction to the Panel Library" ("Быстрое Введение в Библиотеку Панелей"), может быть найден в онлайне на
ftp://plan9.bell-labs.com/plan9/doc/panel.html.

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


Ссылка: Чтобы найти больше информации об Alef, проверьте справочное руководство языка. Оно может быть найдено в онлайне на
http://plan9.bell-labs.com/plan9/doc/ref.html.

Другой важный ресурс (вероятно даже более ценный, чем справочное руководство языка, особенно для новичков в Alef) это список рассылки Alef. Он может быть просмотрен в онлайне на
http://plan9.wtf.nyc.ny.us/1996/0001.html.


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

Установка PC Дистрибутива

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


ПРИМЕЧАНИЕ: Если такие события происходят, наиболее вероятное, потому что Вы используете неподдерживаемое аппаратное обеспечение. Когда используется правильное аппаратное обеспечение, Plan 9 работает прекрасно. Конечно, не у каждого есть деньги, чтобы пойти и купить точное аппаратное обеспечение, используемое в Bell Labs. Если ваши наличные ограничены, ожидайте по пути некоторые неприятности.

Кроме того, вы испытаете большое расстройство. Если Вы когда-либо устанавливали операционную систему, которая меньше чем дружественна пользователю, Вы знаете чего ожидать. Могут появляться загадочные ошибки, и Вы будете несомненно вынуждены хакать здесь и там. Эти препятствия будут особенно видны, если Вы устанавливаете четырёхдисковый, свободный PC дистрибутив на сомнительном аппаратном обеспечении.

Машина, Предназначенная Для Инсталляции

Машина, которую Вы используете, должна быть свободна и чиста. То есть ни в коем случае не устанавливайте дистрибутив Plan 9 на машину, которую Вы используете для зарабатывания на жизнь (даже если Вы устанавливаете Plan 9 на отдельный диск). Были случаи, при которых инсталляции Plan 9 постоянно отключали возможность загрузки других операционных систем или разделов. Единственная причина, по которой Вы должны производить такую инсталляцию, если ваша работа требует этого (или если Вы программист, который любит трудные ситуации). Иначе, используя что ни будь старше DX66, Вы окажитесь в сортире.

Если у Вас только одна машина и Вы всё равно хотите экспериментировать, приобретите дисковый чеенджер. Это устройство позволит Вам переключать жёсткие диски быстро и легко. Оно работает точно так же, как автомобильное стерео на несколько дисков. Ваш жёсткий диск помещён в корпус, который вставляется в PC. Таким способом Вы можете переключаться с постоянного диска (содержащего операционную систему, которую Вы используете для работы) на диск с Plan 9.


ПРИМЕЧАНИЕ: На сколько я знаю нет известных случаев, когда инсталляция Plan 9 разрушала аппаратное обеспечение, так что нет никакой причины, почему Вы должны бояться временно переключать диски.

Машинная не должна быть особенно быстрой, хотя я рекомендовал бы 66мГц или больше. Я устанавливал дистрибутив на DX 33мГц, DX2 66мГц, DX4 120мГц и на Pentium 133. Честно говоря, я не обнаружил невероятного увеличения в скорости между 120 и 133, и при этом я не обнаружил различий между 66 и 120. Однако DX33 была по общему признанию весьма медленной.

Память тоже важна. Вам будет необходимо, по крайней мере, в 8МБ. Некоторые документы в Internet говорят, что есть люди, выполняющие Plan 9 с 4МБ ОЗУ, и я верю этому. Однако, во время семи инсталляций PC дистрибутива, я дважды сталкивался с сообщением Out of Physical Memory (Недостаточно Физической Памяти). Это было, как и случается, фатальной ошибкой. Немедленно после этого сообщения инсталляция обрывалась. В обоих случаях я использовал только 8МБ ОЗУ. На идентичной машине, после установки дополнительного ОЗУ, я сумел завершить инсталляцию успешно.

Жёсткий Диск

Какой жёсткий диск использовать, зависит от того, что Вы устанавливаете. Если Вы просто устанавливаете PC дистрибутив, то можете успешно использовать 40МБ жёсткий диск. Однако, если Вы намереваетесь установить полный дистрибутив Plan 9 с CD-ROM, необходим жёсткий диск равный или больший чем 540МБ.


СОВЕТ: В документации было сообщено, что диска 500МБ будет достаточно. Насколько я могу говорить, это не совсем так. Если Вы произведёте инсталляцию непосредственно с CD-ROM, то потребуется 540МБ диск (или приблизительно 532МБ). Единственный способ обойти это, сначала установить основной четырёхдисковый PC дистрибутив, и затем более выборочно установить оставшееся от дистрибутива с CD-ROM. Это устранит многие элементы, которые предназначены для использования на других платформах. Однако примите к сведению, что это более трудный путь, который может привести к проблемам при доступе к вашему CD-ROM. (Иногда драйвер CD-ROM должным образом не инициализирует привод CD-ROM.) Намного лучшая идея сделать полную установку и позже удалить то, в чём Вы не нуждаетесь.

Я рекомендую 540 или 600МБ диск. Должен заявить, что я выполнял инсталляции с дисками IDE и поэтому, я не могу ничего сказать об основанных на SCSI инсталляциях. Я получил подходящие результаты со следующими дисками:

Процесс Инсталляции

Я буду предполагать, что Вы устанавливаете четырехдисковый PC дистрибутив. Этот набор четырех образов дискет расположен в онлайне на
ftp://plan9.bell-labs.com/plan9/pcdist/README.html. Загрузите его во временный каталог на вашем текущем жестком диске.


ПРИМЕЧАНИЕ: Термин образы дискет относится к четырем файлам, расположенным на сайте Plan 9. Эти файлы точные копии четырех дискет, требуемых для создания инсталляционного набора для Plan 9. Эти файлы или образы должны быть загружены на вашу локальную машину и записаны на гибкие дискеты.


СОВЕТ: Важно, чтобы Вы получили диски с этого сайта. Более ранние версии этих загрузочных дисков могут быть доступны в других местах, но Вы не должны использовать их. При инсталляции более ранние версии имеют тенденцию повреждать другие разделы на диске. Типичный пример, когда Plan 9 в течение инсталляционного процесса отключала раздел Linux. Снова, я строго против установки Plan 9 на любой жесткий диск, который содержит жизненную или незаменимую информацию.

Образы дискет в этом месте

После того, как Вы загрузите эти образы дискет, запишите их непосредственно на дискеты.


ПРИМЕЧАНИЕ: Копирование образов дискет на дискету включает процесс, который отличается от копирования файлов на дискету. Копирование образов дискет непосредственно на дискету не достаточно и приведет к отказу инсталляции.

Доступно множество утилит для записи дисковых образов на гибкие диски. Наиболее популярной является программа с названием DD.EXE. DOS версия (подходящая для использования под Windows 95) доступна в онлайне на

Другая утилита, используемая для этой цели (и которая более широко доступна в Internet) RAWRITE.EXE. Пользователи Linux знакомы с RAWRITE.EXE, потому что они использовали ее для записи образов загрузочных дискет для Linux на дискеты. RAWRITE.EXE доступна в онлайне на

После того, как Вы запишите эти образы на дискеты, переключитесь к целевой машине (или жесткому диску). На жестком диске Вы должны установить раздел DOS. Размер этого раздела не особенно важен (я использую 10МБ). В действительности требуется, чтобы он был достаточно большим, чтобы содержать DOS и приблизительно 1.5МБ информации в каталоге по имени C:\PLAN9.

Разделение Диска

Чтобы разделить диск, используйте утилиту FDISK.EXE (смотрите Рисунок 21.3).

Утилита FDISK
Рисунок 21.3 Утилита FDISK.

Сначала удалите все разделы (Вы начнете с полностью чистого диска). Распределите любое пространство, которое Вы предназначаете для области DOS (я рекомендую по крайней мере 11МБ). После того, как Вы перезагрузите вашу машину, отформатируйте этот раздел и установите на него DOS.


ПРИМЕЧАНИЕ: На этом этапе у Вас должен быть жесткий диск с одним DOS разделом размером по крайней мере 11МБ. Остальная часть вашего жесткого диска не должна содержать никаких разделов любого типа.

Установка Основной Системы Plan 9

Оставшиеся шаги этой части инсталляции просты. Загрузитесь с загрузочной дискеты Plan 9 (это дискета, на которую Вы записали файл disk1). В течение процесса загрузки Вы увидите ряд сообщений; большинство их просто читать и интерпретировать. Plan 9 проверит вашу память и сообщит, какие части ее доступны. Она идентифицирует ваше аппаратное обеспечение. В конечном счете, она выдаст Вам милый синий экран, который содержит заголовок System Installation & Configuration (Инсталляция и Конфигурация Системы).

С этого экрана Вы выполняете инсталляцию. Нажатие клавиши Enter вызывает меню, содержащее различные опции инсталляции. Проверьте, что они правильны для вашей машины. Когда Вы удостоверитесь, что эти опции правильны, выберите опцию Install (Установить).

Появится окно, и будет пролистано много имен файлов. Не тревожьтесь. Так Plan 9 сообщает Вам, которые файлы были установлены. Когда этот процесс закончен, Plan 9 опросит Вас о вашем аппаратном обеспечении. Определенно, должны быть установлены опции для VGA, мыши и т.д. Обеспечьте необходимые ответы и выберите Save Configuration (Сохранить Конфигурацию) из меню.


ПРИМЕЧАНИЕ: Plan 9 дает Вам возможность изменить опции прежде, чем они будут записаны на диск. Появится диалоговое окно, перечисляющее ваши опции. Если они неправильны, вернитесь и измените их.

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

Установка Оставшихся Дискет

После того, как Вы перезагрузите машину, измените текущий каталог на C:\PLAN9 и напечатайте символ B, чтобы загрузить инсталляционную программу. Вы должны определить целевой диск. Это сообщит Plan 9 на который диск Вы намереваетесь поместить файловую систему Plan 9. Я предполагаю, что Вы имеете единственный диск, так что это не проблема. Но если Вы устанавливаете на машину с несколькими дисками (и разделами), позаботьтесь и проверьте, что это правильный раздел.


ПРЕДУПРЕЖДЕНИЕ: Если Вы выберите неверный раздел, все ваши данные на этом разделе будут потеряны. Будьте абсолютно уверены, что выбрали правильный раздел прежде, чем выполнять процедуру установки.

После того, как Вы выберите раздел, Plan 9 начнет процесс инсталляции файловой системы. Появится диалоговое окно, запрашивая Вас вставить второй диск в привод гибкого диска. После того, как Вы сделаете так, начнется инсталляция системных файлов. Вы снова увидите всплывающее окно с именами файлов, пролиствыющимися в нем. Вставляйте диски, когда программа запрашивает их. Когда процедура установки закончится, Вам будет выдано меню. Выберите опцию, которая говорит Make the newly installed Plan 9 the default (Сделать недавно установленную Plan 9 заданной по умолчанию).

Поздравляю. На этом этапе процедура установки закончена. Теперь Вы можете вынуть четвертый диск, перезагрузить машину (выбрав опцию меню) и начать исследовать Plan 9.

Запуск Plan 9

Когда Вы перезагрузите машину, измените текущий каталог на Plan 9. В нем напечатайте команду

B

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

root is from (local, 9600, 19200, il)[local!#H/hd0fs]:

Нажмите клавишу Enter. Вы будете запрошены строкой, которая выглядит подобно следующей:

user[none]:

Нажмите клавишу Enter снова. В зависимости от скорости вашей системы, Вас скоро спросят, должна ли Plan 9 запустить оконную систему. Выберите Yes (Да).

Если Вы сделаете так, 81/2 должна загрузиться чисто (исключая некоторую неясную ошибку). Если так, Вам будет представлен яркий экран (его цвет может зависеть от вашей видеокарты; у меня экран белый), часы и окно с содержанием файла README, напечатанным в нем. Добро пожаловать в Plan 9. (Взгляните на размер курсора мыши!)

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

Итог

Plan 9 from Bell Labs это новая и уникальная операционная система, которая предлагает совершенно новый взгляд на безопасность Internet. Однако она далека от вытеснения современной UNIX. (Фактически, многие люди полагают, что следующий коммерчески жизнеспособной операционной системой будет Inferno от Lucent. До некоторой степени это так, потому что Inferno теперь используется в устройствах для интерактивного ТВ.)

Plan 9 подходит лучше всего для очень больших организаций. Система выглядит разработанный явно для Internet. Я назвал ее тонко обработанным строительный раствором для запечатки трещин в современных методах организации сети. Поскольку есть немного исследований модели безопасности Plan 9, мы должны просто ждать и смотреть. Однако, как проект для хака, я не могу думать о лучшем начале, чем Plan 9 from Bell Labs.

Ресурсы

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

Plan 9 в WWW

Каталог Документов Сервера Plan 9

Инсталляционные Дискеты PC Дистрибутива Plan 9

FAQ по Plan 9

Техническая Документация по Plan 9 (Документы)

Краткий Обзор Файловой Системы Plan 9

Архив Списка Рассылки Plan 9

Онлайновая Библиография Plan 9

Группа Новостей Usenet Plan 9

Неофициальная Страница Plan 9 (Очень Круто)

Web Сервер Plan 9 Университета York (Великобритания)

Официальная Домашняя Страница Plan 9

Статьи и Все Такое

Plan 9: Son of UNIX (Plan 9: Сын UNIX). Robert Richardson. LAN Magazine (Том 11, Страница 41). 1 августа, 1996.

Plan 9: Feature Film to Feature-Rich OS (Plan 9: Игровой Фильм по ОС с Богатыми Возможностями). Paul Fillinich. Byte Magazine (Том 21, Страница 143). 1 марта, 1996.

Plan 9 from AT&T (Plan 9 от AT&T). David Bailey. UNIX Review (Том 1, Страница 27). 1 января, 1996.

Plan 9 from Bell Labs. Rob Pike, Dave Presotto и Phil Winterbottom. Computing Systems Journal (Том 8, Страница 221). Лето, 1995.

Plan 9. Sean Dorward, Rob Pike и Dave Presotto. UNIX Review (Том 10, Страница 28). 1 апреля, 1992.

Designing Plan 9 (Проектирование Plan 9). Rob Pike, Dave Presotto и Ken Thompson. Dr. Dobb's Journal (Том 16, Страница 49). 1 января, 1991.

Is Plan 9 Sci-Fi or UNIX for the Future? (Plan 9 или UNIX Фантастика Для Будущего?) Anke Goos. UNIX World (Том 7, Страница 61). 1 октября, 1990.


Предыдущая главаСледующая главаСодержание


Macmillan Computer Publishing USA

Macmillan Computer Publishing.



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz