Математичне забезпечення ЦВМ(цифрова обчислювальна машина), система програм, додана до конкретної ЦВМ(цифрова обчислювальна машина) і призначена для забезпечення її використання, а також математичні методи і алгоритми вирішення завдань, по яких складені дані програми. Складається із загального М. о., що розробляється підприємством (фірмою), поставляючим ЦВМ(цифрова обчислювальна машина), і спеціального М. о., що розробляється користувачами машини. Загальне М. о. поступає в розпорядження кожного користувача. Вартість загального М. о. входить у вартість ЦВМ(цифрова обчислювальна машина) і складає значну її частину (30 % і більш).
Початкові форми М. о. можна знайти вже в машин першого покоління (наприклад, так звана система ІС-2 для ЦВМ(цифрова обчислювальна машина) М-20, що складається з бібліотеки підпрограм і програми-бібліотекаря). Проте повне М. о. для ЦВМ(цифрова обчислювальна машина) першого покоління було неможливе із-за їх низької швидкодії і малого об'єму оперативної пам'яті. Експлуатація ЦВМ(цифрова обчислювальна машина) другого і третього поколінь без загального М. о. (і, зокрема, без операційної системи) вже неможлива.
Програма, що належить М. о. ЦВМ(цифрова обчислювальна машина), має бути здійснимою на даній ЦВМ(цифрова обчислювальна машина), при необхідності з використанням деяких інших програм системи М. о.; володіти структурою, прийнятою в системі М. о.; має бути оформленою і забезпеченою інструкціями, встановленими в системі М. о.; бути зареєстрованою і введеною в систему М. о. відповідно до прийнятих правил. Приведені умови забезпечують сумісність програм, що належать системі М. о., і можливість їх вживання будь-яким користувачем.
Загальне М. о. звичайне складається з операційної системи, засобів підтримки системи М. о. в робочому стані, засобів програмування і додатків. До М. о. мають бути віднесені також випробувальні програми, призначені для контролю справність ЦВМ(цифрова обчислювальна машина), яка, проте, використовується лише персоналом, обслуговуючим ЦВМ(цифрова обчислювальна машина), не застосовується при програмуванні і не впливає на нього.
Операційна система є програмним доповненням ЦВМ(цифрова обчислювальна машина), разом з якою утворює як би нову машину, що володіє власною системою операцій і своїм машинною мовою . До операційної системи відносяться програми, що забезпечують: введення замовлень на виконання робіт; попереднє планерування ходу виконання робіт і розподіл устаткування машини; введення програм або їх частин; оперативне виконання робіт, статистичний облік використовуваного устаткування і витрати машинного часу; виведення інформації. Чіткий розподіл функцій між окремими програмами операційної системи і однозначна термінологія до 1974 ще не склалися. Програми введення програм і їх частин зазвичай називають завантажувачами, програму попереднього планерування ходу робіт — планувальником (інколи монітором), програму оперативного управління роботами — диспетчером (інколи супервізором). Останні програми в різних системах М. о. мають різні назви.
Склад операційної системи і внутрішня структура її програм в значній мірі залежать від так званої конфігурації ЦВМ(цифрова обчислювальна машина), тобто від вхідного в її склад устаткування (ЦВМ одного і того ж типа можуть відрізнятися числом блоків пам'яті на магнітних дисках і магнітних стрічках, кількістю пристроїв введення і виводу і іншим) і його функціональних взаємозв'язків, а також від класу завдань, для вирішення яких головним чином призначається ЦВМ(цифрова обчислювальна машина), і від режиму її використання. Найбільш відомі операційні системи призначені для вирішення науково-технічних і економічних завдань.
Засобами для підтримки системи М. о. в робочому стані служать програми дублювання матеріалів на машинних носіях запису, формування бібліотек підпрограм, програми виконання «щоденного туалету» операційної системи (наприклад, «чищення» магнітних стрічок і дисків, редагування інформації) і тому подібне. До цього ж розділу М. о. відносяться програми, за допомогою яких на початку експлуатації ЦВМ(цифрова обчислювальна машина) отримують деякий варіант інформаційної системи відповідний наявній конфігурації ЦВМ(цифрова обчислювальна машина), і вносять зміни до операційної системи у зв'язку із зміною конфігурації ЦВМ(цифрова обчислювальна машина) або при модернізації операційної системи.
Засоби програмування об'єднують всілякі програми, використовувані для складання нових програм: транслятори з різних алгоритмічних мов; програми, що збирають програми з так званих модулів; програми, що автоматизують відладку програм, що знов розробляються, та інші.
Система засобів програмування передбачає зазвичай використання алгоритмічних мов (так званих вхідних мов програмування) трьох рівнів: машинно-орієнтованих мов (типа мови асемблера); проблемно-орієнтованих алгоритмічних мов, зручних для програмування вузьких класів завдань (наприклад, мова RPG, прийнята для ЦВМ(цифрова обчислювальна машина) фірм IBM, ICL і багато інших); одного або декількох універсальних алгоритмічних мов, таких, як алгол, фортран, кобол. Можливість відладки на ЦВМ(цифрова обчислювальна машина) програм, заданих на алгоритмічних мовах, має бути закладена або в самих трансляторах, або забезпечена за допомогою самостійних налагоджувальних програм.
Система засобів програмування ЦВМ(цифрова обчислювальна машина) третього покоління, як правило, грунтується на модульному принципі. Модулями називаються масиви інформації, задані на алгоритмічній мові обчислювальної системи або на вхідній мові програмування. Масиви, задані на вхідних мовах програмування, повинні містити інформацію, необхідну для їх перетворення в модулі. Програму, що збирає програми з модулів, інколи називають «композером». У складі операційної системи інколи передбачають бібліотеку модулів (на мові виконавської системи). Нові модулі, складені в процесі програмування, можуть бути включені до складу бібліотеки модулів за допомогою відповідної програми з числа засобів підтримки системи М. о.
В розділ «додатка» системи М. о. входять програми вирішення конкретних завдань, наприклад таких, як транспортне завдання, завдання вирішення системи лінійних рівнянь, розподільне завдання лінійного програмування завдання вирівнювання динамічних рядів і ін. Програми, що входять в «додатки», зазвичай групуються по класах завдань (наприклад, пакет лінійної алгебри, пакет математичної статистики та інші).
Існують два способи розробки загального М. о. При першому способі М. о. розробляється і відлагоджується на допоміжній ЦВМ(цифрова обчислювальна машина), на якій для цього програмно моделюється виконавча ЦВМ(цифрова обчислювальна машина). Цей спосіб зручний тим, що М. о. можна розробляти завчасно, у відсутності виконавчої ЦВМ(цифрова обчислювальна машина). Проте при цьому необхідна наявність достатньо потужною допоміжною ЦВМ(цифрова обчислювальна машина), такою, що вже має М. о. При другому способі М. о. розробляють вже після появи хоч би дослідного зразка виконавчої ЦВМ(цифрова обчислювальна машина). Розробка М. о. ведеться так, щоб вже наявні частини М. о. могли бути використані при створенні бракуючих частин. Економічно вигідно при розробці нових ЦВМ(цифрова обчислювальна машина) зберігати в них систему команд ЦВМ(цифрова обчислювальна машина), розроблених раніше і М. о., що вже мають При цьому всі програми, розроблені для вже ЦВМ(цифрова обчислювальна машина), що діють, можуть бути використані і в новій ЦВМ(цифрова обчислювальна машина), якщо остання укомплектована достатнім устаткуванням.
М. о. розміщується в ЦВМ(цифрова обчислювальна машина) таким чином. Основна частина диспетчера-програми (називається резидентом) зазвичай знаходиться в оперативній пам'яті ЦВМ(цифрова обчислювальна машина); останні частини диспетчера-програми і інші програми М. о. розміщуються в зовнішніх пристроях, що запам'ятовують. Можливі випадки пошкодження диспетчера-програми в процесі експлуатації ЦВМ(цифрова обчислювальна машина), тому в машині зазвичай зберігається легко доступна копія резидента. Оперативна пам'ять ЦВМ(цифрова обчислювальна машина) ділиться на 3 частини: область резидента, робоче поле, на яке в процесі роботи резидент викликає необхідні частини операційної системи (що не увійшли до складу резидента) із зовнішніх пристроїв, що запам'ятовують, і область користувачів, на якій розміщуються програми (або частини програм) вирішуваних завдань, вихідна інформація і отримувані результати. Значна частина зовнішніх пристроїв, що запам'ятовують, не зайнята матеріалами М. о., також є областю користувачів. Ефективне використання М. о. можливе лише у тому випадку, коли область користувачів досить велика, що можливо лише при великих об'ємах пам'яті ЦВМ(цифрова обчислювальна машина). Цю обставину необхідно брати до уваги при виборі ЦВМ(цифрова обчислювальна машина).
Спеціальне М. о. розробляється користувачами ЦВМ(цифрова обчислювальна машина) для вирішення своїх конкретних завдань з врахуванням всіх можливостей, що представляються загальним М. о. До складу спеціального М. о. можуть входити транслятори з нових мов (що не входять в загальне М. о.), розроблені користувачем додаткові програми контролю ЦВМ(цифрова обчислювальна машина), програми вирішення окремих завдань або класів завдань і тому подібне Як виняток, до складу М. о. можуть входити програми, доповнюючі операційну систему. У особливих випадках програми, що входять до складу спеціального М. о., розробляють безпосередньо на мові машини, для того, щоб виключити використання операційної системи. Це роблять тоді, коли до програм, що розробляються, пред'являються високі вимоги, яким операційна система не задовольняє.
Літ.: Ледлі Р. С., Програмування і використання цифрових обчислювальних машин переклад з англійського, М., 1966; Флорес А., Програмне забезпечення, переклад з англійського, М., 1971; Джермейн До. Б., Програмування на Ibm-360, переклад з англійського, М., 1971; Ліпаєв Ст Ст, Колін До. До., Серебровський Л. А., Математичне забезпечення керівників ЦВМ(цифрова обчислювальна машина), М., 1972; Віленкин С. Я., Трахтенгерц Е. А., Математичне забезпечення обчислювальних машин, що управляють, М., 1972; Тарганів До. Ст, Загальні принципи і структура математичного забезпечення автоматизованих систем управління в збірці: Цифрова обчислювальна техніка і програмування, ст 7, М., 1972.