Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вступ, ст 22-93.doc
Скачиваний:
5
Добавлен:
02.09.2019
Размер:
1.62 Mб
Скачать

Історія операційних систем

Історія розвитку операційних систем налічує вже багато років. У

наступних розділах книги ми коротко розглянемо деякі основні моменти цього

розвитку. Так як операційні системи з'явилися і розвивалися в процесі

конструювання комп'ютерів, то ці події історично тісно пов'язані.

Тому щоб уявити, як виглядали операційні системи, ми обговоримо наступні один за одним покоління комп'ютерів. Така схема взаємозв'язку поколінь операційних систем і комп'ютерів досить груба, але вона забезпечує деяку структуру, без якої нічого не було б зрозуміло. Перший справжній цифровий комп'ютер був винайдений англійським математиком Чарльзом Беббідж (Charles Babbage, 1792-1871). Хоча більшу частину життя Беббідж присвятив спробам створення своєї «аналітичної машини», він так і не зміг змусити її працювати належним чином. Це була чисто механічна машина, а технології того часу не були достатньо розвинені для виготовлення багатьох деталей і механізмів високої точності. Не варто й говорити, що його аналітична машина не мала операційної системи.

Цікавий історичний факт: Беббідж розумів, що для аналітичної

машини йому необхідно програмне забезпечення, тому він найняв молоду

жінку на ім'я Ада Лавлейс (Ada Lovelace), дочка знаменитого британського

поета Лорда Байрона. Вона і стала першим у світі програмістом, а мова

програмування Ada ® названий на її честь.

Перше покоління (1945-55): електронні

лампи та комутаційні панелі

Після невдалих спроб Беббіджа аж до Другої світової війни в конструюванні цифрових комп'ютерів не було практично ніякого прогресу.

Приблизно в середині 1940-х Говард Айкен (Howard Aiken) в Гарварді, Джон фон Нейман (John von Neumann) в Інституті поглибленого вивчення в Прінсто-

не, Дж. Преспер Еккерт (J. Presper Eckert), Вільям Мочлі (William Mauchley)

в Пенсильванському університеті, Конрад Цузе (Konrad Zuse) у Німеччині і багато інших продовжили роботу в напрямку створення обчислювальних машин.

На перших машинах використовувалися механічні реле, але вони були дуже

повільні, тривалість такту складала декілька секунд. Пізніше реле замінили

електронними лампами. Машини виходили громіздкими, заполняющими цілі

кімнати, з десятками тисяч електронних ламп, але все одно вони були в мільйони

разів повільніше, ніж навіть найдешевший сучасний персональний комп'ютер.

У ті часи кожну машину і розробляла, і будувала, і програмувати,

і експлуатувала, і підтримувала в робочому стані одна команда. Всі програмування виконувалося на абсолютному машинній мові, управління основними функціями машини здійснювалося просто за допомогою з'єднання

комутаційних панелей проводами. Тоді ще не були відомі мови програмування

(Навіть асемблера не було). Про операційних системах ніхто і не чув. Звичайний режим роботи програміста був такий: Записатися на певний час на

спеціальному стенді, потім спуститися в машинну кімнату, вставити свою комутаційну панель в комп'ютер і провести кілька наступних годин на надійність

надії, що під час роботи жодна з двадцяти тисяч електронних ламп не вийде

з ладу. Фактично тоді на комп'ютерах займалися тільки прямими ЧП-

числовими обчисленнями, наприклад розрахунками таблиць синусів, косинусів і логарифмів.На початок 50-х, з випуском перфокарт, стале становище дещо

покращився. Стало можливо замість використання комутаційних панелей

записувати і зчитувати програми з карт, але в усьому іншому процедура обчислень залишалася незмінною.

Друге покоління (1955-65): транзистори

і системи пакетної обробки

У середині 50-х винахід і застосування транзисторів радикально змінило всю картину. Комп'ютери стали досить надійними, з'явилася висока

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

кімнатах з кондиціонованим повітрям, де ними керував цілий штат професійних операторів. Тільки великі корпорації, урядові установи або університети могли дозволити собі техніку, ціна якої обчислювалася мільйонами доларів. Щоб виконати завдання (тобто програму або комплект програм), програміст спочатку мав записати його на папері (на Фортране або асемблері), а потім перенести на перфокарти. Після цього – принести колоду перфокарт до кімнати вводу даних, передати одному з операторів і йти пити каву в очікуванні, коли буде готовий результат. Коли комп'ютер закінчував виконання будь-якого з поточних завдань,

оператор підходив до принтера, відривав лист з отриманими даними і відносив його в кімнату для роздруківок, де програміст пізніше міг його забрати. Потім

оператор брав одну з колод перфокарт, принесених з кімнати введення даних, і

зчитував їх. Якщо в процесі розрахунків був необхідний компілятор мови Фортран,то оператору доводилося брати його з картотечного шафи і завантажувати в машинуокремо. Через одне тільки ходіння операторів по машинному залу даремно губилася маса дорогоцінного комп'ютерного часу.

Якщо враховувати високу вартість обладнання, не дивно, що люди

досить скоро зайнялися пошуком способу підвищення ефективності

використання машинного часу. Загальноприйнятим рішенням стала система пакетної обробки. Спочатку задум полягав у тому, щоб зібрати повний піднос

завдань (колод перфокарт) в кімнаті вхідних даних і потім переписати їх на

магнітну стрічку, використовуючи невеликий і (відносно) недорогий комп'ютер,

наприклад, IBM 1401, який був дуже хороший для зчитування карт, копіювання стрічок і друку вихідних даних, Але не підходив для числових обчислень. Інші, більш дорогі машини, такі як IBM 7094, використовувалися для справжніх обчислень. Це зображено на рис. 1.2.

Рис. 1.2. Рання система пакетної обробки: Програміст приносить карти для IBM 1401 (а);