Принципы диспетчеризации процессов, страница 2

J

СПП

+1 при поступлении сигнала

прерывания

1

2

i

n

1

1

0

...

1

...

1

2

1

1

...

0

...

0

ТР

j

1

0

...

1

...

0

ТРj

m

1

1

...

0

...

0

САП

1

1

...

1

...

0

&

 

СВП

1

0

...

1

...

0

просмотр

СВП

1

НА    П1

2

НА   П2

ТНАП

i

НА   Пi

ТНАПi

n

НА   Пn

П1

...

Пi

...

Пn

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

Элементами ТР являются двоичные переменные, принимающие значения 0 или 1. Наличие "1" означает необходимость запуска программы в данном первичном периоде "0"-пропуск этой программы. Частота расположения единиц в столбцах ТР определяется периодом запуска соответствующей программы.

Для блокировки выполнения некоторых второстепенных программ, при перегрузке УС, а также для разрешения или запрета запуска программ, служит слово активности программ САП. Конкретный набор программ запускаемых в данный первичный период определяется словом выполнения программ (СВП), как: <СВП>=<САП>&<ТРi>.

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

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

n запуск любой программы ПОУ осуществляется только при условии, что имеется хотя бы одна заявка на выполнение данной программы. Этот факт определяется наличием единицы в соответствующем разряде поля заявок ПЗ, которое играет роль САП

n диспетчер ДПОУ работает без обращения к ДП, поэтому переход с одной строки на другую в ТР осуществляется по мере выполнения всех программ текущего первичного периода (СПП=СПП+1)

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