Лекция: Многоуровневая очередь
Поскольку процессы в системе могут иметь различную специфику (например, пакетные и интерактивные), на практике в операционных системах очередь готовых к выполнению процессов делится на две очереди:
- основная (интерактивные процессы)
- фоновая (пакетные процессы).
Каждая очередь имеет свой собственный алгоритм диспетчеризации: основная –RR, фоновая – FCFS.
При данной смешанной стратегии необходима также диспетчеризация между очередями, т.е. стратегия выбора процессов из той или иной очереди. Различаются следующие виды диспетчеризации между очередями:
- С фиксированным приоритетом — обслуживание всех процессов из основной очереди, затем – из фоновой. При этом имеется вероятность «голодания».
- Выделение отрезка времени– каждая очередь получает некоторый отрезок времени ЦП, который она может распределять между процессами; например, 80% — на RR в основной очереди; 20% на FCFS в фоновой очереди.
На рис. 11.11 приведен реалистичный пример структуры многоуровневой очереди для диспетчеризации процессов. Наивысший приоритет имеют системные процессы, далее – интерактивные, еще меньший – интерактивные с вызовами текстовых редакторов (они занимают значительно больше времени из-за медленной работы пользователей); затем следуют пакетные и, наконец, студенческие процессы. Такова реальная ситуация, хотя автор и не считает справедливым «дискриминацию» студенческих процессов: возможны ситуации, когда именно им следует отдавать наивысший приоритет после системных – например, незадолго до защит дипломных работ.
Рис. 11.11.