- •Задача 1 (выполнимость невытесняемых задач)
- •Решение задачи 1 (выполнимость невытесняемых задач)
- •Упражнение по задаче 1
- •Задача 2 (ub-тест)
- •Упражнение по задаче 2
- •Задача 3 (синхронная система невытесняемых задач)
- •Задача 4 (синхронная система вытесняемых задач)
- •Упражнение по задаче 6
- •Задача 8 (график затребованного времени)
- •Задача 9 (время отклика задач с блокировками)
- •Упражнение по задаче 9
- •Задача 11 (время отклика при буферизации заданий)
- •Решение задачи 11 (время отклика при буферизации заданий)
- •Задача 14 (оценка продолжительности передачи сообщений)
- •250 Кбит/сек (250 бит в миллисекунду)
- •Задача 15 (ub-тест для передачи составных сообщений)
- •Решение задачи 2 (ub-тест)
- •Задача 16 (продолжительность выполнения сквозных функций)
Решение задачи 11 (время отклика при буферизации заданий)
Решение рекуррентного соотношения:
1,2 = C2 + C1 2,1 /Т1 ,
дает значение 2,1=25:
1,2 (0) = 0;
1,2 (1) =С2 = 10; 1,2 (0)/Т1 = 0
1,2 (2) =С2 + С1 = 25; 1,2 (1)/Т1 = 1
1,2 (3) =С2 + С1 = 25; 1,2 (2)/Т1 = 1
Поскольку значение 1,2=25, превосходит величину периода Т2=17 задачи 2, на интервале существования задания 1 2 успевает возникнуть задание 2 2. Следовательно, необходимо решать уравнение
2,2 = 2C2 + C1 2,2 /Т1 ,
дающее значение момента отклика для задания 2 2. Решение уравнения дает значение 2,2=35,
2,2(0) = 0;
2,2(1) =2С2 = 20; 2,2(0)/Т1 = 0
2,2(2) =2С2 + С1 = 35; 2,2(1)/Т1 = 1
2,2(3) =2С2 + С1 = 35; 2,2(2)/Т1 = 1
что превосходит величину двух периодов задачи 2 (2Т2=34).
Таким образом, необходимо решать уравнение
3,2 = 3C2 + C1 3,2 /Т1 ,
для момента отклика третьего задания типа 2 (то есть, для задания 3 2). Решение уравнения дает значение 3,2=60,
3,2 (0) = 0;
3,2 (1) =3С2 = 30; 3,2 (0)/Т1 = 0
3,2 (2) =3С2 + С1 = 45; 3,2 (1)/Т1 = 1
3,2 (3) =3С2 + 2С1 = 60; 3,2 (2)/Т1 = 2
3,2 (4) =3С2 + 2С1 = 60; 3,2 (3)/Т1 = 2
что превосходит величину трех периодов задачи 2 (3Т2=51) и, значит, в ходе выполнения возникает задание 4 2, момент отклика которого задается уравнением
4,2 = 4C2 + C1 4,2/Т1 ,
Решение уравнения дает значение 4,2=70,
4,2 (0) = 0;
4,2 (1) =4С2 = 40; 4,2 (0)/Т1 = 0
4,2 (2) =4С2 + С1 = 55; 4,2 (1)/Т1 = 1
4,2 (3) =4С2 + 2С1 = 70; 4,2 (2)/Т1 = 2
4,2 (4) =4С2 + 2С1 = 70; 4,2 (3)/Т1 = 2
что превосходит величину четырех периодов задачи 2 (4Т2=68) и, значит, в ходе выполнения возникает задание 5 2, момент отклика которого задается уравнением
5,2 = 5C2 + C1 5,2/Т1 ,
Решение уравнения дает значение 5,2=80,
5,2 (0) = 0;
5,2 (1) =5С2 = 50; 5,2 (0)/Т1 = 0
5,2 (2) =5С2 + 2С1 = 80; 5,2 (1)/Т1 = 2
5,2 (3) =5С2 + 2С1 = 80; 5,2 (2)/Т1 = 2
Поскольку 5,2=80 не превосходит пяти периодов задачи 2, (5Т2=85), задание 5 2 успевает полностью выполниться до возникновения 6 2., то есть, интерференция заданий типа 5 2 завершается. Для заданий 1 2 – 5 2 вычисляем значения времени отклика 1r2 – 6r 2 (ir 2 = i,2 – tвоз(i 2)):
1r 2 = 1,2 – tвоз(1 2) = 25 – 0 = 25;
2r 2 = 2,2 – tвоз(2 2) = 35 – 17 = 18;
3r 2 = 3,2 – tвоз(3 2) = 60 – 34 = 26;
4r 2 = 4,2 – tвоз(4 2) = 70 – 51 = 19;
5r 2 = 5,2 – tвоз(5 2) = 80 – 68 = 12;
Максимальное время отклика для заданий типа 2 равно 26.
Упражнение по задаче 11
Программное приложение состоит из двух асинхронных вытесняемых задач 1, 2, с параметрами, определенными в таблице:
Параметры задач |
Задачи |
|
1 |
2 |
|
C i – требуемый ресурс CPU |
15 |
10 |
T i – период |
45 |
17 |
P i – приоритет |
высокий |
низкий |
Определить максимальное время отклика для 2.
Задача 12 (оценка нагрузки набора сообщений на сеть CAN)
Длина сообщения = 44+8N
Производительность 125 Кбит/сек (125 бит в миллисекунду)
Число обязательных бит в сообщении: 44
Через сеть передаются регулярные (периодические) сообщения с параметрами, приведенными в таблице
Типы сообщений
Параметры сообщений |
Типы сообщений |
||||
m 1 |
m 2 |
m3 |
m 4 |
m5 |
|
N - максимум длины сообщения |
1 (52) |
2 (60) |
4 (76) |
8 (108) |
16 (172) |
T i – минимум интервала между однотипными сообщениями (миллисекунд) |
1 |
2 |
3 |
4 |
5 |
Оценить нагрузку на сеть от каждого типа сообщений. Оценить соответствие производительности сети приведенному набору периодических сообщений. Решение. Нагрузка = 52+30+25,4+27+34,4=168,8 > 125. Следовательно, производительность сети 125 Кбит/сек недостаточна для обслуживания представленного набора сообщений. Сеть с производительностью 250 Кбит/сек с таким набором сообщений, возможно, успешно справится, с таким набором задач, но для того, чтобы убедиться в этом, следует вычислить максимальную продолжительности передачи сообщений каждого из заданных типов для выбранного способа назначения приоритетов сообщений.