Мультипрограммный режим работы

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

В режиме мультипрограммирования в основной памяти одновременно находится несколько программ, загруженных для выполнения. Число одновременно выполняемых программ определяет уровень мультипрограммирования. Центральный процессор в каждый момент времени может выполнять лишь одну из программ. Таким образом, параллельно выполняемые программы конкурируют между собой за обладание ресурсами вычислительной системы и в первую очередь за время центрального процессора. Каждая программа представляется в системе как задача (процесс). Таким образом, принято говорить об одновременно выполняемых задачах (или процессах), основой которых являются соответствующие программы, причем задача является единицей мультипрограммирования.

Задача, обладающая в текущий момент центральным процессором, называется активной. Она выполняется до тех пор, пока не окажется в состоянии ожидания какого-либо события (например, завершения операции ввода-вывода) или не будет прервана по каким-либо причинам операционной системой. Остальные задачи (кроме активной) находятся в состоянии готовности использования центрального процессора, либо ожидания какого-либо события (завершения операции ввода-вывода, истечения заданного интервала времени, завершения выполнения какой-либо программы и т.д.). После перевода активной задачи в состояние ожидания выбирается одна из готовых для выполнения задач, которая становится активной.

Программы, одновременно претендующие на использование центрального процессора, в мультипрограммном режиме упорядочиваются по приоритетам. В случае конфликтов управление получает программа с наивысшим приоритетом. Она переводится в активное состояние. Остальные конкурирующие программы, находящиеся в состоянии готовности, получают управление, если программы с более высокими приоритетами окажутся в состоянии ожидания.

Основой мультипрограммирования является совмещение операций центрального процессора с операциями ввода-вывода. Такое совмещение возможно в связи с тем, что центральный процессор не занимается выполнением операций ввода-вывода, а только инициирует их. После этого операции ввода-вывода выполняются каналами или процессорами ввода-вывода по самостоятельным программам параллельно с другими каналами и центральным процессором.