- •Глава 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) байт,
Ibm 1401 записує пакет завдань на магнітну стрічку (б); оператор приносить вхідні
дані на стрічці до IBM 7094 (в); IBM 7094 виконує обчислення (г); оператор переносить
стрічку з вихідними даними на IBM 1401 (д); IBM 1401 друкує вихідні дані (е)
Приблизно після години збору пакету завдань стрічка перемотувати, І її відносили в машинну кімнату, де встановлювали на стрічкопротяжним пристрої. Потім оператор завантажував спеціальну програму (прообраз сьогоднішньої операційної системи), яка зчитувала перше завдання зі стрічки і запускала його. Вихіднідані записувалися на другу стрічку замість того, щоб йти на друк.
Завершивши чергове завдання, операційна система автоматично зчитувала зі стрічки наступне і починала обробляти його. Після обробки всього пакета оператор знімав стрічки з вхідний і вихідний інформацією, ставив нову стрічку зі
наступним завданням, а готові дані поміщав на IBM 1401 для друку в автономному режимі (тобто без зв'язку з головним комп'ютером).
Структура типового вхідного завдання показана на рис. 1.3. Воно починалося
з карти $ JOB, на якій вказувалося максимальний час виконання завдання
в хвилинах, що завантажується обліковий номер та ім'я програміста. Потім надходила карта SFORTRAN, що дає операційній системі вказівку завантажити компілятор мови Фортран з системною магнітної стрічки. Ця карта слідувала за програмою, яку треба було компілювати, а після неї йшла карта SLOAD, яка вказує операційній системі завантажити щойно скомпільовану об'єктну
програму. (Скомпільовані програми часто записувалися на тимчасових стрічках,
дані з яких могли стиратися відразу після використання, і їх завантаження
повинна була виконуватися явно.) Слідом йшла карта $ RUN з даними, що дає
операційній системі команду виконувати програму. Нарешті, карта завершення SEND відзначала кінець завдання. Ці примітивні керуючі перфокарти були
попередниками сучасних мов управління і інтерпретаторів команд.
Великі комп'ютери другого покоління використовувалися головним чином для наукових і технічних обчислень, таких як рішення диференціальних
рівнянь в приватних похідних, що часто зустрічаються у фізиці та інженерних
завданнях. В основному на них програмували на мові Фортран та асемблері, а
типовими операційними системами були FMS (Fortran Monitor System) і IBSYS
(Операційна система, створена корпорацією IBM для комп'ютера IBM 7094).
Рис. 1.3. Структура типичного задания FMS
Третє покоління (1965-1980): інтегральні
схеми і багатозадачність
На початок 60-х років більшість виробників комп'ютерів мало дві окремі, повністю несумісні виробничі лінії. З одного боку, існували наукові великомасштабні комп'ютери з послівний обробкою тексту типу IBM 7094, що використовувалися для числових обчислень в науці і техніці. З іншого боку - комерційні комп'ютери з посимвольной обробкою, такі як IBM 1401, широко використовуються банками і страховими компаніями для сортування та друкування даних.
Розвиток і підтримка двох зовсім різних виробничих ліній для виготовлювачів були досить дорогим задоволенням. Крім того, багатьом покупцям спочатку була потрібна невелика машина, проте пізніше її
можливостей ставало недостатньо і потрібний більш потужний комп'ютер, який
працював би з тими ж самими програмами, але швидше.
Фірма IBM спробувала вирішити ці проблеми разом, випустивши серію машин
IBM/360.360-Е були серією програмно-сумісних машин, що варіюються від
комп'ютерів розміром з IBM 1401 до машин, значно потужніших, ніж
IBM 7094. Ці комп'ютери розрізнялися тільки ціною і продуктивністю
(Максимальним об'ємом пам'яті, швидкодією процесора, кількістю дозволених пристроїв введення-виведення і т. д.). Так як всі машини мали однакову структуру і набір команд, програми, написані для одного комп'ютера,
могли працювати на всіх інших (принаймні, в теорії). Крім того, 360-е були
розроблені для підтримки як наукових (тобто чисельних), так і комерційних обчислень. Одне сімейство машин могло задовольнити потреби всіх покупців. У наступні роки, використовуючи більш сучасні технології, корпорація IBM випустила комп'ютери, сумісні з 360, ці серії відомі під номерами 370, 4300, 3080 і 3090.
360-е стали першою основною лінією комп'ютерів, на якій використовувалися
дрібномасштабні інтегральні схеми, які давали перевагу в ціні і якості
в порівнянні з машинами другого покоління, створеними з окремих транзисторів.
Корпорація IBM домоглася миттєвого успіху, а ідею сімейства сумісних
комп'ютерів скоро прийняли і всі інші основні виробники. У комп'ютерних центрах до сих пір можна зустріти нащадків цих машин. У даний час вони часто використовуються для управління величезними базами даних (Наприклад, для систем бронювання і продажу квитків на авіалініях) або як сервери вузлів Інтернету, які повинні обробляти тисячі запитів в секунду.
Основна перевага «одного сімейства» виявилося одночасно і найбільшою його слабкістю. За задумом його творців все програмне забезпечення,
включаючи операційну систему OS/360, повинно було однаково добре працювати на всіх моделях комп'ютерів: І в невеликих системах, які часто замінювали 1401-е і застосовувалися для копіювання перфокарт на магнітні стрічки, і на
величезних системах, які заміняють 7094-і і використовувалися для розрахунку
прогнозу погоди і інших складних обчислень. Крім того, передбачалося, що одну
операційну систему можна буде використовувати в системах як з кількома
зовнішніми пристроями, так і з великою їх кількістю, а також як у комерційних
комерційних, так і в наукових областях. Але найважливішим було, щоб це сімейство машин давало результати незалежно від того, хто і як його використовує.
Ні IBM, ні хто-небудь ще не міг написати програмного забезпечення, задовольняє всім цим суперечливим вимогам. У результаті з'явилася величезна і надзвичайно складна операційна система, приблизно на два або три порядку перевищує за величиною FMS. Вона складалася з мільйонів рядків, написаних на асемблері тисячами програмістів, містила тисячі і тисячіпомилок, що спричинило за собою безперервний потік нових версій, в яких пи-
намагалися виправити ці помилки. У кожній новій версії усувалася тільки частина
помилок, замість них з'являлися нові, так що загальна їх кількість, ймовірно,
залишалося постійним.
Один з розробників OS/360, Фред Брукс (Fred Brooks), згодом на-
написав дотепну і уїдливу книгу з описом свого досвіду роботи з OS /