Перейти до вмісту

Пакетна обробка

Матеріал з Вікіпедії — вільної енциклопедії.

Пакетна обробка — організація виконання декількох процесів у попередньо визначеній послідовності за допомогою команд керування процесами та файлами («наборами даних» у термінології IBM) операційної системи або спеціалізованої мови пакетної обробки[1].

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

В подальшому пакети запуску програм перетворились на окремі програми та отримали власний синтаксис як синтаксис мови керування завданнями.

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

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

Відомі або важливі системи і середовища пакетної обробки

[ред. | ред. код]

У Unix-подібних ОС програми cron, at і batch (у сучасних системах[коли?] batch є варіантом at) дозволяють досить складну диспетчеризацію задач. ОС Windows має компонент job scheduler. Більшість кластерних систем, орієнтованих на інтенсивні обчислення, використовують пакетну обробку з метою максимізувати продуктивність кластера.[2]

Операційні системи для мейнфреймів IBM, передусім z/OS, мають, напевно, найбільш розвинені середовища пакетного виконання, завдяки десяткам років постійної еволюції. У 21-му столітті такі системи забезпечують паралельну роботу сотень і тисяч онлайнових і пакетних задач у рамках одного екземпляру ОС. Серед технологій, які значною мірою допомагають у пакетній і онлайновій обробці даних, можна відзначити Job Control Language[en] (мова керування завданнями), скриптові мови, такі як REXX, системи вводу завдань Job Entry Subsystem[en], менеджер керування навантаженням Workload Manager (WLM), менеджер автоматичного рестарту Automatic Restart Manager (ARM), сервіси відновлення ресурсів (англ. Resource Recovery Services, RRS), засоби[які?] IBM DB2, Parallel Sysplex, засоби оптимізації навантаження типу HiperDispatch, канальна архітектура вводу/виводу та інші.

Примітки

[ред. | ред. код]
  1. Glossary of z/OS terms and abbreviations - job. IBM Corporation. Процитовано 18 лютого 2013.
  2. High performance computing tutorial, with checklist and tips to optimize. 25 січня 2018. Архів оригіналу за 26 липня 2020. Процитовано 12 травня 2019. a multi-user, shared and smart batch processing system improves the scale ..... Most HPC clusters are in Linux