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

3.36. Управление процессорным временем. Модель планировщика и диспетчера процессорного времени. Приоритеты процессов

3.36. КЕРУВАННЯ ПРОЦЕСОРНИМ ЧАСОМ. МОДЕЛЬ ПЛАНУВАЛЬНИКА ТА ДИСПЕТЧЕРА ПРОЦЕСОРНОГО ЧАСУ. ПРІОРИТЕТИ ПРОЦЕСІВ.

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

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

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

стратегию планирования. Для оценки  эффективности  функционирования  данной СМО могут быть применены количественные показатели.  Обозначим  через  t  - процессорное время, необходимое процессу для выполнения, мы будем его называть длительностью процесса.  Обозначим через T  -  общее время пребывания процесса в системе.  Эту величину также называют иногда временем реакции процесса - интервал между моментом вводом процесса в систему и моментом  получения  результатов.  Наряду  с временем реакции могут быть полезны также и другие показатели.     Потерянное время:     M = T - t;

определяет время, в течение которого процесс находился в системе, но не выполнялся. Отношение реактивности:     R = t / T; показывает долю процессорного времени  (времени  выполнения)  или долю потерянного времени в  общем времени реакции.     Штрафное отношение:     P = T / t; показывает, во сколько раз общее время выполнения процесса превышает необходимое процессорное время.

Различают приоритеты: - внешние - назначаемые администратором системы или пользователем в соответствии с классом пользователя  и/или  произведенной пользователем оплатой; - статические -  вычисляемые  планировщиком  при  поступлении процесса в систему и не изменяемые впоследствии; - динамические - перевычисляемые  планировщиком  периодически или/и при событиях, влияющих на планирование процессов; - комплексные - динамически вычисляемые приоритеты, учитывающие внешний приоритет процесса, его статические характеристики, а также ход выполнения процесса,  текущее состояние очереди готовых процессов и, возможно, состояние других системных ресурсов. К ОС,  обеспечивающим режим клиент/сервер, применяют  дисциплины, отдающие предпочтение обменным процессам. Для таких ОС достаточно типичной можно считать такую макросхему  определения  приоритетов процессов  в  очереди к ЦП.  Наивысший абсолютный приоритет имеют системные процессы, которые не могут вытесняться. Далее - системные процессы, которые могут быть вытеснены. Наконец, низший приоритет имеют пользовательские процессы.  Пользовательские процессы в свою очередь могут делиться на классы.  Типовое деление (например, OS/2) включает в себя три класса:

- с высоким приоритетом - процессы реального времени; - с нормальным приоритетом - интерактивные процессы; - с низким приоритетом - счетные (пакетные) процессы.

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

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

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