ВУЗ:
Составители:
ситуации время, необходимое для завершения нити высшего приоритета,
зависит от нижних приоритетных уровней, – это и есть инверсия
приоритетов. Ясно, что в такой ситуации трудно выдержать ограничение
на время исполнения.
Чтобы устранить такие инверсии, ОСРВ должна допускать
наследование приоритета, т. е. повышение приоритета до уровня
вызывающей нити. Наследование означает, что блокирующая ресурс нить
наследует приоритет блокируемой нити (справедливо лишь в том случае,
если блокируемая нить имеет более высокий приоритет).
Иногда утверждают, что в грамотно спроектированной системе такая
проблема не возникает. В случае сложных систем с этим нельзя
согласиться. Единственный способ решения этой проблемы состоит в
увеличении приоритета нити вручную прежде, чем ресурс окажется
заблокированным – это возможно в случае, когда две нити разных
приоритетов претендуют на один ресурс. В общем случае решения не
существует.
Требование 5. Поведение ОС должно быть известно
Наконец, следует рассмотреть временные ограничения. Времена
выполнения системных вызовов и временные характеристики поведения
системы в различных обстоятельствах должны быть известны
разработчику, поэтому производитель ОСРВ должен приводить
следующие характеристики:
латентную задержку прерывания (т. е. время от момента прерывания
до момента запуска задачи): она должна быть предсказуема и
согласована с требованиями приложения. Эта величина зависит от
числа одновременно “висящих” прерываний;
35
ситуации время, необходимое для завершения нити высшего приоритета, зависит от нижних приоритетных уровней, – это и есть инверсия приоритетов. Ясно, что в такой ситуации трудно выдержать ограничение на время исполнения. Чтобы устранить такие инверсии, ОСРВ должна допускать наследование приоритета, т. е. повышение приоритета до уровня вызывающей нити. Наследование означает, что блокирующая ресурс нить наследует приоритет блокируемой нити (справедливо лишь в том случае, если блокируемая нить имеет более высокий приоритет). Иногда утверждают, что в грамотно спроектированной системе такая проблема не возникает. В случае сложных систем с этим нельзя согласиться. Единственный способ решения этой проблемы состоит в увеличении приоритета нити вручную прежде, чем ресурс окажется заблокированным – это возможно в случае, когда две нити разных приоритетов претендуют на один ресурс. В общем случае решения не существует. Требование 5. Поведение ОС должно быть известно Наконец, следует рассмотреть временные ограничения. Времена выполнения системных вызовов и временные характеристики поведения системы в различных обстоятельствах должны быть известны разработчику, поэтому производитель ОСРВ должен приводить следующие характеристики: латентную задержку прерывания (т. е. время от момента прерывания до момента запуска задачи): она должна быть предсказуема и согласована с требованиями приложения. Эта величина зависит от числа одновременно “висящих” прерываний; 35
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »