Режим мультипрограммной пакетной обработки
При обработке программ в однопрограммном пакете поочередно работают две системы: процессор и система ввода/вывода. Дальнейшее повышение производительности ЭВМ связано с организацией их параллельной работы.
Многопрограммные варианты пакетной обработки получили название "режимы мультипрограммирования".
Цель этих режимов – минимизация простоев процессора при обработке пакета программ.
Стратегия одного из режимов мультипрограммирования – режима классического программирования – заключалась в следующем.
Часть первых программ в пакете получают статус “задача”. Это программы, которые выбраны для выполнения. Некоторые из этих программ могут находиться в состоянии “ожидание”. Это задачи, для которых производится загрузка данных или сохранение результатов. Другие могут находиться в состоянии “счет”. Это задачи, для которых загружены данные и они готовы к обработке на процессоре. Часть из них находится в стадии выполнения процессором. Остальные задачи этой группы ожидают освобождения процессора в очереди на обработку.
Для сохранения результатов после состояния «счет» задачи переходят в состояние “ожидание”. Это возможное ожидание освобождения соответствующего периферийного устройства для сохранения результатов работы программ-
мы на внешних носителях.
Таким образом, производится совмещение процедур обработки данных с
их загрузкой и сохранением. Возможности мультипрограммной обработки определяются архитектурными особенностями ЭВМ и используемой операционной системой. В системе ЕС-ЭВМ операционная система DOC обеспечивала режим мультипрограммной обработки до 3-х программ пакета, операционная система ОС – до 15.
На рис. 1.28 представлена временная диаграмма выполнения трех программ в режиме классического мультипрограммирования. На этом рисунке цифрами обозначены номера выполняемых программ.
Рис. 1.28. Временная диаграмма классического мультипрограммирования
Временная диаграмма представлена с момента времени t0, когда все программы пакета находятся в состоянии “счет”. С этого момента процессор начинает выполнение первой из этих программ (на рисунке принадлежность линий диаграмм к конкретным задачам помечена цифрами).
Как правило, выполнение программ начинается процедурой ввода программы из внешней памяти по специальной команде “начать ввод/вывод” с указанием программы ввода/вывода. Саму программу ввода/вывода выполняет не процессор, а специализированные программно-управляемые устройства ввода/вывода (каналы).
В момент t1 (рис 1.28) процессор инициализирует процедуру ввода/вывода по первой команде для задачи 1. Операция ввода/вывода выполняется каналом (специализированным процессором) по программе ввода/вывода без участия центрального процессора, задача 1 на время выполнения программы ввода/вывода переходит в состояние "ожидание" до окончания операции ввода/вывода, а процессор переходит к выполнению команд следующей программы в состоянии “задача”. На рис. 1.28 – это задача 2.
В момент t2 процессор по команде программы 2 включает операцию ввода/вывода и задача 2 переходит в состояние ожидания в очередь за задачей 1.
В момент t3 процессор по команде программы 3 включает операцию ввода/вывода, задача 3 переходит в состояние ожидания в очередь за задачей 2. Это момент когда все задачи ожидают окончания операции ввода/вывода. Процессор также переходит в состояние ожидания. В момент t4 оканчивается операция ввода/вывода задачи 1. Процессор узнает этот момент по сигналу прерывания от устройства ввода/вывода. Задача 1 первая возвращается в состояние «счет» и процессор переходит к обработке ее команд.
В моменты t5 и t6 заканчиваются операции ввода/вывода для задач 3 и 2 и эти задачи переходят в состояние "ожидание" в ожидании освобождения процессора.
В момент t7 по команде задачи 3 процессор включает операции ввода/вывода для задачи 3 и переходит к обработке команд задачи 2, как первой задачи в очереди задач в состоянии “счет”.
В момент t9 заканчивается обработка задач 1 и 3. Они заменяются новыми задачами и обработка пакета продолжается.
Таким образом, в режиме классического мультипрограммирования процессор обрабатывает программы в порядке их готовности к счету.
Режим классического мультипрограммирования уменьшает время простоев процессора, но не предусматривает повышения качества обслуживания пользователей.
Дальнейшая модификация режима заключалась во введении приоритетов программ в пакете и циклического переключения программ.
Введение приоритетов (по параметрам программ с учетом соотношений времени ввода/вывода и процессорной обработки) было предназначено для упрощения работы программы планировщика пакетов, а циклическое переключение программ – для вывода процессора из зацикливаний.
Переключение задач на обслуживание процессором производилось:
· по команде окончания в программе,
· по команде обращения к устройствам ввода/вывода,
· по переходу в состояние «задача» программы с более высоким уровнем приоритета,
· по окончании тайм-аута обработки данной задачи.
Введение приоритетов программ позволило перейти к новому режиму работы ЭВМ – режиму разделения времени (режим коллективного доступа).
Дата добавления: 2021-01-26; просмотров: 444;