Управляющая программа — обязательный компонент любой операционной системы. Ее функции — планирование прохождения непрерывного потока заданий, управление распределением ресурсов, реализация принятых методов организации данных, управление операциями ввода-вывода, организация мультипрограммной работы, управление работоспособностью системы после сбоев и ряд других.
Управляющая программа состоит из ряда компонентов, среди которых следует выделить четыре основных: управление статическими ресурсами (управление заданиями), управление динамическими ресурсами (управление задачами), управление данными, управление восстановлением.
Управление статическими ресурсами (управление заданиями) осуществляет предварительное планирование потока заданий для выполнения и статическое распределение ресурсов между одновременно выполняемыми заданиями в процессе подготовки к выполнению (инициализации). К таким ресурсам обычно относят разделы памяти (основной, виртуальной, внешней), доступные для использования заданием, устройства, допускающие только монопольное использование, наборы данных и ряд других. Такие ресурсы закрепляются за заданием или его частью с момента его инициализации до момента завершения и используются обычно в монопольном режиме.
Управление динамическими ресурсами (управление задачами) осуществляет динамическое распределение ресурсов системы между несколькими задачами, решаемыми одновременно в мультипрограммном режиме для выполняемого потока заданий. Эти функции выполняют программы супервизора, которые входят в ядро операционной системы, постоянно находящееся в оперативной памяти.
Управление данными обеспечивает все операции ввода-вывода (обмена между оперативной памятью и периферийными устройствами) на физическом и логическом уровнях. Оно включает в себя ряд служб, обеспечивающих выполнение таких функций, как управление каталогом, управление распределением памяти прямого доступа, обработку ошибок ввода-вывода и т. д. Они реализуют различные структуры данных и возможность доступа к ним.
Управление восстановлением регистрирует машинные сбои и отказы и восстанавливает работоспособность системы после сбоев, если это возможно.