Компания honeywell в консорциуме разработчиков multics сменила собой

Multics
Логотип Multics
Разработчик

MIT, GE, Bell

Последняя версия

MR 12.5 — 1992

Тип ядра

монолитное

Лицензия

MIT License

Состояние

историческое

Веб-сайт

Multics Internet Server

Multics (англ. Multiplexed Information and Computing Service) — одна из первых операционных систем с разделением времени исполнения программ (англ. time-sharing operating system).

Содержание

  • 1 Описание
  • 2 Инновационные идеи
  • 3 История проекта
  • 4 Дополнительные замечания
  • 5 Смотрите также
  • 6 Дополнительный материал
  • 7 Ссылки
  • 8 Примечания

Описание

Разработка операционной системы 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 оказала очень большое влияние на компьютерную индустрию благодаря многим новаторским и ценным идеям, заложенным в неё. Хотя система и подвергалась многочисленным насмешкам со стороны критиков [1], она всё же показала, что заложенные в неё концепции имеют право на долгосрочную жизнь в мире операционных систем.

Система 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 был впервые реализован (теперь уже стандартный) подход использования стеков для каждого вычислительного процесса в ядре системы, с отдельным стеком для каждого уровня безопасности вокруг ядра.

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» («односложная») в противоположность слову «Multiplexed» («комплексная»), лежавшему в основе названия системы Multics, для того, чтобы подчеркнуть попытку создателей UNIX-а отойти от сложностей системы Multics для выработки более простого и работоспособного подхода.

Компания 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 в основном оптимизировали код по размеру, а не по эффективности использования центрального процессора, что было обосновано стремлением к экономии памяти в многопользовательской системе.

Смотрите также

  • Фернандо Корбато (Fernando J. Corbato), лидер проекта Multics пока в нем участвовал MIT
  • Виктор Высоцкий (Victor A. Vyssotsky), один из лидеров проекта BESYS, предшественника Multics
  • Луис Поузин (Louis Pouzin), представивший термин оболочка (shell) в командном языке системы Multics

Дополнительный материал

  • F. J. Corbato, V. A. Vyssotsky, Знакомство и описание системы Multics (англ.) — хорошее описание системы и ее компонент
  • F. J. Corbato, C. T. Clingen, J. H. Saltzer, Multics — Первые семь лет (англ.) — хороший обзор по итогам использования и улучшения системы в течение нескольких лет.

Ссылки

  • Сайт, всецело посвященный системе Multics
  • Исходные коды Multics

Примечания

  1. Myths about Multics

Обновлено: 21.03.2023

Multics ( аббревиатура от MULTiplexed Information and Computing Service ) — это название операционной системы с таймшером.

Этот проект был начат в 1964 году Фернандо Корбато и Джерри Зальцер (en) . Проект Multics ознаменовал разработку операционных систем, в частности, после повторного использования и распространения в системе Unix многих элементов, которые сделали ее инновационной системой: иерархическая файловая система, разделение времени, вытесняющая многозадачность, многопользовательская безопасность.

Резюме

Наследство

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

История

Создание

Multics был разработан с 1964 года совместно MIT , Bell Laboratories и General Electric . Bell Laboratories вышла из проекта в 1969 году, затем General Electric продала свой ИТ-отдел компании Honeywell в 1970 году . Только MIT завершил проект. В 1990 году Фернандо Корбато получил премию Тьюринга за ведущую роль в проекте Multics.

Подавляющее большинство операционных систем (> 90%) было написано на PL / I (языке, изначально разработанном IBM ). Только те части операционной системы, для которых эффективность имеет решающее значение (управление памятью), были написаны на собственном ассемблере .

Когда Bell Laboratories вышла из проекта, два инженера, которые работали над Multics ( Кен Томпсон и Деннис Ритчи ), запустили свой собственный проект, первоначально названный UNICS (Uniplexed Information and Computing Service), в отличие от проекта Uniplexed / Multiplexed of the Multics, который они рассматривали. очень много. слишком сложно. Затем имя было изменено на UNIX.

После поглощения компанией Honeywell ИТ-подразделения General Electric именно эта компания занималась продажей Multics с 1970 года и до своего собственного поглощения компанией Bull в 1975 году. Французская компания распространяла Multics до 2000 года и открыла свой код в 2006 году.

Отклонить

Таким образом, все сайты, использующие Multics, начали переключать операционные системы [требуется уточнение] . Последняя известная система Multics была отключена 30 октября 2000 г. Министерство национальной обороны в Канаде , в Галифаксе .

В 2006 году Bull решил опубликовать исходный код последней версии MULTICS.

Технические характеристики

Multics написан на языке PL / I.

Наследие CTSS

Multics позаимствовал многие концепции из операционной системы CTSS , от которой он произошел. Сам он оказал большое влияние на UNIX .

От CTSS Multics унаследовал:

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

Взносы

Одной из целей Multics было обеспечение возможности управления с удаленного терминала .

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

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

Еще одной особенностью Unix было использование операционного стека для каждой задачи для выполнения вытесняющей многозадачности .

Амбиция

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

Он был задуман как коммерческий продукт General Electric и был одним из продуктов Honeywell, но не имел особого успеха. Тем не менее, это было очень важно из-за большого количества инновационных идей, которые он привнес в область операционных систем, и вызванных им обзоров.

Крупные компании, такие как NSA , Ford и General Motors, использовали Multics.

Multics во Франции

Во Франции в начале 1980-х годов Multics получила широкое распространение в академическом мире, которому пришлось покупать французское оборудование компании Bull. Таким образом, в начале 1980- х годов в Центре межуниверситетских вычислений в Гренобле (CICG) был компьютер HB68, на котором работала система Multics, который использовался многими исследователями, включая сотрудников IMAG .

Компания Honeywell, партнер Bull, продала 31 объект, заменив Iris 80 в CII . Булл разработал операционную систему GCOS 6, производную от Multics. Это был финансовый (и технический) успех, с сотнями клиентов в 1980-х и 90-х [исх. необходимо] .

Первые разговоры ( чат ) между двумя телетайпами , один в Биллерике недалеко от Бостона, а другой в штаб-квартире Honewell-Bull (на авеню Гамбетта, 64 в Париже, 20), проводились в рамках Multics в мае 1974 года и происходили ежедневно. ход разработки DPS7 (GCOS-64 или GCOS7). С обеих сторон использовались мэйнфреймы GE-645, усовершенствованная версия GE-635.

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

Первый компьютер, созданный в 1945 году и именуемый ЭНИАК, представлял собой громоздкое устройство размером с несколько поставленных в ряд шкафов, вдоль которых взад и вперед прохаживался программист и нажимал разные переключатели, — именно так выглядел процесс программирования в то далекое время. Кстати, махина эта работала на лампах и умела выполнять аж пять тысяч операций сложений в секунду. Ручной способ ввода программ был невероятно медленным, и когда мощности компьютеров первого поколения возросли, и наконец-то появилась возможность вводить больше данных, ручное программирование стало нерациональным, поскольку ввод программ занимал несоизмеримо больше времени, чем получение результатов вычислений.

ЭНИАК

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

EDSAC

Multics

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

Высокая производительность, безотказность и гибкость позволили продержаться Multics более 30 лет, однако при этом она никогда не претендовала на статус коммерческого продукта и не составляла конкуренции более молодым операционным системам, занимая сравнительно скромную нишу в образовательном и государственном секторах. Возможно, причиной небольшой системы популярности стала ее сложность по сравнению с UNIX, созданной на базе Multics программистами Bell Labs.

UNIX

Последний компьютер под управлением Multics был остановлен 31 октября 2000 года, а спустя семь лет документация и исходный код операционной системы были переданы Массачусетскому технологическому институту, который опубликовал их на своем сайте web.mit.edu/multics-history.

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

Очередь на вычисления

Компьютер Whirlwind

Компьютер Whirlwind

Вероятно, эта история наложила серьезный отпечаток на всю будущую карьеру Фернандо Корбато. В самом начале 1960-х годов он разработал первую операционную систему с разделением времени. Она позволяла сразу нескольким людям использовать компьютер одновременно. Иными словами, проблема очередей за машинным временем исчезла. Пользователи могли работать с машиной в любое удобное время. Принципы, заложенные Корбато, до сих пор находят свое отражение в ОС современных электронных устройств.

Позднее Корбато вспоминал:

Ранние годы и начало карьеры

Фернандо Хосе Корбато родился 1 июля 1926 года в Окленде, штат Калифорния. Его отец, Эрменегильдо Корбато, был мигрантом из Испании и в молодости работал учителем в римско-католической школе в Китае. Позже он переехал в США, чтобы поступить в аспирантуру калифорнийского университета в Беркли. Там он познакомился со своей будущей женой Шарлоттой Дженсен. С рождением сына Эрменегильдо Корбато устроился преподавателем испанской литературы в Калифорнийском университете в Лос-Анджелесе.

Юный Фернандо не пошел по стопам своих родителей: гуманитарные предметы интересовали его постольку-поскольку, настоящую страсть он питал к математике и физике. Способности Фернандо проявились еще в средней школе. А с началом второй мировой войны в возрасте 17 лет он поступил на службу в военно-морском флоте и получил профильное образование техника-электронщика. Вероятно, именно это заложило фундамент для будущей работы Фернандо. По его собственному признанию, служба в армии научила его решать тривиальные проблемы нетривиальным способом. Этот навык имел решающее значение для Фернандо, когда он занялся проектированием компьютерных операционных систем.

Уже после войны, в 1950 году, он поступил в аспирантуру MIT. Блестящие успехи в области изучения вычислительной техники вкупе с массой неординарных идей и решений обратили на него внимание старших коллег и профессоров. Фернандо назначили помощником в управлении компьютерным центром на территории кампуса. По мере того, как все больше студентов и преподавателей открывали для себя компьютерные вычисления, он воочию видел трудности эффективной эксплуатации ресурсов компьютера.

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

Работа Корбато с проектом Whirlwind подтолкнула его к прорывной идее: почему бы не дать сразу нескольким пользователям возможность одновременно использовать компьютер? Мощности вполне хватит на всех, но из-за технических особенностей первых компьютеров реализовать независимую работу нескольких программистов было попросту невозможно.

Первая ОС с разделением времени

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

В 1961 году Корби вместе со своими коллегами (Бобом Дейли и Марджори Мервин-Даггет) в стенах MIT продемонстрировал первую версию операционной системы с разделением времени — CTSS. Система была реализована на базе IBM 709. Пользователям предлагалось подключаться к машине с помощью модифицированных терминалов Flexowriter. Для сохранения программ, выполнение которых было приостановлено, использовались четыре ленточных накопителя.

В 1962-1963 гг. разработка CTSS продолжилась. На смену ламповому IBM 709 пришла новая машина — IBM 7090. Компьютер был специально модифицирован IBM для работы в режиме разделения времени. Подключение к нему все так же реализовывалось через терминалы, установленные в офисах MIT и даже у некоторых сотрудников института дома.

Кстати, с руководством по использованию CTSS от MIT Press до сих пор можно ознакомиться здесь.

CTSS стала той искрой, которая убедила MIT открыть Project MAC, предтечу Лаборатории компьютерных наук (LCS), которая позже станет Лабораторией компьютерных наук и искусственного интеллекта (CSAIL). На первом крупном мероприятии Project MAC — Summer Study — компьютерные специалисты из различных научно-исследовательских институтов, правительственных организаций и промышленности смогли лично познакомиться с CTSS. Этот практический опыт не только убедил участников в эффективности таймшеринга, но и позволил сформировать вокруг CTSS сообщество первых пользователей.

Стало ясно, что CTSS вышла за рамки экспериментального проекта. Осенью 1963 года лаборатория Project MAC благодаря финансированию ARPA приобрела собственный IBM 7094, и CTSS сделала ресурсы научной машины доступной участникам всех исследовательских проектов MIT.

ОС Multics

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

Логотип Multics

Логотип Multics

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

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

Всем заинтересованным рекомендуем посмотреть короткое видео, в котором объясняется работа виртуальной памяти в Multics:

Проект просуществовал вплоть до середины 1970-х годов. Коммерческого успеха ОС не снискала: сравнительно небольшой рынок, железная политика IBM в отношении собственных мейнфреймов и масса других факторов не позволили Multics обрести популярность.

Однако годы спустя доктор Корбато не раз говорил, что сама концепция Multics положительно повлияла на развитие компьютеров в целом. Именно Multics вдохновила исследователей из Bell Labs на создание UNIX и стала тренировочным полигоном для многих известных программистов — Денниса Ричи, Кена Томпсона, Дэна Бриклина и Боба Френкстона.

Корбато о Multics:

В 1990 году Фернандо Хосе Корбато получил премию Тьюринга Ассоциации вычислительной техники за свою работу над компьютерными системами с разделением времени. Скончался 12 июля 2019 года на 94-ом году жизни.

Видение Корбато — сделать высокопроизводительные машины доступными для всех желающих — еще в 60-х предвосхитило появление облаков. Кто знает, как развивались бы технологии сегодня, не будь его трудов и энтузиазма более полувека назад?

Краткая история Linux

Linux стал популярен по следующим причинам:

  • актуальность дистрибутивов и активная поддержка сообществами разработчиков;
  • возможность запускаться на самом разном оборудовании;
  • низкие требования по части ресурсов;
  • возможность установить программы из существующих репозиториев.

Но список причин, конечно, только этими не исчерпывается; существуют не только практические, но и этические причины. Например, многие разработчики воспринимают Linux как выражение открытости, самовыражения и доступности.

История разработки

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

Что такое Unix?

Unix

Unix – это собрание кроссплатформенных многопользовательских и многозадачных операционных систем.

Можно сразу сказать, что в данный момент Unix-системы являются одними из самых важных операционных систем. Влияние Unix распространилось и на языки программирования: язык C был разработан во время разработки Unix-систем.

Разработкой Unix занималась корпорация Bell Laboratories – в 1969 году они показали первую систему Unix. Чем дальше, тем большую популярность обретали системы Unix – в 70-х их начали устанавливать на компьютеры в учебных заведениях.

При создании Unix разработчики поставили перед собой три основные задачи:

  1. Использование минимального количества функций, сохранение простоты.
  2. Общность: одинаковые методы и механизмы в разных случаях.
  3. Комбинирование программ для решения задач, а не разработка новых программ с нуля.

Что касается отличительных особенностей Unix, то это:

  1. Практически постоянное использование командной строки.
  2. Использование конвейнеров.
  3. Настройка системы через использование простых (зачастую текстовых) файлов.

Unix имеет свою собственную философию. Программист Дуглас Макилрой, который разработал конвейнер в Linux, определил следующие правила:

Пишите программы, которые делают что-то одно и делают это хорошо.

Пишите программы, которые бы работали вместе.

Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс.

Одна из проблем, коснувшаяся Unix, – наличие разных версий и множества программ, которые писали разработчики под свои нужды. Из-за низкой совместимости программы, работающие с одной версией Unix, могли не работать на машинах с другими версиями. В итоге было решено создать общий документ со стандартами, которым должны следовать разработчики.

В 1983 году было объявлено о создании GNU (GNU’s Not UNIX), Unix-подобной операционной системы. Произошло это под влиянием идеи основателя проекта Ричарда Столманна о необходимости создания свободно распространяемой операционной системы и программного обеспечения с открытым исходным кодом.

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

Именно эта мысль вдохновила Линуса Торвальдса, создателя Linux, начать в 1991 году работу над своей операционной системой. Linux, как и GNU, это Unix-подобная система, то есть система, появившаяся под влиянием Unix.

В дальнейшем именно система GNU/Linux станет той системой, которую сейчас называют просто Linux.

VDS Timeweb арендовать

Что такое Multics?

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

Однако главные вычислительные задачи не были достигнуты при выпуске первой версии системы, и компания Bell Laboratories перевела свой интерес на другой проект, в результате которого на свет появился Unix.

Истоки Linux

История Linux начинается в 1991 году, когда финский программист Линус Торвальдс стал разрабатывать ядро операционной системы для своего компьютера. Свои наработки он выложил на сервере, и это стало ключевым событием в истории Linux. Сначала десятки, потом сотни и тысячи разработчиков поддержали его проект – общими усилиями на свет появилась полноценная операционная система.

Эмблемой Linux стал Такс (Tux) – пингвин, нарисованный в 1996 году программистом и дизайнером Ларри Юингом. Впрочем, идею использовать именно пингвина придумал сам Линус Торвальдс. Теперь Такс является символом не только Linux, но и свободного программного обеспечения в целом.

С самого начала и по сей день Linux распространяется как свободное программное обеспечение с лицензией GPL. Это значит, что исходный код операционной системы может увидеть любой пользователь, и не только увидеть, но и доработать его. Единственное условие – измененный, модифицированный код должен быть доступен всем и распространяться по лицензии GPL. Это важно, так как дает возможность разработчикам использовать код и в то же время не бояться проблем из-за авторских прав.

Своему успеху Linux во многом обязан GNU: на момент выхода Linux существовало уже много свободных утилит, которые можно было использовать с разработанным ядром.

По факту Linux до сих представляет собой ядро Unix-подобной операционной системы, которое выполняет различные низкоуровневые задачи. В то же время проект GNU нуждался в ядре – разработка Линуса Торвальдса была очень своевременной.

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

Популярные дистрибутивы Linux

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

То есть, как уже было сказано в начале статьи, дистрибутив Linux – это операционная система, состоящая из ядра Linux и утилит, которые разрабатываются в рамках GNU.

Количество существующих дистрибутивов Linux превышает 600 штук, более 300 из которых постоянно дорабатываются и обновляются.

Ubuntu

Ubuntu

Ubuntu – один из самых распространенных дистрибутивов, легко устанавливается и интуитивно понятен в работе. Отлично подходит для персональных компьютеров, ноутбуков и серверов. Разрабатывается и спонсируется компанией Canonical Ltd, но имеет активную поддержку и со стороны свободного сообщества. Самая популярная операционная система для веб-серверов.

Debian

Debian

Debian – еще один популярный дистрибутив GNU/Linux, который оказал существенное влияние на развитие всех GNU/Linux-операционных систем в целом. Основные черты Debian: широкие возможности, наличие множества репозиториев, высокое качество версий. Это самый стабильный дистрибутив из всех существующих.

Linux Mint

Linux Mint

Linux Mint – дистрибутив, основанный на Ubuntu и Debian. Linux Mint обладает красивым и удобным дизайном и подойдет даже начинающим пользователям. Поэтому его часто устанавливают на домашние компьютеры для того, чтобы иметь простую и удобную систему. Дистрибутив имеет поддержку различных мультимедийных форматов, в том числе включает проприетарные программы (Adobe Flash), поэтому хорошо подходит для работы с мультимедиа.

Manjaro

Manjaro

Manjaro – дистрибутив, основанный на Arch Linux. Благодаря большому количеству предустановленных программ (например, для офисной работы) он достаточно дружественен к новичкам, но в то же время может быть тонко настроен.

Arch

Arch

Arch – мощный дистрибутив, базирующийся на принципах простоты, современности, прагматизма, гибкости и идеи, что в центре внимания должен быть пользователь. Однако принцип простоты распространяется не на использование системы, а на ее внутреннюю организацию (принципы KISS и Unix-way). Поэтому Arch рассчитан на опытных пользователей, которые самостоятельно настроят и установят необходимые им утилиты.

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

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

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

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

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

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

Читайте также:

      

  • Развитие речи в детском саду раздаточный материал для работы с детьми 2 4 лет
  •   

  • Осадкомер принцип работы кратко
  •   

  • Методика изучения чисел в пределах 1000 умк школа россии
  •   

  • Приказ об утверждении положения о дистанционном обучении в школе 2021
  •   

  • Школа 1786 потапово рейтинг

Задание кафедры

МИНОБРНАУКИ
РОССИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ

«ЛИПЕЦКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

КАФЕДРА
АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ

Индивидуальное
домашнее задание

по дисциплине

«Алгоритмические
языки»

на тему:

«Общие
сведения о UNIX-подобной операционной
системе.
Описание и использование
заданной группы команд командной строки
Windows»

Студент

подпись, дата

фамилия,
инициалы

Группа

ПМ-10-1

Принял

Тищенко А.Д.

ученая степень,
звание

подпись, дата

фамилия,
инициалы

Липецк
2010

  1. Общие
    сведения об операционной системе и
    интерфейсе, представленном интерпретатором
    языка командной строки.

  2. Описание
    и примеры использования заданной группы
    команд.

Аннотация

Работа содержит
27
страниц

Рисунков нет

Содержание:

Общие
сведения о UNIX:

  1. Операционная
    система Multics……………………………………………………………..стр.5

  2. Возникновение и первая редакция ОС
    UNIX…………………………………………….стр.6

  3. Пользователь…………………………………………………………………………………стр.9

  4. Интерфейс пользователя и
    интерфейсе, представленном интерпретатором
    языка командной
    строки……………………………………………………………………………………………стр.10

  5. Общая организация ядра…………………………………………………………………
    .стр.13

1)Основные функции……………………………………………………………………стр.13

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

  1. Файловая система…………………………………………………………………………..стр.15

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

2)Монтируемые файловые
системы……………………………………………………стр.17

3)Защита файлов…………………………………………………………………………стр.17

  1. Драйверы устройств………………………………………………………………………..стр.18

  2. Управление памятью……………………………………………………………………….стр.19

  3. Описание и примеры использования
    заданной группы команд…………………………
    стр.20

1)Команда PAUSE………………………………………………………………………..стр.20

2)Команда POPD………………………………………………………………………….стр.21

3)Команда PRINT…………………………………………………………………………стр.21

4)Команда PROMT………………………………………………………………………..стр.22

5)Команда PUSHD…………………………………………………………………………стр.23

6)Команда RD………………………………………………………………………………стр.24

7)Команда RECOVER…………………………………………………………………….стр.24

8)Команда REM……………………………………………………………………………стр.25

9)Команда REN…………………………………………………………………………….стр.25

10. Библиографический
список……………………………………………………………….стр.27

1.Операционная система Multics

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

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

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

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

studfiles.net

Multics (англ. Multiplexed Information and Computing Service — «Мультиплексная информационная и вычислительная служба») — ранняя операционная система с разделением времени исполнения программ, основанная на концепции одноуровневой памяти.

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

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

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

Инновационные идеи[ | ]

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

ru-wiki.ru

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

1. Основание и история

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

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

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

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

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

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

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

AT&T System V Release 2 и Release 3

2. Основные понятия ОС UNIX и базовые системные вызовы

Основные понятия

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

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

Программы

Команды

Процессы

Перенаправление ввода/вывода

Основание и история

История ОС UNIX началась в недрах Bell Telephone Laboratories (теперь AT&T Bell Laboratories) и связана с известными теперь всем именами Кена Томпсона, Денниса Ритчи и Брайана Кернигана (два последних имени знакомы читателям и как имена авторов популярнейшей книги по языку программирования Си, издававшейся в нашей стране на русском языке).

Проект операционной системы 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 года Томпсон и Ритчи опубликовали

mirznanii.com

Multics Википедия

Multics (англ. Multiplexed Information and Computing Service — «Мультиплексная информационная и вычислительная служба») — ранняя операционная система с разделением времени исполнения программ, основанная на концепции одноуровневой памяти.

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

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

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

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

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

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

Одним из главных неудобств такого подхода (появившегося в основном из-за ра

ruwikiorg.ru

Иллюстрированный самоучитель по теории операционных систем › Приложение. Обзор архитектур современных ОС. › Семейство Unix [страница — 299] | Самоучители по программированию

Семейство Unix

Обширное и бурно развивающееся семейство Unix оказало огромное идейное влияние на развитие операционных систем в 80-е и 90-е годы XX столетия. Генеалогия систем семейства опубликована на сайте [perso.wanadoo.fr] и слишком обширна для того, чтобы ее можно было полностью привести в книге.

Применения систем семейства крайне разнообразны, начиная от встраиваемых приложений реального времени, включая графические рабочие станции для САПР и геоинформационных систем, и заканчивая серверами класса предприятия и массивно параллельными суперкомпьютерами. Некоторые важные рыночные ниши, например передачу почты и другие структурные сервисы Internet, системы семейства занимают практически монопольно.

Родоначальником семейства следует, по-видимому, считать не первую версию Unix, а Multics, совместно разрабатывавшуюся в 1965-1969 гг. General Electric и Bell Laboratories. За это время General Electric выделило подразделение, занимавшееся работами над Multics и аппаратной платформой для нее (GE-645), в отдельную компанию Honeywell.

Multics была первой из промышленных систем, предоставлявших:

  • создание процессов системным вызовом fork;
  • страничную виртуальную память;
  • отображение файлов в адресное пространство ОЗУ;
  • вложенные каталоги;
  • неструктурированные последовательные файлы;
  • многопользовательский доступ в режиме разделения времени;
  • управление доступом на основе ограниченных ACL (колец доступа).

Multics оказала огромное влияние не только на разработчиков Unix – значительные следы идейного влияния этой системы прослеживаются так же в RSX-11 и VAX/VMS фирмы DEC. Последние Multics-системы были доступны в Internet в 1997 г.

В 1969 г. Bell Laboratories отказалась от работ над Multics и начала разработку собственной ОС для внутренних нужд. По-видимому, основной причиной этого шага было осознание несоответствия между амбициозными целями проекта Multics (ОС была весьма требовательна к ресурсам и могла работать только на больших компьютерах Honeywell), в то время как материнской компании Bell LabsAmerican Telephone & Telegraph – требовалась единая операционная среда, способная работать на различных миникомпьютерах, используемых в подразделениях телефонной сети США.

В Bell Laboratories был объявлен внутренний конкурс на разработку переносимой ОС, способной работать на миникомпьютерах различных поставщиков. К проекту были предъявлены следующие основные требования:

  • многоплатформенность;
  • вытесняющая многозадачность;
  • многопользовательский доступ в режиме разделения времени;
  • развитые телекоммуникационные средства.

Один из участников работ над Multics, К. Томпсон, разработал крайне упрощенное ядро ОС, названное UNIX, для миникомпьютера PDP-7. К 1972 г. К. Томпсон и Д. Ритчи переписали ядро системы в основном на языке С и продемонстрировали возможность переноса ОС на миникомпьютеры PDP-11. Это обеспечило выполнение всех требований конкурса, и UNIX была признана основной платформой для вычислительных систем, эксплуатируемых в AT&T.

Легенды доносят до нас более колоритные детали ранних этапов истории новой системы. Так, одна из очень популярных легенд, излагаемая в той или иной форме несколькими источниками, утверждает, что история UNIX началась с разработанной для Multics игровой программы под названием Star Wars (звездные войны – сама эта программа и даже правила игры до нас не дошли). Уволенный из группы разработчиков Multics за разгильдяйство (мы приводим здесь наиболее радикальный вариант легенды, не заботясь о его согласовании с историческими фактами), Томпсон занялся «оживлением» неиспользуемой PDP-7, стоявшей в углу машинного зала. Оживление заключалось в написании ядра ОС, реализующего подмножество функциональности Multics, достаточное, для того чтобы перенести и запустить его любимые Star Wars [Бах 1986].

Первые версии UNIX были рассчитаны на машины без диспетчера памяти. Процессы загружались в единое адресное пространство. Ядро системы размещалось в нижних адресах ОЗУ, начиная с адреса 0, и называлось сегментом реентерабельных процедур. Реентерабельность обеспечивалась переустановкой стека в момент системного вызова и запретом переключения задач на все время исполнения модулей ядра. На машинах с базовой адресацией выполнялось перемещение образов процессов по памяти и сброс образа процесса на диск (задачный своппинг).

В Multics и современных системах Unix, fork реализуется посредством копирования страниц при модификации. Ранние версии UNIX физически копировали образ процесса. Большая часть (по некоторым оценкам, до 90%) fork немедленно продолжается исполнением системного вызова exec, поэтому одной из первых оптимизаций, придуманных в университетских версиях системы, было введение системного вызова vfork. Порожденный этим вызовом процесс исполнялся на самом образе родителя, а не на его копии. Создание нового образа процесса происходило только при исполнении exec. Для того чтобы избежать возможных проблем взаимоисключения (например, при вызове нереентерабельных функций стандартной библиотеки), исполнение родителя приостанавливалось до тех пор, пока потомок не выполнит exec или не завершится.

Выделяют [Баурн 1986] следующие отличительные особенности системы.

  • Порождение процессов системным вызовом fork, который создает копию адресного пространства в пользовательской области процесса.
  • Результат завершения процесса хранится в его дескрипторе и может быть считан только родителем. В списке процессов такой дескриптор выглядит как процесс в специальном состоянии, называемом зомби (zombie).
  • Процессы-сироты (продолжающие исполнение после завершения родителя) усыновляются процессом с идентификатором, равным 1.
  • Процесс с идентификатором 1 запускается при загрузке системы (по умолчанию это /bin/ink) и запускает все остальные обязательные задачи в системе. Наличие такого процесса иногда объявляют необходимым и достаточным критерием для причисления той или иной системы к семейству Unix.
  • Древовидная структура пространства имен файловой системы: дополнительные ФС монтируются в те или иные точки корневой ФС и идентифицируются затем точкой монтирования, а не именем устройства, на котором расположены.
  • Файлы рассматриваются ОС как неструктурированные потоки байтов и не типизованы на уровне ОС (в частности, на уровне ОС нет деления файлов на записи).
  • Файловая система поддерживает множественные имена файлов в виде жестких и, у более поздних версий, символических связей.
  • Отложенное удаление файлов: если процесс открыл файл, а другой процесс его удалил, то первый процесс может продолжать работу с файлом, и физическое удаление происходит только после того, как первый процесс его закроет.
  • Лозунг «все – файл», который, впрочем, последовательно реализован только в экспериментальной системе Plan 9 – в реальных Unix системах практически всегда присутствуют объекты, к которым не применимы файловые операции: переменные среды, структуры данных ядра в ранних версиях (позднее они были оформлены в виде псевдофайловой системы /ргос), объекты SysV IPC и примитивы взаимоисключения POSIX Thread Library в современных системах.
  • Своеобразный командный язык, основанный на широком применении переназначения ввода-вывода и конвейеров (последовательностей задач, соединенных трубами).

Некоторые из перечисленных особенностей были позаимствованы другими ОС. Так, переназначение ввода-вывода и конвейеры реализуются командными процессорами ОС семейства СР/М, начиная с MS DOS 3.30. cmd.exe – командный процессор OS/2 и Windows NT/2000/XP – даже правильно понимает конструкцию cmdiine | more 2>&1. Стандартные командные процессоры UNIX портированы практически на все современные ОС. Функциональный аналог Korn Shell включен в стандартную поставку Windows 2000.

Жесткие связи файлов (однако, без отложенного удаления) поддерживаются FCS2 (файловой системой VAX/VMS), NTFS и jfs при использовании под OS/2. Точки монтирования (подключение дополнительных ФС в дерево каталогов существующей ФС) реализованы в Windows 2000 и Toronto Virtual File System для OS/2.

Системный вызов CreateProcess Windows NT/2000/XP может имитировать семантику fork: для этого достаточно передать в качестве имени программы для нового процесса пустой указатель.

Библиотека ЕМХ для OS/2 реализует fork при помощи собственного обработчика страничного отказа.

samoychiteli.ru

логотип 3DNews

Новости


Самое интересное в обзорах

Компания Honeywell объединилась с компанией Cambridge Quantum Computing (CQC) для создания крупнейшего в мире специализированного предприятия по разработке и выпуску квантовых вычислительных систем и сопутствующего программного обеспечения. Новая компания собирается в течение следующих 30 лет стать лидером квантовых вычислений, рынок которых оценивается в $1 трлн.

 Рабочая камера квантового компьютера компании Honeywell (на ловушках ионов). Источник изображения:

Рабочая камера квантового компьютера компании Honeywell (на ловушках ионов). Источник изображения: Honeywell

«Новый бизнес будет предлагать самый производительный квантовый компьютер в мире и комплексное квантовое программное обеспечение, включая первую и самую передовую квантовую операционную систему», — сказано в пресс-релизе Honeywell. Если все регулирующие органы дадут добро на слияние, объединение произойдёт в третьем квартале этого года. Контрольный пакет акций в объёме 54 % будет принадлежать Honeywell, а остальной пакет распределится среди инвесторов, среди которых есть также компания IBM.

Программный бизнес будущей компании останется независимым от оборудования, и по-прежнему будет полностью совместим со всеми глобальными поставщиками квантового оборудования, что позволит максимизировать выгоды для клиентов. Собственная разработка Honeywell — это квантовый компьютер на ионных ловушках. По словам компании, сейчас она располагает самым производительным в мире квантовым компьютером мощностью 512 квантовых объёмов по метрике IBM (это 9 полностью связанных кубитов).

В недолгой истории компании CQC, а она была основана в 2014 году, Honeywell неоднократно в неё инвестировала и дополнительно вложит до $300 млн в совместное предприятие. Компания CQC является пионером в секторе квантового программного обеспечения и лидером в коммерциализации квантовых технологий, поэтому она внесёт значительный вклад в общее с Honeywell дело по разработке комплексных и полностью готовых к эксплуатации квантовых систем.

Председатель и главный исполнительный директор Honeywell Дариус Адамчик (Darius Adamczyk) станет председателем новой компании, имя которой пока не выбрано. А возглавит новую компанию Ильяс Хан (Ilyas Khan), генеральный директор и основатель CQC. Тони Аттли (Tony Uttle), в настоящее время президент HQS, станет президентом новой компании.

«С тех пор, как в 2018 году мы впервые объявили о квантовом бизнесе Honeywell, мы получили отклик от многих инвесторов, которые стремились напрямую инвестировать в наши ведущие технологии, находящиеся на передовой этой захватывающей и динамичной отрасли, — теперь они смогут это сделать, — сказал Адамчик. — Новая компания предоставит нам наилучшие возможности для привлечения новых, разнообразных источников капитала в масштабах, которые будут способствовать быстрому росту».

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Самые обсуждаемые публикации

Мультики

Multics logo.gif
Разработчик Массачусетский технологический институт, GE, Bell Labs
Написано в PL / I, язык ассемблера[1]
Рабочее состояние Зрелый, исторический, эмулятор доступен
Исходная модель Открытый исходный код
изначальный выпуск 1969; 51 год назад
Последний релиз 12.6f / декабрь 2016 г.; 3 года назад
Репозиторий
  • сеть.mit.edu/ multics-history/источник/ Мультики_Интернет_Server/ Мультики_sources.html

Отредактируйте это в Викиданных

Доступно в английский
Платформы GE-645 мэйнфреймы, Honeywell 6180 серийные машины
Ядро тип Монолитное ядро
Дефолт пользовательский интерфейс Интерфейс командной строки
Лицензия Изначально проприетарный,
Лицензия Multics с открытым исходным кодом с 2007 г.[2][3]
Официальный веб-сайт www.multists.org

МультикиМультиплексная информационно-вычислительная служба«) был влиятельным ранним совместное времяпровождение Операционная система основанный на концепции одноуровневая память.[4][5] Multics «с тех пор повлияла на все современные операционные системы, от микрокомпьютеров до мэйнфреймов».[6]

Первоначальное планирование и разработка Multics началась в 1964 году в Кембридж, Массачусетс. Изначально это был совместный проект, возглавляемый Массачусетский технологический институт (Проект MAC с Фернандо Корбато ) вместе с General Electric и Bell Labs. Он был разработан на GE 645 компьютер, специально разработанный для этого; первый был доставлен в Массачусетский технологический институт в январе 1967 года.

Multics был задуман как коммерческий продукт для General Electric и стал одним из Honeywell, правда, не очень удачно. Благодаря множеству новых и ценных идей Multics оказала значительное влияние на информатику, несмотря на ее недостатки.[7]

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

Новые идеи

Справочное руководство по командам Multics

Multics реализовал одноуровневый магазин для доступа к данным, отбрасывая четкое различие между файлы (называется сегменты в Multics) и процесс объем памяти. Память процесса состояла исключительно из сегментов, которые были отображены в его адресное пространство. Чтобы читать или писать им, процесс просто использовал обычный центральное процессорное устройство (CPU), а операционная система позаботилась о том, чтобы все изменения были сохранены в диск. В POSIX терминологии, казалось, что каждый файл mmap ()ed; однако в Multics не было концепции память процесса, отдельно от памяти, используемой для хранения подключенных файлов, как Unix имеет. Все память в системе была частью немного сегмент, появившийся в файловая система; это включало временную рабочую память процесса, его стек ядра и т. д.

Одним из недостатков этого было то, что размер сегментов был ограничен 256 киловордами, чуть более 1МиБ. Это было связано с особой аппаратной архитектурой машин, на которых работала Multics, имеющая 36-битный размер слова и индексные регистры (используемые для адресации внутри сегментов) вдвое меньшего размера (18 бит). Для работы с файлами большего размера приходилось использовать дополнительный код, называемый многосегментными файлами. В те дни, когда один мегабайт памяти был непомерно дорогим, и до больших баз данных, а затем и огромных битовая карта графика, этот предел встречался редко.

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

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

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

Multics была первой крупной операционной системой, разработанной как безопасная система с самого начала.[8] Несмотря на это, ранние версии Multics неоднократно взламывались.[9] Это привело к дальнейшей работе, которая сделала систему намного более безопасной и предустановленной современной. техника безопасности техники. Взломы стали очень редкими после того, как была принята аппаратная база второго поколения; у него была аппаратная поддержка кольцевая безопасность, многоуровневое уточнение концепции главный режим.[нужна цитата ] В 1973 году в рамках проекта тигровой команды ВВС США была протестирована безопасность Multics под кодовым словом ZARF. 28 мая 1997 года Американское агентство национальной безопасности рассекретило использование кодового слова ZARF.

Multics была первой операционной системой, которая обеспечила иерархическая файловая система,[10][11] а имена файлов могут иметь почти произвольную длину и синтаксис. У данного файла или каталога могло быть несколько имен (обычно длинная и короткая форма), также поддерживались символические ссылки между каталогами. Multics была первой, кто использовал теперь стандартную концепцию пер-процесс стеки в ядро, с отдельной стопкой для каждого защитного кольца. Он также был первым, кто командный процессор реализован как обычный пользовательский код — идея позже использовалась в Оболочка Unix. Он также был одним из первых, написанных на языке высокого уровня (Multics PL / I ), после Берроуз MCP система написана в АЛГОЛ.[1]

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

В 1964 году Multics была разработана первоначально для GE-645 мэйнфрейм, а 36-битный система. Компьютерный бизнес GE, включая Multics, был передан Honeywell в 1970 году; около 1973 года Multics поддерживался на Honeywell 6180 машины, в том числе улучшения безопасности, включая аппаратную поддержку защитные кольца.

Bell Labs выведен из проекта в 1969 г .; некоторые из людей, которые там работали над этим, продолжили создавать Unix система. Разработка Multics продолжалась в MIT и General Electric.

Компания Honeywell продолжала разработку системы до 1985 года. Было установлено около 80 объектов стоимостью в несколько миллионов долларов в университетах, промышленных и государственных учреждениях. В начале 1980-х годов во французской университетской системе было несколько установок. После того, как Honeywell перестала поддерживать Multics, пользователи перешли на другие системы, такие как Unix.

В 1985 году Multics получила сертификат безопасной операционной системы уровня B2 с использованием Критерии оценки доверенных компьютерных систем от Национальный центр компьютерной безопасности (NCSC) подразделение АНБ, первая операционная система, оцененная до этого уровня.

Multics распространялся с 1975 по 2000 год компанией Groupe Bull в Европа и Bull HN Information Systems Inc. в США. В 2006 г. Бык САС с открытым исходным кодом Версии Multics MR10.2, MR11.0, MR12.0, MR12.1, MR12.2, MR12.3, MR12.4 и MR12.5.[12]

Последняя известная установка Multics. изначально оборудование Honeywell было остановлено 30 октября 2000 г. на канадском Департамент национальной обороны в Галифаксе, Новая Шотландия, Канада.[13]

Текущее состояние

В 2006 году Bull HN предоставил Массачусетскому технологическому институту исходный код MR12.5, последней версии Multics 1992 года.[14] Большая часть системы теперь доступна как программное обеспечение с открытым исходным кодом за исключением некоторых дополнительных частей, таких как TCP / IP.[15]

В 2014 году Multics успешно запускалась на текущем оборудовании с помощью эмулятора.[16] Теперь доступна версия эмулятора 1.0.[17] Выпуск 12.6f Multics сопровождает выпуск эмулятора 1.0 и добавляет несколько новых функций, включая вызов из командной строки и редактирование с помощью видеосистемы.[18]

Команды

Ниже приводится список команды для общих вычислительных задач, поддерживаемых Multics Интерфейс командной строки.[19]

  • список (ls)
  • копировать (cp)
  • Распечатать (пр)
  • print_wdir (pwd)
  • change_wdir (cwd)
  • Почта (мл)
  • если
  • авторизоваться (l)
  • выйти
  • ВОЗ
  • помощь
  • куда (ч)

Ретроспективные наблюдения

Питер Х. Салус, автор книги о ранних годах Unix,[20] заявил одну позицию: «С помощью Multics они попытались получить гораздо более универсальную и гибкую операционную систему, и это с треском провалилось».[21] Эта позиция, однако, была широко дискредитирована в компьютерном сообществе, потому что многие технические инновации Multics используются в современных коммерческих вычислительных системах.[7]

Постоянно резидентное ядро ​​Multics, системы, которую в свое время осмеивали как слишком большую и сложную, занимало всего 135 КБ кода. Для сравнения, система Linux в 2007 году могла занимать 18 МБ.[22] Первый Массачусетский технологический институт GE-645 имело 512 киловордов памяти (2 МиБ), что было поистине огромным объемом в то время, а ядро ​​использовало лишь умеренную часть основной памяти Multics.

Вся система, включая операционную систему и комплекс PL / 1 компилятор, пользовательские команды и библиотеки подпрограмм, состояли примерно из 1500 исходных модулей. В среднем они составляли примерно 200 строк исходного кода каждая и были скомпилированы для получения в общей сложности примерно 4,5 МБ кода процедуры, что было довольно большим по стандартам того времени.

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

Влияние на другие проекты

Unix

Дизайн и особенности Multics сильно повлияли на операционную систему Unix, которая изначально была написана двумя программистами Multics, Кен Томпсон и Деннис Ричи. Поверхностное влияние Multics на Unix очевидно во многих областях, включая наименования некоторых команд. Но внутренняя философия проектирования была совершенно иной: она была сосредоточена на том, чтобы система оставалась маленькой и простой, и, таким образом, исправляла некоторые недостатки Multics из-за ее высоких требований к ресурсам на ограниченном компьютерном оборудовании того времени.

Название Unix (первоначально Unics) сам по себе каламбур на Мультики. В U в Unix, по слухам, означает несвязанный в отличие от мультиплексированный of Multics, что еще раз подчеркивает отказ разработчиков от сложности Multics в пользу более простого и работоспособного подхода для небольших компьютеров. (Гарфинкель и Абельсон[23] сослались на альтернативное происхождение: Питер Нойман из Bell Labs, наблюдая за демонстрацией прототипа, предложил каламбурное название UNICS — произносится «евнухи «- как» кастрированный мультик «, хотя, как говорят, Деннис Ричи отрицал это.[24])

Кен Томпсон в расшифрованном интервью 2007 года с Питером Сейбелем[25] называет Multics «чрезмерно спроектированным, надстроенным и над всем остальным. Он был почти непригоден для использования. Они [Массачусетский технологический институт] до сих пор заявляют, что это чудовищный успех, но это явно не так». Что касается влияния Multics на Unix, Томпсон заявил, что «вещи, которые мне достаточно понравились (в Multics), чтобы на самом деле принять, это иерархическая файловая система и оболочка — отдельный процесс, который вы можете заменить другим процессом».

Другие операционные системы

В Prime Computer Операционная система, ПРИМОС, был назван «Мультики в обувной коробке» Уильям Подуска, основатель компании. Позже Подуска перешел к основанию Аполлон Компьютер, чья AEGIS и позже Домен / ОС Операционные системы, иногда называемые «Multics в спичечном коробке», расширили дизайн Multics на среду графических рабочих станций, сильно подключенную к сети.

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

Архитектура защиты Multics, ограничивающая возможность кода на одном уровне системы получать доступ к ресурсам на другом, была принята в качестве основы для функций безопасности ICL с VME Операционная система.

Смотрите также

  • Эволюция системы разделения времени
  • Питер Дж. Деннинг
  • Джек Б. Деннис
  • Роберто Марио Фано — директор проекта MAC в Массачусетском технологическом институте (1963–1968)
  • Роберт М. Грэм
  • Дж. К. Р. Ликлайдер — директор проекта MAC в Массачусетском технологическом институте (1968–1971)
  • Питер Г. Нойман
  • Эллиотт Органик
  • Луи Пузен — ввел термин ракушка для командного языка, используемого в Multics
  • Джером Х. Зальцер
  • Роджер Р. Шелл
  • Гленда Шредер — реализовал первый командная строка пользовательский интерфейс ракушка и предложил первый электронное письмо система с Pouzin и Crisman
  • Виктор Александрович Высоцкий

Рекомендации

  1. ^ а б Р. А. Фрейбург, «Компилятор Multics PL / 1», General Electric Company, Кембридж, Массачусетс, 1969.
  2. ^ «Лицензия Multics (Multics) — Инициатива с открытым исходным кодом». opensource.org. Получено 11 апреля, 2018.
  3. ^ «Мифы о мультиках». www.multician.org. Получено 11 апреля, 2018.
  4. ^ Деннис М. Ричи, «Эволюция системы разделения времени Unix», Связь ACM, Vol. 17, 1984, стр. 365-375.
  5. ^ Дэн Мерфи (1996) [1989]. «Истоки и развитие ТОПС-20».
  6. ^ Грегори, Натан (май 2018 г.). Тымь до. Lulu.com. п. 66. ISBN  9781387824755. Получено 29 марта, 2020.
  7. ^ а б «Мифы о мультиках». www.multician.org. Получено 11 апреля, 2018.
  8. ^ Джером Х. Зальцер, «Защита и контроль обмена информацией в множественных устройствах», в «Введение в мультисигналы», MAC TR-123, Project MAC, Кембридж, февраль 1974 г .; стр. 2-41.
  9. ^ Том Ван Влек (2002). «Как ВВС взломали систему безопасности Multics».
  10. ^ «Глоссарий Multics -F-«. www.multician.org. Получено 11 апреля, 2018.
  11. ^ Р. К. Дейли и П. Г. Нойман, «Файловая система общего назначения для вторичного хранилища», AFIPS ’65 (осень, часть I) Труды 30 ноября — 1 декабря 1965 г.
  12. ^ История мультиков Массачусетский технологический институт
  13. ^ «Даты истории мультиков». Получено 13 сентября, 2015. Отключение DND-H (17: 08Z 30.10.00)
  14. ^ Ван Влек, Том. «Открытый исходный код для нескольких устройств». MultICAL.org. Получено 11 апреля, 2016.
  15. ^ Энтони, Чарльз. «(email) Re: [dps8m-developers] Многопроцессорность и / или сетевые Multics». Sourceforge.net. Получено 11 апреля, 2016.
  16. ^ «RingZero — возрождение Multics». WikidotCom. Получено 11 апреля, 2015.
  17. ^ «Симулятор Мультики». Получено 9 июля, 2017.
  18. ^ «Установка Multics». Получено 19 мая, 2020.
  19. ^ Unix и Multics
  20. ^ Салус, Питер Х. (1994). Четверть века UNIX (Печатается с исправлениями, январь 1995 г., ред.). Ридинг, Массачусетс: Addison-Wesley Pub. Co. ISBN  978-0-201-54777-1.
  21. ^ Уорд, Марк (20 августа 2009 г.). «40 лет Unix». Новости BBC. Получено 27 апреля, 2010. Цитата Питера Салуса.
  22. ^ Коллингс, Терри; Уолл, Курт (10 апреля 2007 г.). Сеть Red Hat Linux и системное администрирование (3-е изд.). Джон Вили и сыновья. п. 668. ISBN  978-0-7645-9949-1. Получено 4 февраля, 2017.
  23. ^ Гарфинкель, Симсон и Абельсон, Гарольд. Архитекторы информационного общества: тридцать пять лет лаборатории компьютерных наук Массачусетского технологического института. MIT Press, 1999. ISBN  978-0262071963
  24. ^ Карн, Фил (28 октября 1981 г.). «Истоки unix». Группа новостей: fa.unix-мастера. Usenet:  [email protected]. Получено 11 апреля, 2014.
  25. ^ Питер Сейбель. Кодеры за работой: размышления о ремесле программирования. Публикации APress, 2007. ISBN  978-1-4302-1948-4

дальнейшее чтение

В литературе имеется большое количество статей о Multics и различных ее компонентах; довольно полный список доступен на Библиография Multics страница. Наиболее важные и / или информативные из них перечислены ниже.

  • Ф. Х. Корбато, В. А. Высоцкий, Введение и обзор системы Multics (AFIPS 1965) — хорошее введение в систему.
  • Ф. Х. Корбато, К. Т. Клинген, Дж. Х. Зальцер, Multics — первые семь лет (AFIPS, 1972) — отличный обзор, написанный после значительного периода использования и улучшений по сравнению с первоначальными усилиями.
  • Дж. Дж. Донован, С. Мадник, Операционные системы, это фундаментальное чтение по операционным системам.
  • Дж. Дж. Донован, Системное программирование, является хорошим введением в системное программирование и операционные системы.

Технические детали

  • Джером Х. Зальцер, Введение в Multics (MIT Project MAC, 1974) — это значительно более длинное введение в систему, ориентированное на реальных пользователей.
  • Эллиотт И. Органик, Система Multics: исследование ее структуры (MIT Press, 1972) — стандартная работа над системой, хотя в ней задокументирована ранняя версия, и некоторые описанные в ней функции никогда не появлялись в реальной системе.
  • В. А. Высоцкий, Ф. Х. Корбато, Р. М. Грэм, Структура супервайзера Multics (AFIPS 1965) описывает базовую внутреннюю структуру ядра Multics.
  • Джером Х. Зальцер, Управление трафиком в мультиплексной компьютерной системе (MIT Project MAC, июнь 1966 г.) — оригинальное описание идеи переключения стека ядра; одна из классических статей по информатике.
  • Р. К. Дейли, П. Г. Нойман, Файловая система общего назначения для вторичного хранилища (AFIPS, 1965) описывает файловую систему, включая механизмы контроля доступа и резервного копирования.
  • Р. Дж. Фейертаг, Э. И. Органик, Система ввода / вывода Multics. Описывает нижние уровни реализации ввода-вывода.
  • А. Бенсуссан, К. Т. Клинген, Р. К. Дейли, Виртуальная память Multics: концепции и дизайн, (ACM СОСП, 1969) довольно подробно описывает систему памяти Multics.
  • Пол Грин, Виртуальная память Multics — Учебник и размышления — это хороший подробный обзор системы хранения Multics.
  • Роджер Р. Шелл, Динамическая реконфигурация в модульной компьютерной системе (MIT Project MAC, 1971) описывает механизмы реконфигурации.

Безопасность

  • Пол А. Каргер, Роджер Р. Шелл, Оценка безопасности Multics: анализ уязвимостей (Air Force Electronic Systems Division, 1974) описывает классические атаки на безопасность Multics следующим образом:команда тигров «.
  • Джером Х. Зальцер, Майкл Д. Шредер, Защита информации в компьютерных системах (Труды IEEE, Сентябрь 1975 г.) описывает основы первого раунда обновлений безопасности; еще одна классическая бумага.
  • М. Д. Шредер, Д. Д. Кларк, Дж. Х. Зальцер, Д. Х. Уэллс. Итоговый отчет проекта дизайна ядра Multics (MIT LCS, 1978) описывает обновления безопасности, добавленные для создания еще более улучшенной версии.
  • Пол А. Каргер, Роджер Р. Шелл, Тридцать лет спустя: уроки оценки безопасности Multics (IBM, 2002) представляет собой интересную ретроспективу, в которой сравнивается реальная развернутая безопасность в сегодняшней враждебной среде с тем, что было продемонстрировано несколько десятилетий назад. В нем делается вывод, что Multics предлагала значительно более высокий уровень безопасности, чем большинство систем, коммерчески доступных в 2002 году.

внешняя ссылка

  • multician.org это комплексный сайт с большим количеством материалов
    • Бумаги Multics онлайн
    • Глоссарий Multics
    • Мифы подробно обсуждает многочисленные мифы о Multics, включая мифы о том, что он провалился, что он был большим и медленным, а также несколько понятных заблуждений
    • Безопасность Multics
    • Unix и Multics
    • Общая информация и FAQ по Multics Включает обширный обзор других программных систем, на которые повлияла Multics
  • Honeywell, Inc., MULTICS records, 1965–1982 гг.. Институт Чарльза Бэббиджа, Университет Миннесоты. Записи о разработке Multics включают второе Руководство системного программиста MULTICS; Технические бюллетени MULTICS, в которых описаны процедуры, приложения и проблемы, особенно касающиеся безопасности; и вернул «Формы запросов на комментарии», которые включают технические документы и тезисы.
  • Официальный архив исходного кода в MIT
  • Ссылка на страницу с различной информацией о Multics на Библиотека Конгресса Интернет-архивы (архивировано 30 ноября 2001 г.)
  • Репозиторий Multics на Stratus Computer
  • Multics в Universitaet Mainz
  • Активный проект по эмуляции процессора Honeywell dps-8 / m Multics
  • Различные отсканированные руководства Multics
  • MultICAL.org и история операционных систем, критический обзор MultICAL.org, а также краткую историю Multics.

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

Но хотите — верьте, хотите — нет, первые компьютеры работали без каких-либо операционных систем, более того, изначально не существовало самого понятия «операционная система», причем в самом широком смысле этого слова.

Первый компьютер, созданный в 1945 году и именуемый ЭНИАК, представлял собой громоздкое устройство размером с несколько поставленных в ряд шкафов, вдоль которых взад и вперед прохаживался программист и нажимал разные переключатели, — именно так выглядел процесс программирования в то далекое время. Кстати, махина эта работала на лампах и умела выполнять аж пять тысяч операций сложений в секунду. Ручной способ ввода программ был невероятно медленным, и когда мощности компьютеров первого поколения возросли, и наконец-то появилась возможность вводить больше данных, ручное программирование стало нерациональным, поскольку ввод программ занимал несоизмеримо больше времени, чем получение результатов вычислений.

ЭНИАК

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

EDSAC

Время между нажатием клавиш только нам кажется коротким, но для компьютера, выполняющего миллионы операций в секунду, это недопустимый простой. Чтобы использовать операционное время более рационально, была создана специальная программа, переключающая «внимание» компьютера между пользователями. Переключение происходило в доли секунды, но пользователям казалось, что компьютер обслуживает их всех одновременно. Уметь переключаться компьютер должен был не только между пользователями, но и между периферийными устройствами, использующими специальные драйвера. Ими тоже нужно было управлять.

Этим и занималась упомянутая программа, известная как операционная система. Впрочем, название «операционная система» не является именем собственным, а скорее неким обобщением, описывающим функционал и предназначение всех программ, выполняющих подобные задачи. Первой операционной системой сегодня считается созданная в 1965 году Multics, однако при этом как-то упускается из виду, что Multics не возникла из ничего, что у нее были предшественницы, вполне достойные того, чтобы именоваться операционными системами. Таковой является BESYS, созданная в 1957 году компанией Bell Labs.

Эта примитивная система умела работать в пакетном режиме, разделяя операционное время между программами, вводимыми в компьютеры IBM 7090 и IBM 7094 с помощью перфокарт. Но BESYS была «сырой» и использовалась только для нужд Bell Labs, которая, похоже, не была настроена на дальнейшее улучшение своего программного продукта. BESYS канула в небытие, но наработки Bell Labs легли в основу создания той самой Multics, которая ныне по праву считается прародительницей всех операционных систем. В период между 1957 и 1965 годом появлялись и другие операционные системы, например, Compatible Time-Sharing System, CP/CMS и другие, но по своей масштабности они и близко не стояли к Multics.

Multics

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

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

Высокая производительность, безотказность и гибкость позволили продержаться Multics более 30 лет, однако при этом она никогда не претендовала на статус коммерческого продукта и не составляла конкуренции более молодым операционным системам, занимая сравнительно скромную нишу в образовательном и государственном секторах. Возможно, причиной небольшой системы популярности стала ее сложность по сравнению с UNIX, созданной на базе Multics программистами Bell Labs.

UNIX

Последний компьютер под управлением Multics был остановлен 31 октября 2000 года, а спустя семь лет документация и исходный код операционной системы были переданы Массачусетскому технологическому институту, который опубликовал их на своем сайте web.mit.edu/multics-history.

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

Загрузка…

Multics

Multics-logo.svg
Multics-Login.png

Login screen for the ban.ai public Multics server.

Developer MIT, GE, Bell Labs
Written in PL/I, Assembly language[1]
Working state Mature, historic, emulator available
Source model Open source
Initial release 1969; 54 years ago
Latest release 12.7 / July 28, 2021; 19 months ago
Repository
  • web.mit.edu/multics-history/source/Multics_Internet_Server/Multics_sources.html Edit this at Wikidata
Available in English
Platforms GE-645 mainframes, Honeywell 6180 series machines
Kernel type Monolithic kernel
Influenced Unix, GEORGE 3, ICL VME, PRIMOS, Domain/OS, Stratus VOS
Default
user interface
Command-line interface
License Originally proprietary,
Free software Multics License since 2007[2][3]
Preceded by Compatible Time-Sharing System
Official website www.multicians.org

MulticsMultiplexed Information and Computing Service«) is an influential early time-sharing operating system based on the concept of a single-level memory.[4][5] Nathan Gregory writes that Multics «has influenced all modern operating systems since, from microcomputers to mainframes.»[6]

Initial planning and development for Multics started in 1964, in Cambridge, Massachusetts. Originally it was a cooperative project led by MIT (Project MAC with Fernando Corbató) along with General Electric and Bell Labs. It was developed on the GE 645 computer, which was specially designed for it; the first one was delivered to MIT in January 1967. GE offered their earlier 635 systems with an early timesharing system known as «Mark I» and intended to offer the 645 with Multics as a larger successor. Bell withdrew from the project in 1969 as it became clear it would not deliver a working system in the short term. Shortly thereafter, GE decided to exit the computer industry entirely and sold the division to Honeywell in 1970. Honeywell offered Multics commercially, but with limited success.

Multics has numerous features intended to ensure high availability so that it would support a computing utility similar to the telephone and electricity utilities. Modular hardware structure and software architecture are used to achieve this. The system can grow in size by simply adding more of the appropriate resource, be it computing power, main memory, or disk storage. Separate access control lists on every file provide flexible information sharing, but complete privacy when needed. Multics has a number of standard mechanisms to allow engineers to analyze the performance of the system, as well as a number of adaptive performance optimization mechanisms.

Due to its many novel and valuable ideas, Multics has had a significant influence on computer science despite its faults.[7] Its most lasting effect on the computer industry was to inspire the creation of Unix, which carried forward many Multics features, but was able to run on less-expensive hardware. Unix was developed at Bell to allow their Multics team to continue their research using smaller machines, first a PDP-7 and ultimately the PDP-11.

Novel ideas[edit]

Multics Commands reference manual

Multics implements a single-level store for data access, discarding the clear distinction between files (called segments in Multics) and process memory. The memory of a process consists solely of segments that were mapped into its address space. To read or write to them, the process simply uses normal central processing unit (CPU) instructions, and the operating system takes care of making sure that all the modifications were saved to disk. In POSIX terminology, it is as if every file were mmap()ed; however, in Multics there is no concept of process memory, separate from the memory used to hold mapped-in files, as Unix has. All memory in the system is part of some segment, which appears in the file system; this includes the temporary scratch memory of the process, its kernel stack, etc.

Segments are limited to 256 kilowords, just over 1 MB, because Multics hardware had 18-bit word addresses for the content of a segment. Larger files are «multisegment files» and are handled differently. The 256kW limit was rarely encountered in practice, because at the time, one megabyte of memory was prohibitively expensive.

Another major new idea of Multics was dynamic linking, in which a running process can make external routines available by adding the segments containing them to its address space. This allows applications to always use the latest version of any external routine, since those routines are kept in other segments, which are dynamically linked only when a process first attempts to begin execution in them. Since different processes can use different search rules, different users can end up using different versions of external routines. Equally importantly, with the appropriate settings in the Multics security facilities, the code in the other segment can gain access to data structures maintained in a different process. Dynamic linking in Multics does not require special Dynamic-link libraries (DLLs); a program can dynamically link to any executable segment to which it has access rights.

Thus, to interact with an application running in part as a daemon (in another process), a user’s process simply performs a normal procedure-call instruction to a code segment to which it had dynamically linked (a code segment that implemented some operation associated with the daemon). The code in that segment can then modify data maintained and used in the daemon. When the action necessary to commence the request is completed, a simple procedure return instruction returns control of the user’s process to the user’s code.

Multics also supports extremely aggressive on-line reconfiguration: central processing units, memory banks, disk drives, etc. can be added and removed while the system continues operating. At the MIT system, where most early software development was done, it was common practice to split the multiprocessor system into two separate systems during off-hours by incrementally removing enough components to form a second working system, leaving the rest still running for the original logged-in users. System software development testing could be done on the second system, then the components of the second system were added back to the main user system, without ever having shut it down. Multics supports multiple CPUs; it is one of the earliest multiprocessor systems.

Multics is the first major operating system to be designed as a secure system from the outset.[8] Despite this, early versions of Multics were compromised repeatedly.[9] This led to further work that makes the system more secure, and prefigured modern security engineering techniques. Break-ins became very rare once the second-generation hardware base was adopted; it has hardware support for ring-oriented security, a multilevel refinement of the concept of master mode.[citation needed] A US Air Force tiger team project tested Multics security in 1973 under the codeword ZARF. On 28 May 1997, the American National Security Agency declassified this use of the codeword ZARF.

Multics is the first operating system to provide a hierarchical file system,[10][11] and file names can be of almost arbitrary length and syntax. A given file or directory can have multiple names (typically a long and short form), and symbolic links between directories are also supported. Multics is the first to use the now-standard concept of per-process stacks[disputed – discuss] in the kernel, with a separate stack for each security ring. It is also the first to have a command processor implemented as ordinary user code – an idea later used in the Unix shell. It is also one of the first written in a high-level language (Multics PL/I),[1][12] after the Burroughs MCP system written in ESPOL, an expanded version of ALGOL.

The deployment of Multics into secure computing environments also spurred the development of innovative supporting applications. In 1975, Morrie Gasser of MITRE Corporation developed a pronounceable random word generator to address password requirements of installations such as the Air Force Data Services Center (AFDSC) processing classified information. To avoid guessable passwords, the AFDSC decided to assign passwords but concluded the manual assignment required too much administrative overhead. Thus, a random word generator was researched and then developed in PL/I. Instead of being based on phonemes, the system employed phonemic segments (second order approximations of English) and other rules to enhance pronounceability and randomness, which was statistically modeled against other approaches.[13] A descendant of this generator was added to Multics during Project Guardian. [14]

Project history[edit]

In 1964, Multics was developed initially for the GE-645 mainframe, a 36-bit system. GE’s computer business, including Multics, was taken over by Honeywell in 1970; around 1973, Multics is supported on the Honeywell 6180 machines, which included security improvements including hardware support for protection rings.

Bell Labs pulled out of the project in 1969; some of the people who had worked on it there went on to create the Unix system. Multics development continued at MIT and General Electric. At MIT in 1975, use of Multics was declining and did not recover by 1976 to prior levels.[15][16] Finally by slashing prices, MIT managed to lure users back to Multics in 1978.[17]

Honeywell continued system development until 1985. About 80 multimillion-dollar sites were installed, at universities, industry, and government sites. The French university system had several installations in the early 1980s. After Honeywell stopped supporting Multics, users migrated to other systems like Unix.

In 1985, Multics was issued certification as a B2 level secure operating system using the Trusted Computer System Evaluation Criteria from the National Computer Security Center (NCSC) a division of the NSA, the first operating system evaluated to this level.

Multics was distributed from 1975 to 2000 by Groupe Bull in Europe, and by Bull HN Information Systems Inc. in the United States. In 2006, Bull SAS released the source code of Multics versions MR10.2, MR11.0, MR12.0, MR12.1, MR12.2, MR12.3, MR12.4 & MR12.5 under a free software license.[18]

The last known Multics installation running natively on Honeywell hardware was shut down on October 30, 2000, at the Canadian Department of National Defence in Halifax, Nova Scotia, Canada.[19]

Current status[edit]

In 2006 Bull HN released the source code for MR12.5, the final 1992 Multics release, to MIT.[20] Most of the system is now available as free software with the exception of some optional pieces such as TCP/IP.[21]

In 2014, Multics was successfully run on current hardware using an emulator.[22] The 1.0 release of the emulator is available as of 2017.[23] Release 12.6f of Multics accompanies the 1.0 release of the emulator, and adds a few new features, including command line recall and editing using the video system.[24]

Commands[edit]

The following is a list of programs and commands[25] for common computing tasks that are supported by the Multics command-line interface.[26][27]

  • apl
  • ceil
  • change_wdir (cwd)
  • cobol
  • copy (cp)
  • echo
  • emacs
  • floor
  • fortran (ft)
  • gcos (gc)
  • help
  • home_dir (hd)
  • if
  • list (ls)
  • login (l)
  • logout
  • ltrim
  • mail (ml)
  • pascal
  • pl1
  • print (pr)
  • print_wdir (pwd)
  • runoff (rf)
  • rtrim
  • sort
  • teco
  • trunc
  • where (wh)
  • who
  • working_dir (wd)

Retrospective observations[edit]

Peter H. Salus, author of a book covering Unix’s early years,[28] stated one position: «With Multics they tried to have a much more versatile and flexible operating system, and it failed miserably».[29] This position, however, is said to have been discredited in the computing community because many of Multics’ technical innovations are used in modern commercial computing systems.[7][better source needed]

The permanently resident kernel of Multics, a system derided in its day as being too large and complex, was 135 KB of code.[citation needed] The first MIT GE-645 had 512 kilowords of memory (2 MiB), a truly enormous amount at the time, and the kernel used a moderate portion of Multics main memory.

The entire system, including the operating system and the complex PL/I compiler, user commands, and subroutine libraries, consists of about 1500 source modules. These average roughly 200 lines of source code each, and compile to a total of roughly 4.5 MiB of procedure code, which was fairly large by the standards of the day.

Multics compilers generally optimise more for code density than CPU performance, for example using small sub-routines called operators for short standard code sequences, which makes comparison of object code size with modern systems less useful. High code density is a good optimisation choice for Multics as a multi-user system with expensive main memory.

During its commercial product history, it was often commented internally that the Honeywell Information Systems (HIS) (later Honeywell-Bull) sales and marketing staff were more familiar with and comfortable making the business case for Honeywell’s other computer line, the DPS 6 running GCOS. The DPS-6 and GCOS was a well-regarded and reliable platform for inventory, accounting, word processing, and vertical market applications, such as banking, where it had a sizeable customer base. In contrast, the full potential of Multics’ flexibility for even mundane tasks was not easy to comprehend in that era and its features were generally outside the skill set of contemporary business analysts.[citation needed] The scope of this disconnect was concretized by an anecdote conveyed by Paul Stachour, CNO/CSC:

When American Telephone and Telegraph was changing its name to just AT&T in 1983, a staffer from Honeywell’s legal department showed up and asked a Multician if he could arrange to have the name changed in all of their computerized documents. When asked when the process could be completed, the Multician replied, «It’s done.» The staffer repeated that he needed hundreds perhaps thousands of documents updated. The Multician explained that he had executed a global search and replace as the staffer was speaking, and the task was in fact completed.[citation needed]

Influence on other projects[edit]

Unix[edit]

The design and features of Multics slightly influenced the Unix operating system, which was originally written by two Multics programmers, Ken Thompson and Dennis Ritchie.[30] Influence of Multics on Unix is evident in many areas, including the hierarchical file system, redirection, the shell, and the naming of some commands. But the internal design philosophy is quite different, focusing on keeping the system small and simple, and so correcting some perceived deficiencies of Multics because of its high resource demands on the limited computer hardware of the time.

The name Unix (originally Unics) is itself a pun on Multics. The U in Unix is rumored to stand for uniplexed as opposed to the multiplexed of Multics, further underscoring the designers’ rejections of Multics’ complexity in favor of a more straightforward and workable approach for smaller computers. (Garfinkel and Abelson[31] cite an alternative origin: Peter Neumann at Bell Labs, watching a demonstration of the prototype, suggested the pun name UNICS – pronounced «eunuchs» – as a «castrated Multics», although Dennis Ritchie is said to have denied this.[32])

Ken Thompson, in a transcribed 2007 interview with Peter Seibel[30] refers to Multics as «overdesigned and overbuilt and over everything. It was close to unusable. They [Massachusetts Institute of Technology] still claim it’s a monstrous success, but it just clearly wasn’t». On the influence of Multics on Unix, Thompson stated that «the things that I liked enough (about Multics) to actually take were the hierarchical file system and the shell — a separate process that you can replace with some other process».

Dennis Ritchie wrote that the design of UNIX was influenced by CTSS.[33]

Other operating systems[edit]

The Prime Computer operating system, PRIMOS, was referred to as «Multics in a shoebox» by William Poduska, a founder of the company. Poduska later moved on to found Apollo Computer, whose AEGIS and later Domain/OS operating systems, sometimes called «Multics in a matchbox», extends the Multics design to a networked graphics workstation environment.

The Stratus VOS operating system of Stratus Computer (now Stratus Technologies) is very strongly influenced by Multics, and both its external user interface and internal structure bear many close resemblances to the older project. The high-reliability, availability, and security features of Multics are extended in Stratus VOS to support a new line of fault tolerant computer systems supporting secure, reliable transaction processing. Stratus VOS is the most directly-related descendant of Multics still in active development and production usage today.

The protection architecture of Multics, restricting the ability of code at one level of the system to access resources at another, was adopted as the basis for the security features of ICL’s VME operating system.

The Edinburgh Multiple Access System (EMAS) draws particularly on the one-level store concept used by Multics, providing access to files only by mapping them into memory. All memory space is associated with a segment.

See also[edit]

  • Time-sharing system evolution
  • Peter J. Denning
  • Jack B. Dennis
  • Robert Fano – director of Project MAC at MIT (1963–1968)
  • Robert M. Graham (computer scientist)
  • J. C. R. Licklider – director of Project MAC at MIT (1968–1971)
  • Peter G. Neumann
  • Elliott Organick
  • Louis Pouzin – introduced the term shell for the command language used in Multics
  • Jerome H. Saltzer
  • Roger R. Schell
  • Glenda Schroeder – implemented the first command line user interface shell and proposed the first email system with Pouzin and Crisman
  • Victor A. Vyssotsky

References[edit]

  1. ^ a b R. A. Freiburghouse, «The Multics PL/1 Compiler», General Electric Company, Cambridge, Massachusetts, 1969.
  2. ^ «Multics License (Multics) — Open Source Initiative». opensource.org. Retrieved April 11, 2018.
  3. ^ «Myths about Multics». www.multicians.org. Retrieved April 11, 2018.
  4. ^ Dennis M. Ritchie, «The Evolution of the Unix Time-sharing System», Communications of the ACM, Vol. 17, 1984, pp. 365-375.
  5. ^ Dan Murphy (1996) [1989]. «Origins and Development of TOPS-20».
  6. ^ Gregory, Nathan (May 2018). The Tym Before. Lulu.com. p. 66. ISBN 9781387824755. Retrieved March 29, 2020.
  7. ^ a b «Myths about Multics». www.multicians.org. Retrieved April 11, 2018.
  8. ^ Saltzer, Jerome H. (February 1974). «Protection and the Control of Information Sharing in Multics» (PDF). Introduction to Multics», MAC TR-123 (Report). Cambridge, MA: Massachusetts Institute of Technology and Honeywell Information Systems Inc. pp. 2–41. Retrieved March 16, 2022.
  9. ^ Tom Van Vleck (2002). «How the Air Force cracked Multics Security».
  10. ^ «Multics Glossary -F-«. www.multicians.org. Retrieved April 11, 2018.
  11. ^ R. C. Daley and P. G. Neumann, «A general-purpose file system for secondary storage», AFIPS ’65 (Fall, part I) Proceedings of the November 30 – December 1, 1965
  12. ^ Brian Kernighan on the origins of Unix LWN.net. 2022.
  13. ^ «A Random Word Generator for Pronounceable Passwords» (PDF). Bedford, MA: Electronic Systems Division, Air Force Systems Command, USAF. November 1975. ESD-TR-75-97. Archived (PDF) from the original on April 8, 2022. Retrieved March 8, 2021.
  14. ^ Van Vleck, Tom. «Password Generator». Retrieved March 8, 2021.
  15. ^ «Report of the President» (PDF). Massachusetts Institute of Technology Bulletin. 111 (4): 355. December 1975. Retrieved April 12, 2022. Use of the Multics service, operated on the Honeywell 6180 system, declined…a decrease of 15 percent.
  16. ^ «Report of the President» (PDF). Massachusetts Institute of Technology Bulletin. 112 (4): 392. November 1976. Retrieved April 12, 2022. … the demise of several Multics projects which failed to obtain funding.
  17. ^ «Report of the President and the Chancellor» (PDF). Massachusetts Institute of Technology. 1978. p. 450. Retrieved April 12, 2022. This new pricing proved so attractive to many people, however, that Multics users and usage increased considerably.
  18. ^ «Multics». stuff.mit.edu. Retrieved July 25, 2022.
  19. ^ «Multics History Dates». Retrieved September 13, 2015. Shutdown of DND-H (17:08Z 10/30/00)
  20. ^ Van Vleck, Tom. «Open Source for Multics». Multicians.org. Retrieved April 11, 2016.
  21. ^ Anthony, Charles. «(email) Re: [dps8m-developers] Multiprocessor and/or networked Multics». Sourceforge.net. Retrieved April 11, 2016.
  22. ^ «RingZero — Multics reborn». WikidotCom. Retrieved April 11, 2015.
  23. ^ «Multics Simulator». Retrieved July 9, 2017.
  24. ^ «Installing Multics». Retrieved May 19, 2020.
  25. ^ Honeywell Bull, Inc. (February 1985). Multics Commands and Active Functions (AG92-06) (PDF). Retrieved January 10, 2021.
  26. ^ «Unix and Multics».
  27. ^ «Multics Commands».
  28. ^ Salus, Peter H. (1994). A quarter century of UNIX (Reprinted with corrections Jan. 1995. ed.). Reading, Mass.: Addison-Wesley Pub. Co. ISBN 978-0-201-54777-1.
  29. ^ Ward, Mark (August 20, 2009). «40 years of Unix». BBC News. Retrieved April 27, 2010. Quoting Peter Salus.
  30. ^ a b Peter Seibel. Coders at Work: Reflections on the Craft of Programming. APress Publications, 2007. ISBN 978-1-4302-1948-4
  31. ^ Garfinkel, Simson and Abelson, Harold. Architects of the Information Society: Thirty-Five Years of the Laboratory for Computer Science at MIT. MIT Press, 1999. ISBN 978-0262071963
  32. ^ Karn, Phil (October 28, 1981). «Origins of unix». Newsgroup: fa.unix-wizards. Usenet: 4743@Aucbvax.UUCP. Retrieved April 11, 2014.
  33. ^ Ritchie, Dennis M. (1977). The Unix Time-sharing System: A retrospective (PDF). Tenth Hawaii International Conference on the System Sciences. a good case can be made that UNIX is in essence a modern implementation of MIT’s CTSS system

Further reading[edit]

The literature contains a large number of papers about Multics, and various components of it; a fairly complete list is available at the Multics Bibliography page and on a second, briefer 1994 Multics bibliography (text format). The most important and/or informative ones are listed below.

  • F. J. Corbató, V. A. Vyssotsky, Introduction and Overview of the Multics System (AFIPS 1965) is a good introduction to the system.
  • F. J. Corbató, C. T. Clingen, J. H. Saltzer, Multics – The First Seven Years (AFIPS, 1972) is an excellent review, written after a considerable period of use and improvement over the initial efforts.
  • J. J. Donovan, S. Madnick, Operating Systems, is a fundamental read on operating systems.
  • J. J. Donovan, Systems Programming, is a good introduction into systems programming and operating systems.

Technical details[edit]

  • Jerome H. Saltzer, Introduction to Multics (MIT Project MAC, 1974) is a considerably longer introduction to the system, geared towards actual users.
  • Elliott I. Organick, The Multics System: An Examination of Its Structure (MIT Press, 1972) is the standard work on the system, although it documents an early version, and some features described therein never appeared in the actual system.
  • V. A. Vyssotsky, F. J. Corbató, R. M. Graham, Structure of the Multics Supervisor (AFIPS 1965) describes the basic internal structure of the Multics kernel.
  • Jerome H. Saltzer, Traffic Control in a Multiplexed Computer System (MIT Project MAC, June 1966) is the original description of the idea of switching kernel stacks; one of the classic papers of computer science.
  • R. C. Daley, P. G. Neumann, A General Purpose File System for Secondary Storage (AFIPS, 1965) describes the file system, including the access control and backup mechanisms.
  • R. J. Feiertag, E. I. Organick, The Multics Input/Output System. Describes the lower levels of the I/O implementation.
  • A. Bensoussan, C. T. Clingen, R. C. Daley, The Multics Virtual Memory: Concepts and Design, (ACM SOSP, 1969) describes the Multics memory system in some detail.
  • Paul Green, Multics Virtual Memory – Tutorial and Reflections is a good in-depth look at the Multics storage system.
  • Roger R. Schell, Dynamic Reconfiguration in a Modular Computer System (MIT Project MAC, 1971) describes the reconfiguration mechanisms.

Security[edit]

  • Paul A. Karger, Roger R. Schell, Multics Security Evaluation: Vulnerability Analysis (Air Force Electronic Systems Division, 1974) describes the classic attacks on Multics security by a «tiger team».
  • Jerome H. Saltzer, Michael D. Schroeder, The Protection of Information in Computer Systems (Proceedings of the IEEE, September 1975) describes the fundamentals behind the first round of security upgrades; another classic paper.
  • M. D. Schroeder, D. D. Clark, J. H. Saltzer, D. H. Wells. Final Report of the Multics Kernel Design Project (MIT LCS, 1978) describes the security upgrades added to produce an even more improved version.
  • Paul A. Karger, Roger R. Schell, Thirty Years Later: Lessons from the Multics Security Evaluation (IBM, 2002) is an interesting retrospective which compares actual deployed security in today’s hostile environment with what was demonstrated to be possible decades ago. It concludes that Multics offered considerably stronger security than most systems commercially available in 2002.

External links[edit]

Wikimedia Commons has media related to Multics.

  • multicians.org is a comprehensive site with a lot of material
    • Multics papers online
    • Multics glossary
    • Myths discusses numerous myths about Multics in some detail, including the myths that it failed, that it was big and slow, as well as a few understandable misapprehensions
    • Multics security
    • Unix and Multics
    • Multics general info and FAQ Includes extensive overview of other software systems influenced by Multics
  • Open source emulator for the GE Large Systems / Honeywell / Bull 600/6000‑series mainframe computers
  • Honeywell, Inc., MULTICS records, 1965–1982. Charles Babbage Institute, University of Minnesota. Multics development records include the second MULTICS System Programmers Manual; MULTICS Technical Bulletins that describe procedures, applications, and problems, especially concerning security; and returned «Request for Comments Forms» that include technical papers and thesis proposals.
  • Current Multics development home page
  • Official historical source code archive at MIT
  • Link page to various Multics information at the Library of Congress Web Archives (archived 2001-11-30)
  • Multics repository at Stratus Computer
  • Multics at Universitaet Mainz
  • Various scanned Multics manuals
  • Multicians.org and the History of Operating Systems, a critical review of Multicians.org, plus a capsule history of Multics.

Понравилась статья? Поделить с друзьями:
  • Компания по производству автомобилей приобрела у сталелитейной фирмы
  • Компания производитель товаров народного потребления имеющая филиалы
  • Компания с ограниченной ответственностью облада энтерпрайзес лимитед
  • Компания сдэк официальный сайт отслеживание посылок по номеру заказа
  • Кому можно пожаловаться на управляющую компанию в московской области