- •Глава 1
- •Введення
- •Операційна система як менеджер ресурсів
- •Історія операційних систем
- •Ibm 1401 записує пакет завдань на магнітну стрічку (б); оператор приносить вхідні
- •360. Ми не можемо тут дати повну оцінку цієї книги, але достатньо буде сказати, що на її обкладинці зображено стадо доісторичних тварин, загрузли у
- •77, 82, 253, 285]. Системі multics також присвячений все ще активний web-сайт www.Multicians.Org, з великою кількістю інформації про систему, її проектувальників і користувачів.
- •Ibm захотіла деяких удосконалень у програмі, Білл Гейтс запрошуємо
- •Xerox [307]. Тоді Джобе приступив до створення Apple з графічним інтерфейсом. Це привело до проекту Lisa, який був дуже дорогий і зазнав комерційних
- •Онтогенез повторює філогенез
- •Серверні операційні системи
- •Операційні системи реального часу
- •VX Works і qnx є добре відомими операційними системами реального часу.
- •Вбудовані операційні системи
- •Огляд апаратного забезпечення комп'ютера
- •Процесори
- •Пристрої введення-виведення
- •Процесори
- •Взаємоблокировка
- •Управління пам'яттю
- •Введення-виведення даних
- •Безпека
- •Оболонка
- •Повторне використання ідей
- •Системні виклики
- •Системні виклики для управління процессами
- •Лістинг 1.1. Усічена оболочка1
- •Системні виклики для управління файлами
- •Системні виклики для управління каталогами
- •Iink ("/ usr/jim/memo", "/ usr / ast / note"): то файл memo в каталозі Джима з'явиться у каталозі Аста під назвою note.
- •Різні системні виклики
- •Багаторівневі системи
- •Віртуальні машини
- •Екзоядро
- •Модель клієнт-сервер
- •Дослідження в області операційних систем
- •Короткий огляд наступних глав
- •Одиниці виміру
- •1024 Байта, а не 1000 байт. Точно так же 1 Мбайт містить 220 a 048 576) байт,
Багаторівневі системи
Узагальненням підходу, зображеного на рис. 1.21, є організація операційної системи у вигляді ієрархії рівнів. Першою системою, побудованої таким
чином, була система THE, створена в Technische Hogeschool Eindhoven
(Нідерланди) Е. Дейкстри (Е. W. Dijkstra) і його студентами в 1968 році. Вона булла простий пакетної системою для голландського комп'ютера Electrologica X8, пам'ять якого складалася з 32 До 27-розрядних слів. Система включала б рівнів, як показано в табл. 1.3. Рівень 0 займався розподілом часу процесора, переми-каючи процеси при виникненні переривання або при спрацьовуванні таймера. Над рівнем 0 система складалася з послідовних процесів, кожен з яких можна було запрограмувати, не піклуючись про те, що на одному процесорі запущено кілька процесів. Іншими словами, рівень 0 забезпечував базову багатозадачність процесора.
Таблиця 1.3. Структура операційної системи THE
Він виділяв процесам простір в оперативної пам'яті і на магнітному барабані об'ємом 512 До слів для тих частин процесів (сторінок), які не поміщалися в оперативній пам'яті. Процеси більше високих рівнів не дбали про те, чи знаходяться вони в даний момент в пам'яті або на барабані. Програмне забезпечення рівня 1 забезпечувало потрапляння сторінок в оперативну пам'ять в міру необхідності.
Рівень 2 керував зв'язком між консоллю оператора і процесами. Таким
чином, всі процеси вище цього рівня мали свою власну консоль оператора. Рівень 3 керував пристроями введення-виведення і буферізованние потоки інформації до них і від них. Будь-який процес вище рівня 3, замість того щоб працювати з конкретними пристроями, з їх різноманітними особливостями, мігзвертатися до абстрактних пристроїв введення-виведення, що володіє зручними для користу-вача характеристиками. На рівні 4 працювали користувача програми, яким не треба було дбати ні про процеси, ні про пам'ять, ні про консолі, ні про управління пристроями введення-виведення. Процес системного оператора розміщувався на рівні 5.
Подальше узагальнення багаторівневої концепції було зроблено операційній системі MULTICS. У ній рівні представляли собою серію концентричних
кілець, де внутрішні кільця були більш привілейованими, ніж зовнішні.
Коли процедура зовнішнього кільця хотіла викликати процедуру кільця, що лежить всередині, вона повинна була виконати еквівалент системного виклику, тобто команду TRAP, параметри якої ретельно перевіряються перед тим, як виконується виклик. Хоча операційна система в MULTICS була частиною адресного простору кожного користувача процесу, апаратура забезпечувала захист даних на рівні сегментів пам'яті, дозволяючи чи забороняючи доступ до
індивідуальним процедурам (насправді до сегментів пам'яті) для запису, читання
або виконання. Варто відзначити, що в системі THE багаторівнева схема представляла собою виключно конструкційне рішення і всі частини системи були, в кінцевому рахунку, пов'язані в один об'єктний файл, а в MULTICS механізм поділу кілець діяв під час виконання на апаратному рівні.
Перевага підходу MULTICS полягає в тому, що його можна розширити і на структуру користувальницьких підсистем. Наприклад, професор може написати програму для тестування та оцінки студентських програм і запустити її в кільці п, в той час як студентські програми будуть працювати в кільці п 1, так що вони не зможуть змінити свої оцінки.