Гарантия обслуживания
Динамическая связь очереди и процесса
Статическая связь очереди и процесса
Для каждого класса процессов создается очередь, готовых к выполнению работ, в каждом классе вводится диспетчерский приоритет. При освобождении процессора диспетчер выбирает из не пустой очереди процесс с максимальным приоритетом. Каждая очередь обслуживается по стратегии FCFS. В некоторых системах создается несколько очередей для выполнения пакетных процессов.
Пакетные процессы всегда помещаются в очередь с наименьшим приоритетом, реального времени - с наивысшим.
Во время выполнения процесса появляется новая информация о процессе. Она используется для организации динамической связи очереди и процесса. Очередь с динамической связью = очереди с обратной связью. Эти стратегии используют несколько очередей, готовых к выполнению. На процессор устанавливается новый процесс из не пустой очереди с наивысшим приоритетом. Процессору в любой очереди выделяется квант процессорного времени.
|
|
ЭВМ ВДР (0 – 3 очередь):
Для 1 очереди – 0,2 сек FIFO
Для 2 очереди – 0,25 с FIFO
Для 3 очереди – 2 сек RR.
Процессу разрешается по одному разу войти в первую и вторую очереди, затем в 3-ю, где обслуживается циклически.
Если процесс не завершился, он помещается в конец очереди с более низким приоритетом. Процесс может попасть в конец очереди с наименьшим приоритетом.
Самое жесткое требование – это гарантированное завершение процесса к указанному времени или за определенный период. Могут использоваться стратегии для привилегированных пользователей.
Диспетчеризацию можно организовать используя очередь в порядке возрастания временных ограничений.
Способы гарантирующие обслуживание:
1) выделять минимальную долю процессорного времени некоторому классу процессов, если по крайней мере один из них готов к выполнению
2) выделять минимальную долю процессорного времени некоторому конкретному процессу, если он готов к выполнению
3) выделять столько процессорного времени конкретному процессу, чтобы он выполнил необходимые действия к сроку.
(выполняется один раз в отличие от диспетчеризации)
Основная функция – управление виртуальными процессами. Стратегии планирования похожи на стратегии диспетчеризации.
При выделении памяти, устройств, файлов планировщик может использовать стратегии (FCFS, SjN).
Возможные подходы:
- увеличение приоритета работы, когда она оказывается менее срочной, чем другие
- максимально возможное количество игнорирования работы
- учет старения работы
Если стратегия учитывает только ресурсы затребованные работой, то это стратегия м.б. необъективной.
Планировщику и диспетчеру необходимо координировать действий при наличии свопинга.
Для правильного функционирования ОС необходимо взаимодействие между диспетчером, выполняющимся процессором и подсистемой в/в.