Обзор операционной системы Multics System
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«КАМЕНСК-УРАЛЬСКИЙ
ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»
РЕФЕРАТ
«Обзор операционной системы Multics System»
Выполнил:
Лесников А.В.
Проверила:
Дмитриева Я.Л.
г.
Каменск-Уральский
2010
Оглавление
Введение 3
Описание 3
Особенности Multics 5
История проекта 11
Дополнительные замечания 13
Вывод 14
Источники 15
Введение
С 1965 по 1969 год компания Bell Labs совместно
с компанией General Electric и группой
исследователей из Масачусетского технологического
института участвовала в
Описание
Разработка операционной системы 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
на базовом уровне
Одним из главных неудобств такого подхода (появившегося в основном из-за различий электронных архитектур вычислительных машин, на которой система работала), было ограничение размера сегмента до 256 * 1024 32-битных слов, что равно 1 Мегабайту. Поэтому для работы с файлами, бо́льшими по размеру, чем установленный лимит, должен был использоваться дополнительный код в исполняемых программах. Сами файлы, по размеру бо́льшие, чем 256 * 1024 32-битных слов, представлялись системой в виде ряда соединённых воедино сегментов.
Следует также сказать, что до появления больших баз данных и графических данных огромных объёмов данное ограничение по размеру файлов нарушалось крайне редко.
В системе Multics была
впервые реализована и
Таким образом
программы смогли автоматически
использовать внешние библиотеки кода,
хранимые в отдельных сегментах,
создавая при этом динамические связи
с функциями, хранимыми в этих
библиотеках. Динамическая связь с
внешним исполняемым кодом
В равной степени важным являлось и то, что с правильной настройкой системы безопасности в Multics код из одного сегмента мог получать доступ к структурам данных, инициализированным в совершенно другом процессе. Для такого взаимодействия между пользовательскими и отдельными daemon-процессами (или просто демонами) процесс пользователя должен был динамически подключить сегмент кода, ассоциированный с этим процессом и вызывать находящиеся там методы. Код, находящийся в подключённом сегменте, мог напрямую работать с используемыми в демоне структурами данных. Когда вызванный код из подключённого сегмента заканчивал работу, выполнение возвращалось в пользовательский процесс через обычную процедуру возвращения из вызываемого метода.
Стоит заметить, что две приведённые выше идеи так до сих пор и не были реализованы в полной мере на сегодняшних самых распространённых операционных системах, несмотря на большое развитие компьютерной техники, начавшееся в 60-х годах; хотя в своей нынешней реализации эти идеи формируют то, что мы называем динамическими связями (dynamic linking) в компьютерных системах.
Отдельно стоит упомянуть о том, что система Multics поддерживала весьма агрессивную переконфигурацию всей системы «на ходу», позволяя подключать, отключать и настраивать центральные процессоры, блоки памяти, жёсткие диски и другие устройства, не останавливая при этом всю систему. Например в MIT во время профилактики системы Multics было обычной практикой разделять систему — которая была мультипроцессорной — на две, постепенно конфигурируя компьютерные устройства для создания двух независимых друг от друга систем. Одна из получившихся систем продолжала обслуживать всех подключённых пользователей, а другая позволяла проводить профилактику, установку новых устройств или обновление программного обеспечения. Когда все необходимые мероприятия завершались, систему вновь собирали в единое целое без всяких перезагрузок.
Как уже было упомянуто, система Multics могла работать на многопроцессорных компьютерах, по существу явившись одной из самых первых мультипроцессорных операционных систем.
Multics была также
одной из первой систем, в которой
большое внимание уделялось
Дополнительно к тому, что в Multics одной из первых была реализована иерархическая файловая система, имена файлов могли быть практически произвольной длины и содержать любые символы. Файл или директория могли иметь несколько имён (короткое и длинное); также были доступны для использования символьные ссылки (symlink) между директориями.
Также в Multics был впервые реализован (теперь уже стандартный) подход использования стеков для каждого вычислительного процесса в ядре системы, с отдельным стеком для каждого уровня безопасности вокруг ядра.
Multics также явилась одной из первых операционных систем, написанных на языке высокого уровня PL/I (самой первой такой системой была MCP для компьютеров Burroughs B5000, которая использовала диалект Алгола).
История проекта
Изначально Multics была разработана для 36-битных мэйнфреймов GE-645, а позднее — и для машин серии Honeywell 6180.
Компания Bell Labs вышла из проекта в 1969-м году. Несколько человек, разрабатывавших систему Multics в этой компании, перешли к созданию системы UNIX. Позднее созданная система UNIX показала внешнее сходство с системой Multics, в том числе в названиях используемых команд. Однако, философия дизайна UNIX была совершенно другой, ориентированной на создание системы как можно меньших размеров, и настолько простой, насколько это будет возможно, в чём и было её основное отличие от системы Multics.
Название «UNIX» (изначально «Unics») было
образовано от «Multics». Буква U в названии
UNIX означала «Uniplexed» («односложная») в
противоположность слову «
Компания Honeywell выкупила компьютерное подразделение компании GE и продолжала разработку системы Multics до 1985 года. Около 80 многомиллионных установок было поставлено в университетские, индустриальные и государственные вычислительные центры.
Также в начале 80-х во Франции в нескольких университетах были установлены компьютеры с системой Multics.
После того как компания Honeywell прекратила поддержку системы Multics, пользователи мигрировали на другие системы, в том числе и на системы UNIX.
Последняя машина с Multics была остановлена 31 октября 2000-го года в канадском Министерстве Обороны.
В 2007 году исходный код и документация Multics были переданы компанией BULL Массачусетскому Технологическому Институту и опубликованы на сайте MIT.
Дополнительные замечания
Удивительно, что ядро системы Multics, находившееся постоянно в памяти компьютера и в те далёкие годы часто высмеивавшееся за свой размер и сложность, занимало всего 135 Килобайт кода.
Первые компьютеры GE-645 имели память размером 512 * 1024 32-х битных слов (или 2 Мегабайта по сегодняшним меркам), поэтому ядро системы занимало не так уж и много места.
Стоит также заметить, что вся операционная система, включая сложный компилятор языка PL/I, пользовательские команды и дополнительные библиотеки, состояла из примерно полутора тысяч исходных файлов, каждый из которых содержал примерно по 200 строк кода. В скомпилированном виде весь этот код занимал около 4,5 Мегабайт, что было огромным размером по тем временам.
Компиляторы Multics в основном оптимизировали код по размеру, а не по эффективности использования центрального процессора, что было обосновано стремлением к экономии памяти в многопользовательской системе.
Вывод
Операционная система Multics, хотя и не была полностью доведена до стадии коммерческого продукта, обогатила мировое сообщество системных программистов массой ценных идей, многие из которых сохраняют свою актуальность по сей день и используются применительно не только к операционным системам. Основным недостатком ОС Multics, который, по всей видимости, и помешал довести систему до уровня программного продукта, была ее чрезмерная сложность. Среди участников проекта Multics находились Кен Томпсон и Деннис Ритчи.
Решение о прекращении участия в проекте Multics было принято на самом верхнем уровне руководства Bell Labs, и сотрудники, по существу, были поставлены перед свершившимся фактом. Более того, руководство компании, разочарованное результатами весьма дорогостоящего проекта, вообще не желало больше вести какие-либо работы, связанные с операционными системами.
Последняя машина с Multics была остановлена 31 октября 2000-го года в канадском Министерстве Обороны.
Источники
ru.wikipedia.org

- Обзор операционной системы Windows Vista
- Обзор операционных систем
- Обзор операционных систем
- Обзор операционных систем
- Обзор операционных систем
- Обзор операционных систем
- Обзор организационно-производственного устройства общества «АШТАРАК-КАТ», направления его совершенствования
- Обзорное реферирование текстов
- Обзорность и стеклоочистители
- Обзорный анализ использования земель Первомайского района Нижегородской области за период 2005 – 2011 г
- Обзор нынешнего глобального изменения климата
- Обзор области применения окон "VELUX"
- Обзор общехозяйственной конъюнктуры Соединенного королевства Великобритании и Северной Ирландии за 2010 г. и прогноз на 2011 г
- Обзор операционной системы Microsoft Windows Vista