Мультипрограмування, або багатозадачність, - це спосіб організації обчислювального процесу, при якому на одному процесорі поперемінно виконуються відразу кілька програм. Ці програми спільно використовують не тільки процесор, але і інші ресурси комп'ютера: оперативну та зовнішню пам'ять, пристрої введення-виведення, дані. Мультипрограмування покликане підвищити ефективність використання обчислювальної системи, проте ефективність може розумітися по-різному. Найбільш характерними критеріями ефективності обчислювальних систем є: пропускна здатність; зручність роботи користувачів; реактивність системи.
Залежно, від обраного критерію ефективності ОС діляться на системи пакетної обробки, системи розділення часу і системи реального часу. Кожен тип ОС має специфічні внутрішні механізми і особливі області застосування. Деякі операційні системи можуть підтримувати одночасно кілька режимів.
Пакетна обробка використовується для досягнення максимальної ефективності використання ресурсів обчислювальної машини при виконанні обчислювальних задач шляхом збалансованої завантаження її компонентів. Завдання, які плануються до виконання, називаються пакетом. Перемикання між завданнями в пакетному режимі ініціюється виконується в даний момент завданням, тому проміжки часу виконання того чи іншого завдання не визначені.
Системи поділу часу використовуються для «одночасного» виконання декількох програм в інтерактивному режимі. На відміну від пакетного режиму, всі програми отримують певні часові проміжки часу для виконання, потім система ініціює перемикання. Кошти, виділені часові інтервали можуть бути рівними для всіх завдань, а можуть визначатися їх пріоритетами.
Системи реального часу призначені для управління від комп'ютера різними технічними об'єктами або технологічними процесами. У всіх цих випадках існує гранично допустимий час, протягом якого повинна бути виконана та чи інша керуюча об'єктом програма.