Multics: відмінності між версіями
[неперевірена версія] | [перевірена версія] |
Вилучено вміст Додано вміст
IvanBot (обговорення | внесок) м →Опис: replaced: в світі → у світі |
|||
(Не показано 24 проміжні версії 17 користувачів) | |||
Рядок 8:
|programmed_in = [[PL/1]], [[мова асемблера]]
|family =
|source_model =
|released = 1969
Рядок 30 ⟶ 29:
}}
'''Multics''' ('''Mult'''iplexed '''I'''nformation and '''C'''omputing '''S'''ervice) — одна з перших [[Операційна система|операційних систем]] з [[Розподіл часу|поділом часу]] виконання програм (time-sharing operating system).
== Опис ==
Розробка операційної системи Multics була розпочата в [[1964]] році. Спочатку в цьому проекті були зайняті [[Массачусетський технологічний інститут]] (MIT), а також компанії [[General Electric]] (GE) і [[Bell Labs]]. Компанія Bell Labs вийшла з проекту в 1969 році, а в 1970 році комп'ютерний бізнес компанії General Electric (разом з Multics) відійшов до компанії [[Honeywell]], яка продала його BULL (
Як би там не було, система Multics
Система Multics мала безліч характерних особливостей, що забезпечували її безвідмовність і високу продуктивність. Наприклад, додатково до підтримки модульності програмного забезпечення, система також була орієнтована на модульну підтримку використовуваних в її роботі електронних пристроїв, що дозволило нарощувати обчислювальні можливості системи простою заміною її модулів: [[Центральний процесор|центрального процесора]], пам'яті, дискового простору, і т. д. Окремі для кожного користувача списки доступу до файлів забезпечили досить гнучкий механізм колективного використання інформації в системі, що
== Інноваційні ідеї ==
Multics була однією з перших операційних систем, що реалізувала плоску модель зберігання даних, чітко розділяла концепції [[файл]]ів (званих в системі Multics сегментами) і пам'яті обчислювальних процесів. Пам'ять обчислювальних процесів складалася із сегментів, кожен з яких володів своїм адресним простором. Для читання чи запису в сегменти обчислювальний процес використовував інструкції центрального процесора системи, а операційна система
Таким чином, в Multics була спроектована і реалізована повністю централізована [[файлова система]], в якій файли, фізично розташовані на різних фізичних пристроях зовнішньої пам'яті, логічно об'єднуються в один централізований архів або деревоподібну ієрархічну структуру, проміжними вузлами якої є іменовані директорії (або каталоги), а в листі містяться файли.
У Multics була також спроектована і реалізована велика сегментно-сторінкова віртуальна пам'ять, яка дозволила використовувати відображення файлів в сегменти віртуальної пам'яті. Іншими словами, при відкритті файлу у віртуальній пам'яті відповідного процесу утворювався сегмент, до якого повністю відображався файл, розташований у зовнішній пам'яті (слід зазначити, що у файловій системі Multics на базовому рівні підтримувалися файли зі сторінковою структурою.
Однією з головних незручностей такого підходу (що з'явився в основному через відмінності електронних архітектур обчислювальних машин, на яких система працювала), було обмеження розміру сегмента до 256*1024 32-[[біт]]них слів, що дорівнює 1 [[мегабайт]]у. Тому для роботи з файлами,
Слід також сказати, що до появи великих баз даних і графічних даних величезних обсягів дане обмеження за розміром файлів порушувалося вкрай рідко.
В системі Multics була вперше реалізована і інша інноваційна ідея
Таким чином програми змогли автоматично використовувати зовнішні бібліотеки коду, що зберігаються в окремих сегментах, створюючи при цьому динамічні зв'язку з функціями, збереженими в цих бібліотеках. Динамічний зв'язок із зовнішнім виконуваним кодом створювався лише один раз, під час першого виклику функції з бібліотеки, і надалі міг бути використаний повторно. Оскільки кожному користувачеві в системі відповідали окремі процеси, то різні зовнішні бібліотеки можуть бути залученими до однієї і тієї ж програми, залежно від потреб користувача.
Важливим було і те, що з правильним налаштуванням системи безпеки в Multics код з одного сегмента міг отримувати доступ до структур даних,
Варто зауважити, що дві наведені вище ідеї так досі і не були реалізовані в повній мірі на сьогоднішніх
Окремо варто згадати про те, що система Multics підтримувала досить агресивну переконфігурацію всієї системи «на ходу», дозволяючи підключати, відключати та настроювати центральні процесори, блоки пам'яті, жорсткі диски та інші пристрої, не зупиняючи при цьому всю систему. Наприклад в [[MIT]] під час профілактики системи Multics було звичайною практикою розділяти систему
Як уже було згадано, система Multics могла працювати на багатопроцесорних комп'ютерах, по суті будучи однією з найперших мультипроцесорних операційних систем.
Multics була також однією з перших систем, в якій велика увага приділялася безпеці взаємодії між програмами та користувачами. Більше того, Multics, можливо, була найпершою операційною системою, задуманою спочатку і реалізованої як безпечна, попри те, що ранні версії системи Multics все-таки неодноразово зламувалися хакерами. Зломи системи призводили до доопрацюванням системи безпеки, які в кінцевому рахунку визначили широко поширені підходи до архітектури безпеки в операційних системах, і зробили саму систему Multics
Додатково до того, що в Multics однією з перших була реалізована ієрархічна файлова система, імена файлів могли бути практично довільної довжини і містити будь-які символи. Файл або директорія могли мати кілька імен (коротке і довге); також були доступні для використання символьні посилання (symlink) між директоріями.
Рядок 68 ⟶ 67:
Також в Multics був вперше реалізований (тепер вже стандартний) підхід використання стеків для кожного обчислювального процесу в ядрі системи, з окремим стеком для кожного рівня безпеки навколо ядра.
Multics також стала однією з перших операційних систем, написаних [[Мова програмування#Мови програмування високого рівня|мовою високого рівня]] [[PL/I]] (найпершою такою системою була [[Burroughs MCP]] для комп'ютерів серії [[Burroughs B5000|B5000]],
== Історія проекту ==
Спочатку Multics була розроблена для 36-бітових мейнфреймів [[GE-645]], а пізніше - і для машин серії [[Honeywell 6180]].
Компанія [[Bell Labs]] вийшла з проекту в 1969-му році. Кілька людей, які розробляли систему Multics в цій компанії, перейшли до створення системи [[UNIX]]. Пізніше створена система UNIX показала зовнішню схожість з системою Multics, у тому числі в назвах використовуваних команд. Однак, філософія дизайну UNIX була зовсім іншою, орієнтованої на створення системи якомога менших розмірів, і настільки простою, наскільки це буде можливо, в чому і
Назва «UNIX» (спочатку «Unics») було утворено від «Multics». Буква U в назві UNIX означала «Uniplexed» («односкладова») на противагу слову «Multiplexed» («комплексна»), що лежав в основі назви системи Multics, для того, щоб підкреслити спробу творців UNIX-а відійти від складнощів системи Multics для вироблення простішого і працездатного підходу.
Рядок 85 ⟶ 84:
Остання машина з Multics була зупинена [[31 жовтня]] [[2000]]-го року в канадському Міністерстві Оборони.
У 2007 році
== Додаткові зауваження ==
Рядок 94 ⟶ 93:
Варто також зауважити, що вся операційна система, включаючи складний [[компілятор]] мови [[PL/I]], призначені для користувача команди і додаткові бібліотеки, складалася з приблизно півтора тисяч вихідних файлів, кожен з яких містив приблизно по 200 рядків коду. У скомпільованому вигляді весь цей код займав близько 4,5 Мегабайт, що було величезним розміром на ті часи.
Компілятори Multics в основному оптимізували код за розміром, а не за ефективністю використання центрального процесора, що було
==
* [[Compatible Time-Sharing System]]
* [[Unix]]
== Посилання ==
{{Compu-stub}}▼
* [http://www.multicians.org/ Сайт, присвячений системі Multics] {{Webarchive|url=https://web.archive.org/web/20191030094546/https://www.multicians.org/ |date=30 жовтня 2019 }}
* [http://web.mit.edu/multics-history/ Код системи Multics] {{Webarchive|url=https://web.archive.org/web/20140210164025/http://web.mit.edu/multics-history/ |date=10 лютого 2014 }}
▲{{Compu-OS-stub}}
[[Категорія:Вільні операційні системи]]▼
{{Вікіфікувати|дата=жовтень 2011}}
{{Бібліоінформація}}
{{Honeywell}}
{{Портали|Інформаційні технології|Вільне програмне забезпечення|США}}
▲[[Категорія:Вільні операційні системи]]
|