Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Программированиеи компьютеры /

Операционная система UNIX

←предыдущая  следующая→
1 2 3 4 5 6 7 8 9 10 



Скачать реферат


Содержание

Содержание 1

Проект операционной системы Multics: неудача с положительными последствиями 2

Возникновение и первая редакция ОС UNIX 3

Исследовательский UNIX 5

Первый перенос ОС UNIX 5

Седьмая редакция 6

Возникновение группы университета г. Беркли (BSD) 7

UNIX System III и первые коммерческие версии системы 8

AT&T System V Release 2 и Release 3 9

Пользователь 9

Интерфейс пользователя 10

Привилегированный пользователь 10

Ядро ОС UNIX 11

Общая организация традиционного ядра ОС UNIX 12

Основные функции 13

Принципы взаимодействия с ядром 14

Принципы обработки прерываний 15

Файловая система 16

Структура файловой системы 16

Монтируемые файловые системы 18

Защита файлов 18

Драйверы устройств 19

Внешний и внутренний интерфейсы устройств 20

Сетевая файловая система (NFS) 21

Основные функции и компоненты ядра ОС UNIX 22

Управление памятью 22

Виртуальная память 23

Перспективные ОС, поддерживающие среду ОС UNIX 28

Понятие микроядра 29

Микроядро Mach университета Карнеги-Меллон 31

Микроядро Chorus компании Chorus Systems 33

Примеры микроядерных реализаций ОС UNIX 33

OSF-1 компании Open Software Foundation 33

MiX компании Chorus Systems 33

Hurd Free Software Foundation 34

Проект операционной системы Multics: неудача с положи-тельными последствиями

С 1965 по 1969 год компания Bell Labs совместно с компанией General Electric и группой исследователей из Масачусетского технологического института участ-вовала в проекте ОС Multics. Целью проекта было создание многопользова-тельской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычисли-тельным ресурсам. В этом курсе мы не ставим задачу познакомить слушателей с ОС Multics. Это могло бы быть темой отдельного большого курса. Однако от-метим хотя бы некоторые идеи, которые содержались в проекте MAC (так на-зывался проект ОС Multics).

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

Во-вторых, в ОС Multics была спроектирована и реализована полностью цен-трализованная файловая система. В централизованной файловой системе фай-лы, физически располагающиеся на разных физических устройствах внешней памяти, логически объединяются в один централизованный архив или древо-видную иерархическую структуру, промежуточными узлами которой являются именованные каталоги, а в листьях содержатся ссылки на файлы. В том случае, когда при поиске файла в архиве по его имени оказывалось, что соответствую-щий накопитель (магнитный диск или магнитная лента) не был установлен на устройство внешней памяти, ОС обращалась к оператору с требованием уста-новить нужный том внешней памяти. Естественно, такая дисциплина сущест-венно облегчала операторскую работу и администрирование файловой систе-мы, хотя и затрудняла выполнение таких рутинных действий как перенос части файловой системы с одного компьютера на другой. Позже мы увидим, какой изящный компромисс был выбран при реализации ОС UNIX.

Далее, наличие большой сегментно-страничной виртуальной памяти позволило использовать отображение файлов в сегменты виртуальной памяти. Другими словами, при открытии файла в виртуальной памяти соответствующего процес-са образовывался сегмент, в который полностью отображался файл, распола-гающийся во внешней памяти. (Следует отметить, что в файловой системе ОС Multics на базовом уровне поддерживались файлы со страничной структурой. Более сложные организации являлись надстройкой). Дальнейшая работа с фай-лом происходила на основе общего механизма управления виртуальной памя-тью.

Операционная система Multics, хотя и не была полностью доведена до стадии коммерческого продукта, обогатила мировое сообщество системных програм-мистов массой ценных идей, многие из которых сохраняют свою актуальность по сей день и используются применительно не только к операционным систе-мам. Основным недостатком ОС Multics, который, по всей видимости, и поме-шал довести систему до уровня программного продукта, была ее чрезмерная сложность. Среди участников проекта Multics находились Кен Томпсон и Ден-нис Ритчи.

Решение о прекращении участия в проекте Multics было принято на самом верхнем уровне руководства Bell Labs, и сотрудники, по существу, были по-ставлены перед свершившимся фактом. Более того, руководство компании, разочарованное результатами весьма дорогостоящего проекта, вообще не жела-ло больше вести какие-либо работы, связанные с операционными системами.

Возникновение и первая редакция ОС UNIX

Принято считать, что исходным толчком к появлению ОС UNIX явилась работа Кена Томпсона по созданию компьютерной игры "Space Travel". Он делал это в 1969 году на компьютере Honeywell 635, который до этого использовался для разработки проекта MAC. В это же время Кен Томпсон, Деннис Ритчи и другие сотрудники Bell Labs предложили идею усовершенствованной файловой систе-мы, прототип которой был реализован на компьютере General Electric 645. Од-нако компьютер GE-645, который был рассчитан на работу в режиме разделе-ния времени и не обладал достаточной эффективностью, не годился для пере-носа Space Travel. Томпсон стал искать замену и обнаружил, что появившийся к этому времени 18-разрядный компьютер PDP-7 с 4 килословами оперативной памяти и качественным графическим дисплеем вполне для этого подходит.

После того, как игра была успешно перенесена на PDP-7, Томпсон решил реа-лизовать на PDP-7 разработанную ранее файловую систему. Дополнительным основанием для этого решения было то, что компания Bell Labs испытывала по-требность в удобных и дешевых средствах подготовки и ведения документации. В скором времени на PDP-7 работала файловая система, в которой поддержива-лись: понятие inodes, подсистема управления процессами и памятью, обеспечи-вающая использование системы двумя пользователями в режиме разделения времени, простой командный интерпретатор и несколько утилит. Все это еще не называлось операционной системой UNIX, но уже содержало родовые черты этой ОС.

Название придумал Брайан Керниган. Он предложил назвать эту двухпользова-тельскую систему UNICS (Uniplexed Information and Computing System). Назва-ние понравилось, поскольку, помимо прочего, оно напоминало об участии со-трудников Bell Labs в проекте Multics. В скором времени UNICS превратилось в UNIX (произносится так же, но на одну букву короче).

Первыми реальными пользователями UNIX стали сотрудники патентного отде-ла Bell Labs. Однако существовали некоторые проблемы, связанные с PDP-7. Во-первых, эта машина не принадлежала компьютерной группе (была только во временном пользовании). Во-вторых, возможности этого компьютера не удов-летворяли потребности исследователей. Поэтому в 1971 году был приобретен новый 16-разрядный компьютер фирмы Digital Equipment PDP-11/20, и на него была перенесена UNIX. Существовавший к этому времени вариант системы был написан на языке ассемблера, так что можно представить, что перенос был совсем не простым делом. На PDP-11 система поддерживала большее число пользователей. Кроме того, была реализована утилита форматирования тексто-вых документов roff (тоже на языке ассемблера).

В ноябре 1971 года был опубликован первый выпуск документации по ОС UNIX ("Первая редакция"). В соответствии с этой "Первой редакцией" назвали и соответствующий документации вариант системы. Впоследствии это стало традицией: новая редакция ОС UNIX объявлялась при выходе в свет новой ре-дакции документации.

Вторая редакция появилась в 1972 году. Наиболее существенным качеством "Второй редакции" было то, что система была переписана на языке Би ("B"). Язык и интерпретирующая система программирования были разработаны Ке-ном Томпсоном под влиянием существовавшего языка BCPL. Во второй редак-ции появились программные каналы ("pipes").

Появление варианта системы, написанного не на языке ассемблера, было за-метным продвижением. Однако сам язык Би во многом не удовлетворял разра-ботчиков. Подобно языку BCPL язык Би был бестиповым, в нем поддерживался только один тип данных, соответствующий машинному слову. Другие типы данных эмулировались библиотекой функций. Деннис Ритчи, который всегда увлекался языками программирования, решил устранить ограничения языка Би, добавив в язык систему типов. Так возник язык Си ("C"). В 1973 году Томпсон и Ритчи переписали систему на языке Си. К этому времени существовало около 25 установок ОС UNIX, и это была "Четвертая редакция".

В июле 1974 года Томпсон и Ритчи опубликовали в журнале Communications of the ACM историческую статью "UNIX Timesharing Operating System", которая положила начало новому этапу в истории системы. ОС UNIX заинтересовались

←предыдущая  следующая→
1 2 3 4 5 6 7 8 9 10 



Copyright © 2005—2007 «Mark5»