Пакетні ОС

Історію власне ОС можна почати з появи в кінці 50-х років перших систем, що організують роботу щодо пакетного принципу.

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

Тепер від програміста було потрібно зібрати пакет перфокарт, що містить його програму, дані до неї, а також керуючі перфокарти. Ці карти на спеціально розробленому мовою управління завданнями (JCL, Job Control Language) пояснювали операційній системі, чиє це завдання, що потрібно зробити з програмою (наприклад, передати її транслятору з Фортрану), що робити у випадку успішної трансляції (ймовірно, пустити на рішення ), що - при наявності помилок (наприклад, перейти до іншої програми), звідки взяти вихідні дані (наприклад, з такого-циліндра магнітного диска). Крім того, там могли бути навіть вказівки на те, скільки метрів паперу можна виділити на роздруківку і яку максимальну час може зайняти робота програми.

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

Підготовлений пакет передавався, разом з іншими подібними пакетами, оператору ЕОМ, перед яким стояли дві основні задачі: щоб у пристрої введення не переводилися пакети завдань і щоб в принтері не скінчилася папір. Коли процесор закінчував обробку завдання та друк його результатів, він вводив наступний пакет і приступав до його обробці. Так досягалася основна мета пакетного режиму - виключити простої процесора через нерозторопність людей.

Незабаром розробники ОС усвідомили, що вичерпати далеко не всі резерви підвищення завантаження процесора. Операції введення і друку вимагали лише дуже невеликої частки від повної продуктивності процесора. Крім того, в ході роботи програми траплялися звернення до периферійних пристроїв (наприклад, до магнітних стрічок і, пізніше, дискам), при виконанні яких процесор знову простоював. Доцільно було знайти спосіб, щоб у ці періоди очікування завантажити процесор іншою роботою. Але для цього необхідно, щоб в пам'яті процесора знаходилися відразу кілька програм, тоді ОС змогла б перемикати процесор на виконання тієї програми, яка в даний момент може працювати.

Така організація роботи, коли в пам'яті знаходяться декілька програм і система в певні моменти перемикає виконання з однієї програми на іншу, була названа мультипрограмування. Ця важлива ідея в різних втіленнях пережила ті пакетні системи, в яких вона вперше була реалізована, і є основою для функціонування практично всіх сучасних ОС.

Серед найбільш розвинених пакетних ОС з мультипрограмування можна не назвати OS/360, основну ОС знаменитого в 60-70 рр.. сімейства ЕОМ IBM 360/370.