
- •Раздел 3. Параллельное выполнение программ
- •3.1. Концепция процесса
- •3.2. Средства описания параллелизма
- •3.2.1. Графические средства
- •3.2.3. Описание процессов средствами uml
- •3.2.4. Языковые средства описания параллелизма
- •3.3. Организация ядра ос
- •3.3.1. Ядро как средство организации виртуальной машины
- •3.3.2. Состояния процесса и структура ядра
- •3.3.3. Дескрипторы процессов
- •3.3.4. Очереди процессов в ядре
- •3.4. Общая характеристика примитивов ядра
- •3.5. Примитивы создания и уничтожения процессов
- •3.6. Примитивы синхронизации процессов
- •3.6.1. Простейшие примитивы, не учтенные в классификации
- •3.6.2. Примитивы временной синхронизации
- •3.6.3. Примитивы событийной синхронизации процессов
- •3.7. Общий семафор как средство событийной синхронизации
- •3.8. Средства синхронизации в существующих операционных системах
- •3.9. Монитор как средство реализации взаимного исключения
- •3.10. Примитивы ядра для обмена сообщениями
- •3.10.1. Буфер как средство коммуникации между процессами
- •3.10.2. Почтовый ящик с очередью сообщений
- •3.10.3. Средства коммуникаций в существующих ос
- •3.11. Проблема тупиков при взаимодействии процессов
- •3.12. Планирование загрузки процессора в ядре
- •3.12.1. Классификация алгоритмов планирования
- •3.12.2. Тесты планируемости задач и классификация задач
- •3.12.3. Динамическое планирование
- •3.12.3.1. Планирование независимых задач
- •1. Алгоритм монотонной скорости.
- •2. Алгоритм “задача с минимальным предельным сроком завершения - первая”
- •3. Алгоритм минимальной неопределенности
- •3.12.3.2. Планирование зависимых задач
- •3.12.4. Статическое планирование
2. Алгоритм “задача с минимальным предельным сроком завершения - первая”
Динамический вытесняющий алгоритм для однопроцессорных систем, который основан на динамических приоритетах.
Должны выполняться предположения с (1) по (5) алгоритма монотонной скорости.
Полезность m может подняться до 1, даже когда периоды задач не кратны наименьшему периоду.
После события, активизирующего алгоритм планирования, задаче с минимальным предельным сроком завершения назначается высочайший динамический приоритет.
У этого алгоритма есть недостатки:
не всегда можно оценить время выполнения задачи и существуют правила, определяющие, что делать с задачей, время выполнения которой превысило оценочное (назначать штраф, снимать с выполнения и т. п.).
не всегда самые короткие задания являются самыми важными.
3. Алгоритм минимальной неопределенности
Этот алгоритм также ориентирован на однопроцессорные системы.
Он использует те же самые (1) – (5) предположения.
В любой момент планирующего решения, задаче с минимальной неопределенностью l, т.е. разностью между предельным интервалом завершения d и временем выполнения c
d – c = l
назначается высочайший динамический приоритет.
Вопрос {
Т.о. существуют алгоритмы планирования, которые дают высочайший приоритет задаче, у которой минимален определенный параметр:
d – предельный срок завершения (EDF - earliest deadline);
l – неопределенность (LL - least laxity) (минимальной неопределенности);
c – длительность (SJF – shortest job) (кратчайшее задание - первым);
d – t – срок, оставшийся до завершения (t- текущее время) (SRT – shortest remaining time) (задача с кратчайшим сроком завершения – первая)
)Вопрос
Приведенные примеры показывают, что при планировании существенную роль играет понятие приоритета, на основе которого процессу предоставляется процессорное время.
При этом, существуют системы как со статическими приоритетами (алгоритм монотонной скорости), так и с динамическими приоритетами (все остальные).
Вопрос {
Системы со статическими и динамическими приоритетами характеризуются следующими особенностями:
системы со статическими приоритетами легче организовать, но они хуже реагируют на изменения окружающей ситуации;
системы с динамическими приоритетами гораздо сложнее, но лучше реагируют на изменения обстановки. Например, приоритет задачи может расти в зависимости от времени простоя, чтобы она выполнялась хотя бы время от времени.
)Вопрос
Вопрос {
Вот пример планирования с динамическими приоритетами, вычисляемыми по формуле:
Время ожидания + Время выполнения
Приоритет = ───────────────────────────────────
Время выполнения
Уменьшает недостатки варианта планирования SJF.
Т.к. время выполнения есть в знаменателе, то приоритет более короткой задачи выше, чем приоритет более длинной задачи.
Т.к. время ожидания есть в числителе, то приоритет задачи растет, если она более длительная и долгое время ждет.
Тем самым компенсируется возможно долгое ожидание задач, требующих большего времени на свое выполнение.
)Вопрос