Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС лекции.docx
Скачиваний:
10
Добавлен:
27.11.2018
Размер:
56.79 Кб
Скачать

Планирование и диспетчеризация потоков.

Наиболее критическим ресурсом любой системы – время процессора. В многопроцессорных системах задача управления ими усложнена. Для управления временем процессора используется два модуля ОС – Планирование и Диспетчеризация.

Планирование – формирование очереди процессов, готовых к выполнению.

Диспетчеризация – выбор процессора и его времени для процесса, готового к выполнению.

Часто процедура обслуживания очереди процессов и выбора процессора выполняется 1 модулем – планировщик-диспетчер. Системы реального времени представляют особый случай.

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

Планирование организует работу каждого вида. Планирование определяет, какому процессу будет выделен квант времени и размер этого кванта.

Возможно использование очереди с приоритетами: к каждому процессу в очереди ставится в соответствие некоторый приоритет (целое число). Приоритет определяется статическими и динамическими характеристиками процесса. К статическим хар. относятся: необходимый размер памяти и ожидаемое процессом время, а также ожидаемый объем ввода-вывода. Приоритет, назначаемый пользователем также определяется статическими характеристиками.

Динамические характеристики – изменения при выполнении программы. На них влияет поведение процесса при предыдущем выделении кванта времени процессора. Приоритет может быть временно увеличен, если приложение выполнило запрос ввода-вывода либо приложение стало приложением переднего плана.

Изменение динамич. приоритета чаще всего происходит в сторону увеличения на несколько квантов времени.

Системные процессы имеют такой же приоритет, что и пользовательские, за исключением процессов внешних устройств.

Необходимо учитывать показатели производительности, малое время простоя, обоснованное время ожидание заданий пользователя.

В случае пустой очереди ОС имеет холостой процесс, запускаемый в данном случае.

В ОС Виндоус используется 32 уровня приоритета. Процессы могут выполнятся параллельно. В некоторых ОС приоритет меняется в диапазона 0 – 255.

Диспетчеризация имеет несколько дисциплин:

  1. Бесприоритетные - линейные (в порядке очереди, случайный выбор процесса), циклические (циклический алгоритм, многоприоритетный циклический алгоритм)

  2. Приоритетные – с динамическим приоритетом (приоритеты, зависящие от времени ожидания, зависящие от времени обслуживания), с фиксированным приоритетом (абсолютный, относительный приоритеты, адаптивное обслуживание, многоприоритетный циклический алгоритм).

Самой простой в реализации дисциплиной является дисциплина FIFO. Если процессы при выполнении были заблокированы, то после перехода в состояние готовности ставятся в эту очередь. Возможны 2 вар:

1)заблокированный процесс ставится в конец очереди

2)перемещение перед теми задачами, которые не выполнялись.

лекция 7

Планирование

Циклическое планирование – после завершения кванта времени, если процесс не завершен, ставится в очередь. Для выполнения процесс выбирается из головы очереди. При циклическом планировании имеет размер значение размер кванта времени процессора. Если его величина велика, то последним в очереди поцессам приходится слишком долго ожидать своего выполнения. Сокращение квантова времени улучшает обслуживание более коротких процессов. Выбор слишком малого значения кванта времени может привести к тому, что размер кванта станет соразмерным со временем, необходимым для переключения процесса. Такая ситуация увеличивает накладные расходы времени на переключенне.

ПЛАНИРОВАНИЕ с использование очереди с обратной связью.

В очередь помещается процесс №1. Такой процесс становится в очередь №2. Если при выдачи канта времени он не завершится, то перейдет в очередь №3. Планировщик выделяет процессорное время процессам, находящимся в очереди с наименьшим номером. В таком случае, наивысший приоритет имеют процессы в очереди №1(новые процессы).Если очередь новых процессов иссякает, то тогда квант времени выделяется процессам из 2-ой очереди. Для организации и работы нескольких очередей необходимы дополнительные затраты ресурсов. Обычно для сокращения потерь следующая очередь может выбираться не тогда, когда предыдущая очередь опустеет, а по истечению фиксированного кол-ва квантов времени.