2.2.5 Переключение контекста

iDevice ikoon 2.2.5 Переключение контекста

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

В случае типичного кругового алгоритма, при изменение статуса процесса планировщик ОС выполняет две операции:

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