Как уже говорилось выше, важнейшей функцией операционной системы является организация рационального использования ресурсов. Располагающая одними и теми же аппаратными ресурсами, но управляемая различными операционными системами, вычислительная система может работать с совершенно различной эффективностью.
Знание внутренних механизмов операционной системы позволяет косвенно судить о ее удобстве, эффективности и характеристиках.
Проблемы управления ресурсами необходимо решать и в однопрограммных операционных системах (распределение памяти между системой, резидентами и приложением, распределение прерываний и т. д.), однако, в полный рост эти проблемы встают в мультипрограммных операционных системах. Здесь за ресурсы конкурируют сама система и несколько приложений. Поэтому большая часть задач управления ресурсами относится именно к мультипрограммным системам.
Мультипрограммирование или многозадачность (multitasking) – это способ организации вычислительного процесса, при котором на одном процессоре поочередно выполняется несколько программ. Эти одновременно выполняемые программы совместно используют процессор и все остальные ресурсы компьютера – оперативную и внешнюю память, устройства ввода-вывода, данные и т. д. Считается, что мультипрограммирование повышает эффективность использования вычислительной системы, однако само понятие эффективности часто понимается по-разному.
Типичными критериями эффективности таких систем являются [4]:
- пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени,
- удобство работы пользователей, заключающееся в возможности пользователя одновременно работать на одной машине с несколькими приложениями,
- реактивность системы – способность системы выдерживать заранее заданные интервалы времени между запуском программы и получением результата.
В зависимости от выбранного критерия эффективности операционные системы делятся на
- системы пакетной обработки,
- системы разделения времени и
- системы реального времени.
Системы каждого типа имеют специфические механизмы и специфические области применения. Бывают комбинированные системы, в которых, например, часть задач выполняется в пакетном режиме, а часть в режиме разделения времени.