2.2.5 Переключение контекста
2.2.5 Переключение контекста
Смена выполняемого процесса вместе с соответствующими
действиями называется переключением
контекста.
В случае типичного кругового алгоритма, при изменение
статуса процесса планировщик ОС выполняет две операции:
-
Инициализирует системный таймер, чтобы
сгенерировать прерывание по истечению определённого промежутка времени
-
Проводит переключение контекста
При переключении контекста запрещаются
прерывания, сохраняются такие данные текущего процесса, как счётчик команд,
значения регистров процессора из соответствующих полей блока управления, а
состояние процесса меняется с "запущен" (Execution) либо на
"заблокирован" (Blocked), либо на "готов к исполнению"
(Ready). Затем планировщик ОС выбирает для запуска новый процесс, использует
блок его управления, передаёт ему очередь на запуск. При этом значение счётчика
команд и контекстные данные нового процесса загружаются в соответствующие
регистры процессора, вновь разрешаются прерывания, а затем запускается и сам
процесс.