Операционные системы. Курс лекций

       

Планирование в системах реального времени


В системах реального времени главным критерием эффективности является обеспечение временных характеристик вычислительного процесса. Любая система реального времени должна реагировать на сигналы управляемого объекта в течение заданных временных ограничений. Задача облегчается тем, что в системе реального времени известен набор выполняемых задач, а также имеется информация о времени выполнения задач, моментах активации, о допустимых сроках ожидания ответа и т.д.

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

В жестких системах реального времени время завершения выполнения каждой из критических задач должно быть гарантировано для всех возможных сценариев работы системы.

В мягких системах реального времени предполагается, что заданные временные ограничения могут наращиваться, поэтому здесь применяется менее затратные способы планирования.

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

1)    прерывание от таймера, сигнализирующее, что время, отведенное активной задаче на выполнение, закончилось; планировщик переводит задачу в состояние готовности и выполняет перепланирование.

2)    активная задача выполнила системный вызов, связанный с запросом на ввод/вывод и на доступ к ресурсу, который в настоящий момент занят; планировщик переводит задачу в состояние ожидания и выполняет перепланирование.

3)    активная задача выполнила системный вызов, связанный с освобождением ресурса; планировщик проверяет не ожидает ли этот ресурс какая-либо задача, если да, то эта задача переводится из состояния ожидания в состояние готовности.

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

5)    внутреннее прерывание сигнализирует об ошибке, которая произошла в результате выполнения активной задачи; планировщик снимает задачу и выполняет перепланирование.

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



Содержание раздела