logo
Вступ до спец

10.2. Прості пакетні системи

Друге покоління (1955-1965): транзистори та системи пакетної обробки. В середині 50-х винахід та застосування транзисторів радикально змінили всю картину. Комп’ютери стали достатньо надійними, з’явилася висока ймовірність того, що машина працюватиме досить довго, виконуючи при цьому корисні функції. Саме у цей період відбулося розділення персоналу на програмістів та операторів, експлуатаційників та розробників обчислювальних машин.

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

Якщо враховувати високу вартість устаткування, то не дивно, що люди досить швидко зайнялися пошуком способу підвищення ефективності використання машинного часу. Простої, які відбувалися через неузгодженість розкладу, а також час, який був витрачений на підготовку та розв’язання задачі, – все це обходилось дуже дорого. Загальноприйнятим рішенням стала система пакетної обробки. Задум полягав у тому, щоб зібрати декілька завдань (колод перфокарт), переписати їх на магнітну стрічку (барабан), потім оператор завантажував спеціальну програму (прообраз сьогоднішньої ОС), яка прочитувала перше завдання із стрічки і запускала його. Вихідні дані видавалися або протягом роботи, або також записувалися на стрічку, а потім окремо роздруковувалися на дешевшому комп’ютері або спеціальному пристрої.

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

Головна ідея, яка була покладена в основі простих пакетних схем обробки, полягала у використанні спеціальної програми, відомої під назвою монітор абосупервізор(на вітчизняних машинах –диспетчер, автооператор). Використовуючи ОС такого типу, користувач не мав безпосереднього доступу до машини.

Робота з погляду монітора виглядала таким чином. Монітор керував послідовністю подій. Щоб це було можливо, основна його частина розміщувалась в основній пам’яті і завжди була готова до роботи. Цю частину називали резидентним монітором. Решта частини складала утиліти та загальні функції, які завантажувалися у вигляді підпрограм (зазвичай з барабанів або магнітних стрічок), які призначались для користувача програмами та монітором. Монітор прочитував з пристрою введення-виведення поточне завдання і розміщував його в області пам’яті, яка призначалась для програм користувача, та передавав йому управління. Після завершення завдання управління поверталось монітору, який одразу ж починав читати наступне завдання.

З погляду процесора він у деякий момент виконував команди монітора. Монітор після читання завдання віддавав процесору команду переходу, за якою процесор повинен був почати виконувати програму користувача. Процесор переходив до обробки програми користувача і виконував її команди доти, доки не доходив до кінця або поки не виникала аварійна ситуація.

Таким чином, монітор, або пакетна ОС, – це звичайна комп’ютерна програма. Її робота була заснована на здатності процесора обирати команди з різних областей пам’яті, при цьому відбувалась передача управління програмі та повернення управління у монітор.