
- •Раздел 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. Статическое планирование
3.12.2. Тесты планируемости задач и классификация задач
Вопрос (
Тест, который определяет, может ли множество готовых задач быть спланированным таким образом, что каждая задача завершится в заданный для нее предельный срок, называется тестом планируемости.
)Вопрос
Различают достаточный, точный и необходимый тест планируемости. При этом разработка точного теста планируемости относится к классу нерешаемых проблем.
Алгоритмы достаточных тестов могут быть чуть проще, но могут дать отрицательное решение для задач, которые на самом деле могут быть спланированы.
Если отрицательное решение дает необходимый тест планируемости, то задачи точно не планируются. Но при положительном результате есть вероятность, что задачи не планируются.
Эти свойства отображаются следующей диаграммой:
Если достаточный
тест планируемости положительный, эти
задачи определенно планируемы
Если необходимый
тест планируемости отрицательный, эти
задачи определенно непланируемы
Точный тест
планируемости
Достаточный тест
планируемости
Необходимый тест
планируемости
Возрастающая сложность множества задач
Классификация задач с точки зрения планируемости
Вопрос {
По количеству временной информации, используемой для планирования, задачи делятся на периодические, спорадические и апериодические.
)Вопрос
Для периодической задачи, начиная с момента времени первого запроса на выполнение, известны все последующие моменты запросов (на основе добавления известного периода к моменту начального запроса).
Вопрос (
Обозначим через pi период i-й задачи, через ci – время выполнения i-й задачи. Тогда необходимый тест планируемости формулируется следующим образом:
Множество периодических задач планируемо, если
m = mi = ci/pi <= 1
Отношение mi = ci/pi называется фактором полезности i-й задачи и обозначает долю времени, которую i-я задача требует сервиса от процессора.
)Вопрос
Вопрос (
Кроме перечисленных временных параметров используют следующие:
di – предельный интервал завершения – разность между предельным сроком завершения и временем запроса;
li – неопределенность задачи – разность между di и ci.
)Вопрос
Для спорадической задачи времена запроса не известны априори.
Чтобы хоть как-то решить задачу планирования, необходимо задать минимальный интервал между парой запросов для каждой из спорадических задач.
Для апериодической задачи вообще нет никаких ограничений на моменты запросов.
Для решения проблемы планирования чрезвычайно важно знание будущего поведения задач.
Если планировщик не имеет сведений о будущих моментах запросов спорадической задачи, то проблема планирования не разрешима.
Т.е. для разрешения проблемы планирования должны быть сделаны предположения о будущих моментах запросов.