Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВТ_4 часть.doc
Скачиваний:
10
Добавлен:
16.09.2019
Размер:
550.91 Кб
Скачать

10.6. Организация мультипрограммного режима работы мпс.

Мультипрограммирование предназначено для повышения пропускной способности МПС путём более равномерной и плотной загрузки всего её оборудования и в первую очередь микропроцессора.

В

Выполнение программы А

Выполнение программы В

однопрограммном режиме программы выполняются последовательно друг за другом:

Прямоугольник обозначает ре- жим счёта МП, пауза – ожида- ние.

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

В

А В А В В А В

о время таких пауз МП может перейти к обработке другой готовой для выполнения программы:

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

Как видно из рисунка, общее время выполнения программ А и В при мультипрограммном режиме значительно меньше, чем при однопрограммном.

Однако паузы в работе МП сохранились.

Дальнейшее увеличение пропускной способности в рассматриваемом примере можно получить, увеличив число одновременно обрабатываемых программ (или коэффициент мультипрограммности).

Широко используемым приёмом повышения коэффициента мультипрограммности является распараллеливание программ.

Более того, за счёт распараллеливания и мультипрограммной обработки удаётся сократить время выполнения отдельной программы.

Таким образом, мультипрограммирование является также средством уменьшения времени выполнения заданного набора программ.

Практически за счёт мультипрограммирования можно повысить пропускную способность МП в 4-5 раз.

Для организации мультипрограммного вычислительного процесса необходимы следующие аппаратурные и программные средства.

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

Система прерывания программ дополняется специфическими функциями.

Например, если в однопрограммной системе произошло обращение к памяти по несуществующему для данной конфигурации адресу, то система остановится.

При мультипрограммной работе в подобных ситуациях должно останавливается выполнение только данной программы, но не система.

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

Далее, в одпрограммных системах маскирование какого-либо запроса прерывания обычно приводит к тому, что он запоминается до тех пор, пока запрещение прерывания не будет снято.

В мультипрограммных системах действие маски прерывания должно иметь избирательный характер: прерывания, которые должны воздействовать на какую-либо одну программу, при маскировании должны игнорироваться.

В противном случае они могут нарушить работу другой программы, в которой маска для данного прерывания снята.

Динамическое распределение памяти осуществляется между программами в ходе вычислительного процесса.

Защита памяти предотвращает непредусмотренное воздействие одной программы на другую путём запрета вторжения одних программ в области памяти других программ.

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

Привилегированные команды. В мультипрограммной системе часть команд может выполняться только супервизором. Такие команды называют привилегированными.

К привилегированным операциям относятся установка и изменение кодов защиты памяти, установка и изменение маски прерывания, останов МП, команды управления устройствами ввода-вывода и другие.

Появление привилегированной команды вызывает прерывание программы.

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

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

Организацию обработки пакета программ в мультипрограммном режиме схематично можно отобразить в следующем виде:

ОП

Пакеты программ и входные наборы данных

Ядро ОС