
- •Задача 1 (выполнимость невытесняемых задач)
- •Решение задачи 1 (выполнимость невытесняемых задач)
- •Упражнение по задаче 1
- •Задача 2 (ub-тест)
- •Упражнение по задаче 2
- •Задача 3 (синхронная система невытесняемых задач)
- •Задача 4 (синхронная система вытесняемых задач)
- •Упражнение по задаче 6
- •Задача 8 (график затребованного времени)
- •Задача 9 (время отклика задач с блокировками)
- •Упражнение по задаче 9
- •Задача 11 (время отклика при буферизации заданий)
- •Решение задачи 11 (время отклика при буферизации заданий)
- •Задача 14 (оценка продолжительности передачи сообщений)
- •250 Кбит/сек (250 бит в миллисекунду)
- •Задача 15 (ub-тест для передачи составных сообщений)
- •Решение задачи 2 (ub-тест)
- •Задача 16 (продолжительность выполнения сквозных функций)
Задача 9 (время отклика задач с блокировками)
Если текущий приоритет исполняемого задания jk может временно повышаться (например, для защиты интервалов доступа к разделяемому ресурсу), то на интервале такого динамического повышения своего приоритета jk может блокировать активизацию «старшей» задачи. Под старшей задачей имеется в виду задача i с более высоким, чем у k приоритетом активизации (k > i при упорядочении задач по приоритетам активизации). В условиях возможных блокировок время отклика :
R i = Ci + Bi + ∑ Cj R i /Tj ,
где Bi – максимальное время блокирования со стороны «младшимх» задач, а суммирование ведется по старшим задачам..
Частный случай задач приложения, содержащего задачи с блокировками – приложение с невытесняемыми низкоприоритетными задачами. Тогда
Bi = max Cj ,
где максимум ищется среди младших по отношению к i задач.
Упражнение по задаче 9
Программное приложение состоит из трех асинхронных невытесняемых задач 1, 2, 3 с параметрами, определенными в таблице:
Параметры задач (ед.времени) |
Задачи |
||
1 |
2 |
3 |
|
C i – требуемый ресурс CPU |
4 |
6 |
8 |
T i – период |
14 |
24 |
32 |
Задачи в таблице следуют в порядке уменьшения приоритетов. Найти максимальное время отклика для каждой из задач.
Задача 10 (время отклика задач с дребезгом)
Если продолжительность интервала между порождением заданий типа i может меняться от нуля до Ji (величину Ji называют jitter, по-русски дребезг), то максимальное время отклика для i рассчитывается по формуле:
R i = Ci + Ji + ∑j<i Cj (Jj + R i – Ji)/Tj .
Упражнение по задаче 10
Программное приложение состоит из трех асинхронных невытесняемых задач 1, 2, 3 с параметрами, определенными в таблице:
Параметры задач (ед.времени) |
Задачи |
||||
1 |
2 |
3 |
4 |
5 |
|
C i – требуемый ресурс CPU |
4 |
5 |
3 |
4 |
6 |
J i – дребезг |
1 |
2 |
0 |
3 |
5 |
T i – период |
15 |
28 |
20 |
60 |
50 |
Задачи в таблице следуют в порядке уменьшения приоритетов. Найти максимальное время отклика для каждой из задач.
Задача 11 (время отклика при буферизации заданий)
Программное приложение состоит из двух асинхронных вытесняемых задач 1, 2, с параметрами, определенными в таблице:
Параметры задач |
Задачи |
|
1 |
2 |
|
C i – требуемый ресурс CPU |
15 |
10 |
T i – период |
41 |
17 |
P i – приоритет |
высокий |
низкий |
Определить максимальное время отклика для 2.