Мультипрограмування
 
а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
 

Мультипрограмування

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

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

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

  Режим розділення часу створює у кожного споживача враження, що ЦВМ(цифрова обчислювальна машина) обслуговує лише його одного. Кожен споживач забезпечується пристроєм для введення — виведення даних (типа «дисплей») або ін. устаткуванням, що забезпечує взаємодію споживача з ЦВМ(цифрова обчислювальна машина), у тому числі і по каналах зв'язку. Періодично кожен споживач у відведений для нього машинний час вирішує свою задачу, вивчає отримані результати і готує наступне завдання для ЦВМ(цифрова обчислювальна машина). Зазвичай споживач користується загальною бібліотекою програм, але може мати і приватний архів. При користуванні загальною бібліотекою диспетчер-програма планує і здійснює вимушені переривання програм залежно від пріоритету споживача і відведеного йому машинного часу, а також від характеру вирішуваного завдання. Режим розділення часу дозволяє споживачеві вести ефективний діалог з машиною, що найзручніше у системах управління технологічними процесами, в автоматизованих системах управління (АСОВІ) підприємствами і галузями народного господарства, в інформаційно-довідкових службах, в потужних обчислювальних центрах і т. д. У вільний від обслуговування споживачів час ЦВМ(цифрова обчислювальна машина) можуть проводити пакетну обробку даних.

  М. забезпечується апаратними і програмними засобами. До апаратних засобів відносяться захист пам'яті і організація переривань. До програмних засобів відносяться диспетчер-програми і проблемно-орієнтовані мови програмування, що враховують особливості М. Характерно М. для ряду сучасних ЦВМ(цифрова обчислювальна машина) (70-і рр. 20 ст): у СРСР — БЕСМ-6, «Мінськ-32», «Урал-14-», ЄС-1020; у США — ІБМ-360, КДК-7600.

  Літ.: Сучасне програмування. Мультипрограмування і розділення часу. Сб. ст., пер.(переведення) з англ.(англійський), М., 1970; Пашкєєв С. Д., Основи мультипрограмування для спеціалізованих обчислювальних систем, М., 1972; Поспелов Д. А., Введення в теорію обчислювальних систем, М., 1972; Бертен Же., Ріту М., Ружіє Ж., Робота ЕОМ(електронна обчислювальна машина) з розділенням часу, пер.(переведення) з франц.(французький), 2 видавництва, М., 1972.

  А. Ст Гусев.