ВУЗ:
Составители:
Рубрика:
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
Так происходит, если все готовые процессы хотят работать.
