ВУЗ:
Составители:
Рубрика:
r1:=r;
While r1^.следующий <> r do
r1:= r1^. следующий;
{Цикл выполняет поиск в списке процессов дескриптора, который ссылается на удаляемый
процесс}
r1^. следующий:= r^. следующий;
{Операция, исключающая дескриптор удаляемого процесса из списка процессов}
Исключить имя (внешнее имя);
{процедура исключает из таблицы соответствия внешнее и внутреннее имена удаляемого
процесса}
If r <> текущий процесс then
Переключить контекст
else begin
Выбрать;
{Определяет следующий процесс, готовый к выполнению в списке процессов и ссылку на
него присваивает переменной “текущий процесс”}
Загрузить контекст (текущий процесс^.адрес стека);
Переключить контекст;
End.
Лекция 8. Управление процессами с учётом времени
Учет времени исполнения используется:
а) в специальных системах (исполнительных);
б) в системах общего назначения.
Существует два основных режима:
1) каждому процессу выделяется одинаковый квант времени;
2) различные кванты времени (в зависимости от важности и т. д.).
Допустим, что в состав ЭВМ входит таймер, и что он подключен к одному из входов,
на которые поступают запросы на прерывание. Таким образом, условимся, что сигнал от
таймера вызывает запись контекста в системный стек и загрузку в счётчик команд адреса,
хранящегося в векторе прерывания.
Назовём программу, определяющую этот вектор прерывания, программой предвари-
тельной обработки времени (ППОВ). Допустим, что таймер вырабатывает сигнал прерыва-
ния через каждые 2 мс, а нам нужен квант величиной 6 мс.
ППОВ в этом случае подсчитает количество прерываний от таймера. После каждого
третьего прерывания она должна вызывать диспетчер, чтобы он выполнил переключение
процесса.
Рис.4
Так происходит, если все готовые процессы хотят работать.
Pk
П
П
О
В
Pk
П
П
О
В
Pk
П
П
О
В
Pe
П
П
О
В
Pe
П
П
О
В
D
1-е прерывание
3-
2-е
Квант e
Квант k
r1:=r; While r1^.следующий <> r do r1:= r1^. следующий; {Цикл выполняет поиск в списке процессов дескриптора, который ссылается на удаляемый процесс} r1^. следующий:= r^. следующий; {Операция, исключающая дескриптор удаляемого процесса из списка процессов} Исключить имя (внешнее имя); {процедура исключает из таблицы соответствия внешнее и внутреннее имена удаляемого процесса} If r <> текущий процесс then Переключить контекст else begin Выбрать; {Определяет следующий процесс, готовый к выполнению в списке процессов и ссылку на него присваивает переменной “текущий процесс”} Загрузить контекст (текущий процесс^.адрес стека); Переключить контекст; End. Лекция 8. Управление процессами с учётом времени Учет времени исполнения используется: а) в специальных системах (исполнительных); б) в системах общего назначения. Существует два основных режима: 1) каждому процессу выделяется одинаковый квант времени; 2) различные кванты времени (в зависимости от важности и т. д.). Допустим, что в состав ЭВМ входит таймер, и что он подключен к одному из входов, на которые поступают запросы на прерывание. Таким образом, условимся, что сигнал от таймера вызывает запись контекста в системный стек и загрузку в счётчик команд адреса, хранящегося в векторе прерывания. Назовём программу, определяющую этот вектор прерывания, программой предвари- тельной обработки времени (ППОВ). Допустим, что таймер вырабатывает сигнал прерыва- ния через каждые 2 мс, а нам нужен квант величиной 6 мс. ППОВ в этом случае подсчитает количество прерываний от таймера. После каждого третьего прерывания она должна вызывать диспетчер, чтобы он выполнил переключение процесса. П П П П П П П П D П П О О О О О Pk В Pk В Pk В Pe В Pe В 1-е прерывание 2-е 3- Квант k Квант e Рис.4 Так происходит, если все готовые процессы хотят работать.