Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лекция- Стратегии и критерии диспетчеризации процессов В лекции рассмотрены- планирование и диспетчериз

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 18.5.2024

11. Лекция: Стратегии и критерии диспетчеризации процессов

В лекции рассмотрены: планирование и диспетчеризация процессора; критерии диспетчеризации; стратегии диспетчеризации (FCFS, SJF, RR); многоуровневые очереди, диспетчеризация мультипроцессорных систем и систем реального времени.

Содержание

  •  Введение
  •  Основные понятия диспетчеризации процессов
  •  Планировщик процессора
  •  Собственно диспетчер процессора
  •  Критерии диспетчеризации
  •  Стратегия First-Come-First-Served (FCFS)
  •  Стратегия Shortest Job First (SJF)
  •  Предсказание длины следующего периода активности
  •  Диспетчеризация по приоритетам
  •  Стратегия Round Robin (RR)
  •  Многоуровневая очередь
  •  Многоуровневые аналитические очереди
  •  Планирование загрузки многопроцессорных систем
  •  Планирование загрузки процессоров в системах реального времени
  •  Планирование в Solaris
  •  Планирование в Windows 2000
  •  Ключевые термины
  •  Краткие итоги
  •  Набор для практики
    •  Вопросы
    •  Упражнения
    •  Темы для курсовых работ, рефератов, эссе

Введение

Планирование и диспетчеризация процессора – одна из важнейших функций операционной системы. В лекции рассмотрены следующие вопросы:

  •  Основные понятия диспетчеризации процессов
  •  Критерии диспетчеризации
  •  Алгоритмы диспетчеризации
  •  Диспетчеризация нескольких процессоров
  •  Диспетчеризация в реальном времени
  •  Многоуровневые очереди.

Основные понятия диспетчеризации процессов

Диспетчеризация процессора – распределение его времени между процессами в системе. Цель диспетчеризации – максимальная загрузка процессора, достигаемая с помощью мультипрограммирования.

Исполнение любого процесса можно рассматривать как цикл CPU / I-O – чередование периодов использования процессора и ожидания ввода-вывода.

Распределение периодов активности процессора (bursts) и ввода-вывода изображено на рис. 11.1.


Рис. 11.1.  Последовательность активных фаз процессора и фаз ввода-вывода.

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


Рис. 11.2.  Гистограмма периодов активности процессора.

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

Планировщик процессора

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

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

  1.  Переключается из состояния выполнения в состояние ожидания.
  2.  Переключается из состояния выполнения в состояние готовности к выполнению.
  3.  Переключается из состояния ожидания в состояние готовности.
  4.  Завершается.

Диспетчеризация типов 1 и 4 обозначается термином диспетчеризация без прерывания процесса (non-preemptive). 

Диспетчеризация типов 2 и 3 обозначается термином диспетчеризация с прерыванием процесса (preemptive).

Собственно диспетчер процессора

Диспетчер процессора – компонента ОС, предоставляющая процессор тому процессу, который был выбран планировщиком. Диспетчер выполняет последовательность действий:

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

Скрытая активность (латентность) диспетчера (dispatch latency) – время, требуемое для диспетчера, чтобы остановить один процесс и стартовать другой. Разумеется, система должна стремиться минимизировать это время, однако набор критериев диспетчеризации более сложен.

Критерии диспетчеризации

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

Использование процессора (CPU utilization) – поддержание его в режиме занятости максимально возможный период времени. Критерий оптимизации: максимизация данного показателя.

Пропускная способность системы (throughput) – (среднее) число процессов, завершающих свое выполнение за единицу времени. Критерий оптимизации: максимизация.

Время обработки процесса (turnaround time) – время, необходимое для исполнения какого-либо процесса. Критерий оптимизации: минимизация.

Время ожидания (waiting time) – время, которое процесс ждет в очереди процессов, готовых к выполнению. Критерий оптимизации: минимизация.

Время ответа (response time) – время, требуемое от момента первого запроса до первого ответа (данный показатель, как мы обсуждали ранее в лекции 1, наиболее важен для среды разделения времени). Критерий оптимизации: минимизация.

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

Стратегия First-Come-First-Served (FCFS)

Стратегия First-Come-First-Served (обслуживание в порядке поступления) – наиболее простая стратегия диспетчеризации, при которой ресурсы процессора предоставляются процессам в порядке их поступления (ввода) в систему, независимо от потребляемых ими ресурсов, в частности, от заявленного процессом времени, требуемого для его выполнения. При рассмотрении этой и других стратегий будем использовать диаграммы Ганта (Gantt charts) изображающие имена процессов и временные диапазоны их выполнения, выраженные в некоторых единицах времени.

Рассмотрим следующий пример. Пусть процессы P1, P2 и P3 введены в систему в указанном порядке со следующими периодами активности:

Процесс

Период активности

P1

24

P2

3

P3

3

Тогда при использовании стратегии FCFS для их диспетчеризации первым получит процессор первый процесс, несмотря на то, что он – наиболее долгий. Распределение процессора между процессами в данном случае изображено на рис. 11.3.


Рис. 11.3.  Схема диспетчеризации по стратегии FCFS (пример 1).

Таким образом, время ожидания для P1 = 0; P2= 24; P3 = 27.

Среднее время ожидания: (0 + 24 + 27)/3 = 17.

Если порядок процессов иной: P2 , P3 , P1 (последний введенный в систему процесс – самый долгий), то результат их диспетчеризации будет совершенно иным (рис. 11.4).


Рис. 11.4.  Схема диспетчеризации по стратегии FCFS (пример 2).

Время ожидания процессов в данном случае: P1 = 6; P2 = 0; P3 = 3.

Среднее время ожидания: (6 + 0 + 3)/3 = 3

Данный результат много лучше, чем в предыдущем случае.

Эффект, продемонстрированный первым примером, носит название эффекта сопровождения (convoy effect) – увеличение среднего времени ожидания процессов в случаях, если короткий процесс обслуживается после долгого процесса.

Стратегия Shortest Job First (SJF)

Стратегия Shortest Job First (SJF, обслуживание самого короткого задания первым) – стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь наиболее короткому процессу из имеющихся в системе.

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

Возможны две схемы применения данной стратегии:

  1.  Без прерывания процессов – пока процессу предоставляется процесс, он не может быть прерван, пока не истечет его квант времени.
  2.  С прерыванием процессов – если приходит новый процесс, время активности которого меньше, чем оставшееся время активного процесса, - прервать активный процесс. Эта схема известна под названием Shortest-Remaining-Time-First (SRTF).

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

Рассмотрим пример применения стратегии SJF без прерывания процессов. Пусть набор процессов, времен их появления в системе и времен их активности следующие:

Процесс

Время появления

Время активности

P1

0.0

7

P2

2.0

4

P3

4.0

1

P4

5.0

4

Схема их диспетчеризации по стратегии SJF без прерывания процессов приведена на рис. 11.5.


Рис. 11.5.  Схема диспетчеризации процессов по стратегии SJF без прерывания.

В данном случае среднее время ожидания = (0 + 6 + 3 + 7)/4 = 4.

Теперь применим к тем же процессам стратегию SJF с прерыванием и проанализируем, как изменится среднее время ожидания. Результат применения стратегии изображен на рис. 11.6.


Рис. 11.6.  Схема диспетчеризации процессов по стратегии SJF с прерываниями.

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

  •  в момент 2 прерывается процесс 1 и начинает исполняться более короткий процесс 2;
  •  в момент 4 прерывается процесс 2 и начинает исполняться более короткий процесс 3.

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

В данном случае среднее время ожидания = (9 + 1 + 0 +2)/4 = 3, т.е. оно, как и следовало предполагать, оказалось меньше, чем без применения принципа прерывания процессов.

Предсказание длины следующего периода активности

Попытаемся теперь предложить и применить формулы для предсказания следующего периода активности процесса. Подобные оценки помогли бы разработчикам ОС реализовать оптимальную стратегию диспетчеризации. Используем уже известные фактические длины предыдущих периодов активности и принцип экспоненциального усреднения. Пусть:

  •  tn – фактическая длина n-го периода активности процесса;
  •  τn – предсказанная длина n-го периода активности процесса.

Будем искать значение τn+1 для предсказания следующего периода активности процесса как следующую линейную комбинацию tn и τn:

τn+1 = tn + (1 – ) τn .

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

Пример предсказания следующего периода активности по приведенной формуле приведен на рис. 11.7.


Рис. 11.7.  Пример предсказания следующего периода активности.

При =0 τn+1 = τn, т.е. недавняя история не учитывается.

При =1 τn+1 = tn т.е. учитывается только фактическая длина последнего периода активности.

Если обобщить приведенную формулу, получим:

τn+1 = tn+(1 - ) tn -1 + … +(1 - )j tn -1 + … +(1 - ) n+1 tn τ0.

Поскольку и (1 - ) не превосходят 1, каждый последующий терм имеет меньший вес, чем его предшественник.

Диспетчеризация по приоритетам

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

Данная стратегия, как и предыдущая, имеет варианты с прерыванием и без прерывания.

Более того, стратегию SJF можно рассматривать как диспетчеризацию по приоритетам, в которой приоритетом является очередное время активности.

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

Традиционным способом решение данной проблемы в операционных системах является учет возраста процесса (aging): c течением времени приоритет процесса повышается системой.

Стратегия Round Robin (RR)

Стратегия Round Robin (RR, круговая система) – это предоставление всем процессам по очереди одинаковых квантов времени. Название стратегии происходит от названия популярной в США карточной игры.

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

Если всего имеется n процессов в очереди готовых к выполнению, и квант времени равен q, то каждый процесс получает 1/n процессорного времени порциями самое большее по q единиц за один раз. Ни один процесс не ждет больше, чем (n-1) q единиц времени.

Производительность данной стратегии зависит от коэффициента q:

  •  если q велико, то стратегия фактически эквивалентна стратегии FCFS;
  •  если q мало, то q должно быть большим, чем время контекстного переключения, иначе слишком велики окажутся накладные расходы на переключения с одного процесса на другой.

Рассмотрим пример применения стратегии RR. Пусть в системе имеются следующие процессы со следующими временами активности:

Процесс

Время активности

P1 

53

P2 

17

P3 

68

P4 

24

Схема диспетчеризации процессора по стратегии RR с квантом времени q = 20 приведена на рис. 11.8.


Рис. 11.8.  Пример применения стратегии RR (q = 20).

Обычно стратегия RR имеет худшее время оборота, чем SJF (так как каждый процесс должен ждать до предоставления следующего кванта времени, пока кванты времени будут предоставлены всем другим процессам), но лучшее время ответа.

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

Рис. 11.9.  Квант времени процессора и время переключения контекста.

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

Рис. 11.10. 

Многоуровневая очередь

Поскольку процессы в системе могут иметь различную специфику (например, пакетные и интерактивные), на практике в операционных системах очередь готовых к выполнению процессов делится на две очереди:

  •  основная (интерактивные процессы)
  •  фоновая (пакетные процессы).

Каждая очередь имеет свой собственный алгоритм диспетчеризации: основная –RR, фоновая – FCFS.

При данной смешанной стратегии необходима также диспетчеризация между очередями, т.е. стратегия выбора процессов из той или иной очереди. Различаются следующие виды диспетчеризации между очередями:

  •  С фиксированным приоритетом - обслуживание всех процессов из основной очереди, затем – из фоновой. При этом имеется вероятность "голодания".
  •  Выделение отрезка времени – каждая очередь получает некоторый отрезок времени ЦП, который она может распределять между процессами; например, 80% - на RR в основной очереди; 20% на FCFS в фоновой очереди.

На рис. 11.11 приведен реалистичный пример структуры многоуровневой очереди для диспетчеризации процессов. Наивысший приоритет имеют системные процессы, далее – интерактивные, еще меньший – интерактивные с вызовами текстовых редакторов (они занимают значительно больше времени из-за медленной работы пользователей); затем следуют пакетные и, наконец, студенческие процессы. Такова реальная ситуация, хотя автор и не считает справедливым "дискриминацию" студенческих процессов: возможны ситуации, когда именно им следует отдавать наивысший приоритет после системных – например, незадолго до защит дипломных работ.

Рис. 11.11. 

Многоуровневые аналитические очереди

Для более гибкой диспетчеризации процессов в операционных системах организуются многоуровневые аналитические очереди (multi-level feedback queues), в которых обслуживаются процессы нескольких классов, причем каждый из классов имеет различные кванты времени. Самый быстрый (приоритетный) класс процессов получает минимальный квант. Если процесс не завершается за этот квант времени, ОС перемещает его в очередь процессов другого класса с большей величиной кванта, и т.д. Если процесс не завершается и за самый большой из выделяемых системой квантов времени, ОС перемещает его в класс пакетных процессов, обслуживаемых по стратегии FCFS.

На рис. 11.12 приведен пример организации многоуровневой аналитической очереди с квантами времени 8 (очередь Q0) и 16 (очередь Q1) и пакетными процессами по стратегии FCFS (очередь Q2). Первоначально процесс помещается в очередь Q0; если он не завершается за 8 единиц времени, то он перемещается в очередь Q1; если не завершается и за 16 единиц времени – то перемещается в очередь Q2.

Рис. 11.12.  Многоуровневая аналитическая очередь.

Планирование загрузки многопроцессорных систем

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

Планирование загрузки процессоров в системах реального времени

Как уже отмечалось, системы реального времени делятся на два класса – hard real-time и soft real-time. В первом случае решение основной (критической) задачи требуется за фиксированный интервал времени (response time), что и учитывается при планировании. Во втором случае требование более слабое: критические процессы, решающие основную задачу системы, должны иметь более высокий приоритет, чем остальные процессы. На рис. 11.13 иллюстрируются особенности диспетчеризации и латентность диспетчера для систем реального времени. Интервал ответа, который не может быть превышен, складывается из времени обработки прерывания, периода латентности диспетчера при переключении контекста (времени разрешения конфликтов и собственно времени диспетчеризации) и времени исполнения критического процесса реального времени.

Рис. 11.13.  Латентность диспетчера в системах реального времени.

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

На рис. 11.14 иллюстрируются принципы планирования в ОС Solaris. Система обслуживает несколько классов процессов, в порядке убывания приоритетов: реального времени, системные, интерактивные и с разделением времени. Более высокоприоритетные процессы планируются и диспетчеризуются первыми. Для каждого класса процессов имеется свой планировщик.


Рис. 11.14.  Планирование в Solaris.

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

В таблица 1 изображены классы процессов и принципы распределения их приоритетов в Windows 2000. Классы процессов представлены столбцами таблицы, их приоритеты – строками. Рекомендуем обратить внимание, что даже простаивающий процесс реального времени имеет гораздо больший приоритет, чем простаивающие процессы других классов.

Таблица 1.

реального времени

высокий

выше нормального

нормальный

ниже нормального

приоритет простаивающего процесса

критический

31

15

15

15

15

15

наивысший

26

15

12

10

8

6

выше нормального

25

14

11

9

7

5

нормальный

24

13

10

8

6

4

ниже нормального

23

12

9

7

5

3

низший

22

11

8

6

4

2

простаивающий

16

1

1

1

1

1

Ключевые термины

Возраст (aging) процесса – повышение операционной системой приоритета длительное время находящегося в системе процесса.

Время обработки процесса (turnaround time) – время, необходимое для исполнения какого-либо процесса.

Время ожидания (waiting time) – время, которое процесс ждет в очереди процессов, готовых к выполнению.

Время ответа (response time) – время, требуемое от момента запроса (команды) пользователя до первого ответа системы.

Голодание (starvation) - ситуация в системе, когда процессы с низким приоритетом длительное время ждут и не получают квантов времени процессора.

Диаграмма Ганта (Gantt chart) – схема в виде "временной линейки", изображающая имена процессов и временные диапазоны их выполнения, выраженные в некоторых единицах времени.

Диспетчеризация (процессора) – распределение времени процессора между процессами в системе путем поочередного выделения планировщиком операционной системы процессам квантов процессорного времени.

Диспетчеризация без прерывания процессов (non-preemptive) – стратегии диспетчеризации, не использующие прерывания работы процессов при поступлении в систему более коротких или более приоритетных.

Диспетчеризация с прерыванием процессов (preemptive) – стратегии диспетчеризации, использующие прерывания работы процессов при поступлении в систему более коротких или более приоритетных.

Использование процессора (CPU utilization) – поддержание его в режиме занятости максимально возможный период времени.

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

Планировщик (scheduler) – компонента ОС, которая выбирает один из нескольких процессов, загруженных в память и готовых к выполнению, и выделяет процессор для одного из них.

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

Скрытая активность (латентность) диспетчера (dispatch latency) – время, требуемое для диспетчера, чтобы остановить один процесс и стартовать другой.

Стратегия First-Come-First-Served (обслуживание в порядке поступления) – стратегия диспетчеризации, при которой ресурсы процессора предоставляются процессам в порядке их поступления в систему, независимо от потребляемых ими ресурсов.

Стратегия Round Robin (RR, круговая система) – стратегия диспетчеризации, при которой всем процессам по очереди предоставляются одинаковые кванты времени.

Стратегия Shortest Job First (SJF, обслуживание самого короткого задания первым) – стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь наиболее короткому процессу из имеющихся в системе.

Стратегия Shortest-Remaining-Time-First (SRTF, обслуживание процесса с минимальным оставшимся временем выполнения) - стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь процессу с минимальным оставшимся временем выполнения.

Цикл CPU / I-O – чередование периодов использования процессора и ожидания ввода-вывода.

Краткие итоги

Диспетчеризация процессора – предоставление всем процессам в системе по очереди в определенном порядке квантов процессорного времени. Главной целью диспетчеризации является максимальная загрузка процессора.

Работа любого процесса в системе представляется как последовательность чередований фаз активности процессора и активности ввода-вывода. Частота периодов активности процессора обратно пропорциональна их длительности.

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

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

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

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

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

Стратегия Shortest-Job-First (SJF) – предоставление ресурсов процессора более которкому процессу или процессу, оставшееся время выполнения которого минимально (Shortest-Remaining-Time-First, SRTF). Данная стратегия обеспечивает минимальное среднее время ожидания процессов.

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

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

Стратегия Round Robin (RR) предоставляет всем процессам по очереди одинаковые кванты времени процессора. Квант времени не должен быть слишком мал, иначе накладные расходы на переключение процессов оказываются сравнимыми с полезным временем процессора. Стратегия RR обеспечивает лучшее время ответа, чем SJF, но худшее время оборота.

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

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

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

В ОС Solaris и Windows 2000 выделяются процессы нескольких классов, для которых, соответственно, выделяются различные приоритеты. В системе Solaris для каждого класса процессов имеется свой планировщик.

Набор для практики

Вопросы

  1.  Что такое диспетчеризация процессора?
  2.  В чем основная цель диспетчеризации процессора?
  3.  Что такое цикл CPU – I/O?
  4.  Как зависит частота периодов активности процессора от их длительности?
  5.  Что такое планировщик?
  6.  Какие разновидности стратегий, с точки зрения прерывания или избежание прерывания процессов, использует планировщик?
  7.  Что такое стратегия без прерывания процессов?
  8.  Что такое стратегия с прерыванием процессов?
  9.  Что такое диспетчер?
  10.  Что такое латентность диспетчера и каким образом следует оптимизировать данный показатель?
  11.  Каковы основные критерии диспетчеризации?
  12.  Что такое использование (утилизация) процессора и как следует оптимизировать данный показатель?
  13.  Что такое пропускная способность системы и как следует оптимизировать данный показатель?
  14.  Что такое время обработки и как следует оптимизировать данный показатель?
  15.  Что такое время ожидания и как следует оптимизировать данный показатель?
  16.  Что такое время ответа и как следует оптимизировать данный показатель?
  17.  Что такое диаграмма Ганта?
  18.  В чем суть стратегии FCFS и каковы ее недостатки?
  19.  В чем суть стратегии SJF (и SRTF) и оптимальность по какому критерию она обеспечивает?
  20.  Каким образом и по каким формулам вычисляется предсказание длины следующего периода активности процессора?
  21.  В чем суть диспетчеризации по приоритетам?
  22.  Что такое проблема голодания процессов и каково ее решение в ОС?
  23.  В чем суть стратегии RR, оптимальность по какому критерию она обеспечивает и по какому критерию она хуже, чем SJF?
  24.  Как зависит число контекстных переключений от величины кванта времени?
  25.  Как зависит время оборота от величины кванта времени?
  26.  Что такое многоуровневая аналитическая очередь и процессы каких классов обрабатываются с помощью многоуровневых очередей?
  27.  Каковы особенности планирования загрузки многопроцессорных систем?
  28.  Каковы особенности планирования в системах реального времени?

Упражнения

  1.  Реализуйте модель поведения процесса с чередованием периодов активности ЦП и ввода-вывода (времена периодов изменяются по какому-либо случайному закону) и визуализацией их в виде графических схем и гистограмм зависимости частоты периодов активности от их длительности.
  2.  Реализуйте модель представления процесса в системе и алгоритм диспетчера, выполняющего переключение контекста между процессами.
  3.  Реализуйте стратегию диспетчеризации FCFS с визуализацией ее результатов в виде диаграмм Ганта.
  4.  Реализуйте стратегию диспетчеризации SJF с визуализацией ее результатов в виде диаграмм Ганта.
  5.  Реализуйте стратегию диспетчеризации RR с визуализацией ее результатов в виде диаграмм Ганта.
  6.  Реализуйте стратегию диспетчеризации по приоритетам с визуализацией ее результатов в виде диаграмм Ганта.
  7.  Реализуйте вычисление предсказываемой длины следующего периода активности по методу экспоненциального усреднения.
  8.  Реализуйте многоуровневую очередь для пакетных и интерактивных процессов и алгоритм диспетчеризации с помощью многоуровневой очереди.

Темы для курсовых работ, рефератов, эссе

  1.  Обзор методов и стратегий диспетчеризации процессора в ОС (реферат).
  2.  Обзор реализаций планировщиков и диспетчеров в операционных системах с открытым исходным кодом (реферат).
  3.  Анализ критериев диспетчеризации и методов их оптимизации в операционных системах (реферат).
  4.  Методы предсказания длины следующего периода активности процесса при диспетчеризации процессов в ОС (реферат).
  5.  Реализация модели поведения процесса с чередованием периодов активности ЦП и ввода-вывода (времена периодов изменяются по какому-либо случайному закону) и визуализацией их в виде графических схем и гистограмм зависимости частоты периодов активности от их длительности (курсовая работа).
  6.  Реализация модели представления процесса в системе и алгоритм диспетчера, выполняющего переключение контекста между процессами (курсовая работа).
  7.  Реализация стратегии диспетчеризации FCFS с визуализацией ее результатов в виде диаграмм Ганта (курсовая работа).
  8.  Реализация стратегии диспетчеризации SJF с визуализацией ее результатов в виде диаграмм Ганта (курсовая работа).
  9.  Реализация стратегии диспетчеризации RR с визуализацией ее результатов в виде диаграмм Ганта (курсовая работа).
  10.  Реализация стратегии диспетчеризации по приоритетам с визуализацией ее результатов в виде диаграмм Ганта (курсовая работа).
  11.  Реализация вычисления предсказываемой длины следующего периода активности по методу экспоненциального усреднения (курсовая работа).
  12.  Реализация многоуровневой очереди для пакетных и интерактивных процессов и алгоритма диспетчеризации с помощью многоуровневой очереди (курсовая работа).
  13.  Планирование и диспетчеризация процессоров в системе Solaris (реферат).
  14.  Планирование и диспетчеризация процессов в системе Windows 2000 (реферат).




1. Язык как основа культуры
2. механизма сдержек и противовесов
3. Современные деньги их теория и практика
4. на тему- Нормирование электромагнитных полей промышленной частоты Студент-
5. Лабораторная работа 1 Исследование модели шинной ЛВС со случайным доступом Вариант 91
6. Stylesheet href--bits.wikimedi
7. Пояснительная записка Данное пособие предназначено для самостоятельной работы студента
8. Блок усиления мощности нелинейного локатора
9. Сталинградская битва1
10. Индикативное планирование в экономике
11. контрольная работа по дисциплине Основы дефектологии направления подготовки 6
12. Прокуратура в России
13. 10 страв зі складеного меню за зазначеним збірником рецептур
14. создание законодательной системы соответствующей объективности права; 2 закрепление в законодательств
15. вариантов в каждом ~ 3 вопроса- 1 вопрос Семинар 4
16. КОНТРОЛЬНАЯ РАБОТА 44 по дисциплине ПСИХОЛОГИЯ Выполнила
17. Mss mrket это дешевая косметика она производится огромными партиями
18. тема показателей рентабельности.
19. Руководящие принципы для многонациональных предприятий Национальный режим Стимулы и препятствия для
20. О защите конкуренции