ВУЗ:
Составители:
Нетрудно рассчитать также эффективность загрузки центрального процессора на одном цикле для одного процесса: по-
лезное время процессора –
q
i
; непроизводительные затраты времени – Т
н i
= Т
з i
+ T
п i
+ T
c i
; показатель загрузки процессора по-
лезной работой
.
н ii
i
i
qT
q
+
=η
(3.2)
Для всех N процессов получим:
∑
=
=
N
i
i
qQ
1
;
∑
=
++=
N
i
iii
TTTT
1
пнн
;)(
c
β+
=
+
=η
1
1
н
QT
Q
. (3.3)
где β = T
н
/ Q – относительная величина потерь времени на переключение между процессами.
Увеличение количества задач, одновременно решаемых системой, связанное с увеличением значения
N (выражение
(3.1)), можно осуществить четырьмя методами: увеличением общей длительности интервала цикла
Т; уменьшением затрат
времени ОС на организацию мультипрограммирования
Т
с
; уменьшением затрат времени на перемещение процессов из ОЗУ
в ВЗУ и обратно при их вытеснении и восстановлении
Т
з
и Т
в
; сокращением длительности квантов времени, отводимых для
выполнения процессов
q.
Сокращение длительности квантов времени
q
i
, отводимых для выполнения процессов, автоматически вызывает увели-
чение длительности нахождения процессов в системе (см. выражение (3.3.)), из-за чего этот способ имеет ограниченное при-
менение.
Наиболее продуктивными являются методы, приводящие к сокращению затрат времени операционной системы
Т
с
и, в
особенности, затрат времени на перемещение процессов из ОЗУ в ВЗУ и обратно при их вытеснении и восстановлении.
Уменьшение значения
Т
с
достигается путем создания эффективных системных программ, имеющих наименьшую длину
программного кода и наивысшую скорость выполнения своих функций.
В современных вычислительных системах применяются все перечисленные способы увеличения эффективности обра-
ботки задач.
3.3.2.4. АЛГОРИТМЫ ВЫБОРА ОЧЕРЕДНОСТИ ОБРАБОТКИ
Планирование очередности обработки осуществляется на основе очереди процессов, находящихся в состоянии готовно-
сти. Все эти процессы в мультипрограммных системах конкурируют между собой, прежде всего, из-за времени центрального
процессора. В течение кванта времени, выделенного процессу, возможно наступление одного или нескольких событий: вы-
полнение процесса завершено; процесс перешел в состояние ожидания; центральный процессор потребовался для обслужи-
вания процесса с более высоким приоритетом; завершился выделенный процессу квант времени; произошла ошибка в сис-
теме.
Решение о порядке выбора процессов из очереди осуществляется в соответствии с реализованными в ОС алгоритмами
планирования очередности обработки. В настоящее время наиболее известными являются:
• алгоритм циклической обработки;
• алгоритм очередей с обратной связью;
• алгоритм выбора по характеру использования предыдущего кванта;
• алгоритм выбора с приоритетом по характеру блокировки.
Практически все алгоритмы планирования очередности обработки имеют эвристический характер. Сигналом к началу
работы этих алгоритмов служат указанные выше события, наступившие в системе:
• если предшествующий процесс закончился, то выполняются действия по его выводу из системы:
• если предшествующий процесс перешел в состояние ожидания, то он перемещается в очередь блокированных про-
цессов;
• если предшествующий процесс прерван операционной системой из-за того, что ЦП потребовался для обслуживания
другого процесса с более высоким приоритетом, то прерванный процесс помещается в очередь прерванных процессов;
• если предшествующий процесс исчерпал выделенный ему квант времени, то он поступает в очередь готовых про-
цессов;
• если алгоритм планирования активизирован из-за какого-либо другого события, то выполняются действия согласно
реакции на ошибочную ситуацию, возникшую в системе.
Логика работы всех алгоритмов планирования очередности обработки практически совпадает. Различаются они лишь
реализациями блоков "Выбор длины кванта" и "Выбор очередного процесса".
Рассмотрим алгоритмы реализации блока "выбор очередного процесса".
Алгоритм циклической обработки
процессов не использует никакой информации о приоритетах обрабатываемых
процессов. Все процессы, находящиеся в очереди, упорядочиваются по времени их поступления. Стоящий первым в очереди
процесс получает квант времени
q центрального процессора. Существует много разновидностей алгоритмов циклической
обработки, которые называют также алгоритмами круговорота процессов, например, круговорот со смещением и эгоистиче-
ский круговорот.
Алгоритм очередей с обратной связью организует некоторое количество
М очередей, каждая из которых обслужива-
ется в порядке поступления. Новый процесс, поступивший в систему, попадает в очередь № 1. После окончания использова-
ния очередного кванта времени процесс переходит из очереди с номером
m в очередь с номером m + 1.
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
