Многопрограммный режим работы ЭВМ позволяет одновременно обслуживать несколько программ пользователей.
Реализация режима требует соблюдения следующих непременных условий:
• независимости подготовки заданий пользователями;
• разделения ресурсов ЭВМ в пространстве и
времени;
• автоматического управления вычислениями.
Независимость подготовки заданий пользователями
обеспечивается развитыми средствами САП. Используя имеющиеся языки
программирования, пользователи не должны учитывать ситуации, в которых может
произойти одновременное их обращение к одним и тем же ресурсам ЭВМ. Они могут
использовать даже одинаковые идентификаторы, обращаться к одним и тем же
библиотекам программ и массивам данных, задействовать одни и те же устройства и
т.д. Очереди к общим ресурсам должны обслуживаться средствами ОС, не создавая
взаимных помех пользователям.
Разделение ресурсов ЭВМ между программами
пользователей обеспечивается аппаратно-программными средствами системы.
Программы управления заданиями ОС определяют виды требуемых ресурсов в
заданиях пользователей и регламентируют их использование. Перспективное
планирование при этом отсутствует, так как заранее определить динамику
последующих вычислений практически невозможно. Отдельные виды ресурсов,
например области оперативной и внешней памяти, допускают одновременное их использование
программами пользователей. В этом случае пространство адресов памяти
разбивается на непересекающиеся зоны или разделы. "Охрану границ"
этих зон обеспечивают схемы защиты памяти - аппаратурные и программные
средства ЭВМ.
Некоторые виды ресурсов допускают только
последовательное их использование программами пользователей, например, в
однопроцессорной ЭВМ время работы единственного процессора является
неразделяемым ресурсом. Его использование предполагает упорядочение потока
заявок и поочередное его использование программами. В современных ЭВМ
упорядочение потока заявок обеспечивается на основе их приоритетов, где приоритет
- некоторая априорная характеристика заявки, определяющая ее место в очереди на
обслуживание. Формирование очередей обеспечивают программные компоненты ОС.
Обслуживание очередей заявок выполняется с использованием системы прерываний и
приоритетов. Последняя выделяет из группы одновременно поступающих заявок одну,
наиболее приоритетную.
Автоматическое управление вычислительным процессом
в многопрограммном режиме выполняется центральной программой управления задачами.
Сущность управления сводится к управлению ресурсами. При этом ОС составляет
таблицы управления, выделяет ресурсы, запускает их в работу и корректирует
таблицы.
Различные формы многопрограммных
(мультипрограммных) режимов работы различаются в
основном значимостью различного рода ресурсов и правилами перехода от
обслуживания одной программы пользователя к другой. Эти правила отличаются
условиями прерывания текущей программы и условиями выбора новой программы из
очереди, которой передается управление.
Различают следующие виды многопрограммной работы:
классическое мультипрограммирование, режим разделения времени, режим реального
времени и целый ряд производных от них.