Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать
    1. Моменты перепланировки. Вытеснение

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

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

  • Выполнение активным процессом системного вызова, связанного с запросом на ввод-вывод или на доступ к ресурсу, который в настоящий момент занят. Планировщик переводит задачу в состояние ожидания и выполняет перепланирование.

  • Выполнение активным процессом системного вызова, связанного с освобождением ресурса. Планировщик проверяет, не ожидает ли этот ресурс какой-либо процесс. Если да, то он переводится из состояния ожидания в состояние готовности. При этом возможно, что процесс, получивший ресурс, имеет более высокий приоритет, чем активный процесс. После перепланирования более приоритетный процесс получает доступ к процессору, вытесняя текущий.

  • Внешнее (аппаратное) прерывание, которое сигнализирует о завершении периферийным устройством операции ввода-вывода, переводит соответствующий процесс в очередь готовых процессов, и выполняется планирование.

  • Внутреннее прерывание сигнализирует об ошибке, которая произошла в результате выполнения активного процесса. Планировщик снимает процесс и выполняет перепланирование.

Таким образом, необходимость в планировании центрального процессора может возникнуть в следующих четырех ситуациях:

  • Когда процесс переходит из состояния «выполняемый» в состояние ожидания, например, вследствие запроса ввода-вывода или ожидания завершения порожденного процесса.

  • Когда процесс переходит из состояния «выполняемый» в состояние «готовый», например, при исчерпании кванта времени (прерывание по таймеру).

  • Когда процесс переходит из состояния ожидания в состояние «готовый», например, завершился запрос ввода-вывода.

  • Когда процесс завершился.

Если система построена так, что перепланирование выполняется только в первой и четвертой ситуациях, то такая схема планирования называется схемой планирования без вытеснения. В противном случае схема называется схемой планирования с вытеснением процессов. В первом случае, однажды получив процессорное время, процесс продолжается до тех пор, пока не завершится или не перейдет в состояние ожидания. Этот метод может применяться на любой аппаратной платформе, поскольку не требует никакой специальной аппаратуры, например, таймера, необходимой для реализации схемы с вытеснением.

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

При переключении центрального процессора с одного процесса на другой требуется сохранение состояния старого процесса и загрузка ранее сохраненного состояния нового. Эта задача носит название переключения контекста. Время переключения контекста относится к накладным расходам, поскольку никакой полезной работы в это время не выполняется. Скорость переключения различна в разных системах и обычно составляет от 1 до 1000 микросекунд.

Рисунок 7.14 – Действие ОС при переключении контекста

Время переключения контекста сильно зависит от оборудования. В некоторых процессорах даже имеется несколько комплектов регистров (DECSYSTEM-20). В этом случае переключение контекста сводится к изменению указателя на текущий комплект. Конечно, если в системе имеется больше процессов, чем комплектов регистров, то все равно приходится копировать содержимое регистров в память, и, наоборот, восстанавливать их содержимое.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]