Spec-Zone.ru › Ada 2005
Справочник по Ada 2005

D.2.4 Непрерывная обработка задач

Этот пункт определяет политику обработки задач без приостановки.

Статическая семантика

Политика policy_идентификатор Non_Preemptive_FIFO_Within_Priorities является политикой обработки задач.

Правила допустимости

Non_Preemptive_FIFO_Within_Priorities не должен быть указан как policy_идентификатор для директивы Priority_Specific_Dispatching (см. D.2.2).

Динамическая семантика

Когда активна политика Non_Preemptive_FIFO_Within_Priorities, изменения в очередях готовых задач происходят только следующим образом:
  • Когда заблокированная задача становится готовой, она добавляется в конец очереди готовых задач для ее активного приоритета.
  • Когда активный приоритет готовой задачи, которая не выполняется, изменяется, или вступает в силу установка ее базового приоритета, задача удаляется из очереди готовых задач для ее старого активного приоритета и добавляется в конец очереди готовых задач для ее нового активного приоритета.
  • Когда вступает в силу установка базового приоритета выполняющейся задачи, задача добавляется в конец очереди готовых задач для ее активного приоритета.
  • Когда задача выполняет заявление_ожидания, которое не приводит к блокированию, она добавляется в конец очереди готовых задач для ее активного приоритета.
Для этой политики, неблокирующее заявление_ожидания является единственным неблокирующим событием, являющимся точкой обработки задач (см. D.2.1).

Требования к реализации

Реализация должна позволять для одной секции задать политику обработки задач как Non_Preemptive_FIFO_Within_Priorities, а также политику блокировки (см. D.3) как Ceiling_Locking.

Разрешения на реализацию

Поскольку реализациям разрешается округлять все потолочные приоритеты в поддиапазоне System.Priority до System.Priority'Last (см. D.3), реализация может позволить задаче выполняться в защищенном объекте без повышения ее активного приоритета при условии, что связанный защищенный блок не содержит директивы Interrupt_Priority, Interrupt_Handler или Attach_Handler.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API