Обзор операционной системы Multics System

Автор: Пользователь скрыл имя, 17 Ноября 2010 в 12:01, реферат

Краткое описание

С 1965 по 1969 год компания Bell Labs совместно с компанией General Electric и группой исследователей из Масачусетского технологического института участвовала в разработке одной из первых операционных систем с разделением времени исполнения программ, в проекте ОС Multics (Multiplexed Information and Computing Service). Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам.

Оглавление

Введение 3

Описание 3

Особенности Multics 5

История проекта 11

Дополнительные замечания 13

Вывод 14

Источники 15

Файлы: 1 файл

мultics.docx

— 256.73 Кб (Скачать)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

 СРЕДНЕГО  ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«КАМЕНСК-УРАЛЬСКИЙ  ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ» 
 
 
 

                                                                                      

                                                                                     Специальность: 23010

                                                                                     «Автоматизированные системы

                                                                                     обработки информации и управления»

                                                                                     Группа АСУ-21 
 
 
 

РЕФЕРАТ

«Обзор  операционной системы Multics System»

 
                                                                                                                                                                  

 
Выполнил:                                                                                                   Лесников А.В.

 
Проверила:                                                                                                    Дмитриева Я.Л.

 
г. Каменск-Уральский

 
 2010

 
 
 
 

Оглавление

Введение 3

Описание 3

Особенности Multics 5

История проекта 11

Дополнительные замечания 13

Вывод 14

Источники 15 
 
 
 
 
 
 
 
 
 

Введение

С 1965 по 1969 год компания Bell Labs совместно  с компанией General Electric и группой  исследователей из Масачусетского технологического института участвовала в разработке одной из первых операционных систем с разделением времени исполнения программ, в проекте ОС Multics (Multiplexed Information and Computing Service). Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам.

Описание

Разработка операционной системы Multics была начата в 1964 году. Изначально в этом проекте были заняты Массачусетский Технологический Институт (MIT), а также компании General Electric (GE) и Bell Labs. Компания Bell Labs вышла из проекта в 1969 году, а в 1970 году компьютерный бизнес компании General Electric (вместе с Multics) отошёл к компании Honeywell, которая продала его BULL (en:Groupe Bull). Multics был задуман компанией General Electric как коммерческий продукт, и стал таковым уже под руководством компании Honeywell, хотя так никогда и не нашёл успеха на компьютерном рынке.

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

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

Особенности Multics

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

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

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

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

Одним из главных  неудобств такого подхода (появившегося в основном из-за различий электронных  архитектур вычислительных машин, на которой  система работала), было ограничение  размера сегмента до 256 * 1024 32-битных слов, что равно 1 Мегабайту. Поэтому  для работы с файлами, бо́льшими  по размеру, чем установленный лимит, должен был использоваться дополнительный код в исполняемых программах. Сами файлы, по размеру бо́льшие, чем 256 * 1024 32-битных слов, представлялись системой в виде ряда соединённых воедино  сегментов.

Следует также  сказать, что до появления больших  баз данных и графических данных огромных объёмов данное ограничение  по размеру файлов нарушалось крайне редко.

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

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

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

Стоит заметить, что две приведённые выше идеи так до сих пор и не были реализованы  в полной мере на сегодняшних самых  распространённых операционных системах, несмотря на большое развитие компьютерной техники, начавшееся в 60-х годах; хотя в своей нынешней реализации эти идеи формируют то, что мы называем динамическими связями (dynamic linking) в компьютерных системах.

Отдельно стоит  упомянуть о том, что система Multics поддерживала весьма агрессивную переконфигурацию всей системы «на ходу», позволяя подключать, отключать и настраивать  центральные процессоры, блоки памяти, жёсткие диски и другие устройства, не останавливая при этом всю систему. Например в MIT во время профилактики системы Multics было обычной практикой  разделять систему — которая была мультипроцессорной — на две, постепенно конфигурируя компьютерные устройства для создания двух независимых друг от друга систем. Одна из получившихся систем продолжала обслуживать всех подключённых пользователей, а другая позволяла проводить профилактику, установку новых устройств или обновление программного обеспечения. Когда все необходимые мероприятия завершались, систему вновь собирали в единое целое без всяких перезагрузок.

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

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

Дополнительно к тому, что в Multics одной из первых была реализована иерархическая  файловая система, имена файлов могли  быть практически произвольной длины  и содержать любые символы. Файл или директория могли иметь несколько  имён (короткое и длинное); также  были доступны для использования символьные ссылки (symlink) между директориями.

Информация о работе Обзор операционной системы Multics System