Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AOS_otvety_1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.29 Mб
Скачать
  1. Квантование – каждому потоку последовательно выделяется квант процессорного времени.

Смена потоков происходит при:

- поток завершился и покинул систему

- произошла ошибка

- поток перешел в заблокированное состояние

- поток исчерпал свой квант (переходит в состояние готовности)

Кванты бывают:

- одинаковые для всех потоков.

- разные

Длина кванта – q. Количество потоков – n. Поток ждет (n-1)*q времени. Чем больше потоков, тем больше ждет, но если квант достаточно маленький – это время ожидания все равно не заметно для пользователя. Обычно оно составляет десятки миллисекунд.

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

Кванты для одного потока бывают:

- фиксированной величины

- изменяться в течение жизни потока. (Например, сначала дают большой квант, а потом все меньше и меньше. Короткие задачи выполняются сразу, а длинные вычисления идут в фоновом режиме.)

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

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

  1. Алгоритмы планирования, основанные на приоритетах

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

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

Приоритет может быть целым, дробным, положительным, отрицаетельным, чем меньше – тем больше, чем больше – тем меньше и тд, в разных системах.

Приоритет потока непосредственно связан с приоритетом процесса, который назначался ему системой при его создании. Система при создании процесса, анализирует, системный он или пользовательский, каковы права пользователя, создавшего его, были ли явные указания на повышение приоритета – и на основании этого назначает потоку определнный приоритет.

Приоритеты бывают:

- фиксированные (один раз назначен – и до конца процесса не меняется)

- динамические (меняются в течение жизни потока)

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

- по инициативе самого потока (обращается с вызовом к ОСи);

- по инициативе ОС в зависимости от ситуации в системе.

Приоритетное обслуживание бывает:

- с относительными приоритетами

Поток выбран и исполняется, хот гром греми.

Подходит для систем пакетной обработки

- с абсолютными приоритетами

Поток исполняется, пока в очереди не появится процесс с более высоким приоритетом.

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

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