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

Используется как система квантования, так и система приоритетов. Например, в основе лежит квантование, но величина кванта и порядок выбора потока на исполнение определяется его приоритетами. Большинство ОС работают так.

  1. Приоритеты и концепции планирования потоков в Windows 2000, ос Unix System V и os/2. Система ос Unix System V Release 4

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

Потоков тут нет, планируем на уроне процессов.

Существует 3 класса процессов, в зависимости от их задач:

- класс реального времени

- класс системных процессов

- класс процессов разделения времени

Процессы системного класса

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

Процессы реального времени:

- стратегия фиксированных приоритетов, но пользователь может их менять.

- для каждого уровня приоритета процессов этого класса предусмотрен свой квант времени

- при наличии готовых к выполнению процессов реального времени, другие процессы не рассматриваются (поэтому их надо тщательно планировать)

Процессы разделения времени:

- долго были единственными в этой ОС, и по умолчанию любой процесс создается именно этого класса

- стратегия динамических приоритетов

- величина приоритета состоит из пользовательской и системной части:

* пользовательская часть может быть снижена пользователем или админом (не повышена)

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

Система os/2

Планирование на основе квантования и абсолютных динамических приоритетов

Существует 4 приоритетных класса:

- критический (time critical) – потоки, выполняющие задачи управления сетью и тд

- серверный (server) – обслуживают серверные приложения

- стандартный (regular) – обслуживают пользовательские программы

- остаточный (idle) – экранная заставка, например.

В каждом классе – 32 приоритетных уровня.

  • Поток из менее приоритетного класса не может быть выбран, пока есть поток более приоритетного класса.

  • Внутри класса потоки выбираются по приоритетам.

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

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

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

  • Поток ушел на ввод-вывод. Когда вернется – у него будет максимальный для своего класса приоритет

  • Поток поступил на выполнение

Величина кванта времени здесь тоже динамическая (зависит от загрузки системы и интенсивности подкачки) – от 32 мс до 65536 мс. Если поток был прерван до истечения кванта, то в след раз квант увеличится на 1 таймер (около 32 мс), и так пока не достигнет предела, прописанного в текущих настройках системы.

Система Windows 2000

Система с приоритетам и квантованием, вытесняющая многозадачность.

Приоритеты имеют 32 уровня (0- 31 включительно).

Делятся на 3 диапазона:

- 0 – системный поток для очистки страниц памяти. Готовит страницы памяти, нужен для виртуализации, для гарантированной защиты информации.

-1 – 15 вкл – диапазон динамических приоритетов (могут меняться в процессе работы в зависимости от параметров)

- 16-32 вкл – диапазон статических приоритетов (в процессе работы не меняются)

В зависимости от использования выделяется ряд классов приоритетов процессов:

  1. Фоновые потоки (Idle class ) – уровень 4

  2. – ниже нормального (Below normal class) – уровень 6

  3. Нормальный (Normal class) – уровень 8

  4. – выше нормального (Above normal class ) – уровень 10

  5. Высокий (High class) – уровень 13

___________________________

  1. Реальное время (Real time class)– уровень 24

2 и 4 появились начиная с Винды 2000;

Приоритет каждого потока = приоритет его процесса + относительный приоритет самого потока. Существует 7 относительных приоритетов потоков:

  • Normal: такой же как и у процесса;

  • Above normal: +1 к приоритету процесса;

  • Below normal: -1;

  • Highest: +2;

  • Lowest: -2;

  • Time critical: устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15.

  • Idle: устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.

Для процессов класса NORMAL_PRIORITY_CLASS при переключении из фонового режима в режим переднего плана и в ряде других случаев приоритет потока, с которым создано окно переднего плана, повышается. Так работают все клиентские операционные системы от Microsoft. Серверные операционные системы оптимизированы для выполнения фоновых приложений. 

К тому же Windows 2000 Professional и Windows 2000 Server имеют разные алгоритмы выделения квантов времени. Первая — клиентская — операционная система выделяет время короткими квантами переменной длины для ускорения реакции на приложения переднего плана (foreground). Для сервера же более важна стабильная работа системных служб, поэтому во второй ОС система распределяет длинные кванты постоянной длины.

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