Когда задача наследует потолок приоритета в многопроцессорном PCP

Подробно: наследует ли задача верхний предел приоритета, только когда она выполняет критическую секцию или уже когда она выбрана для следующей критической секции (например, после блокировки). Я не мог найти ответ на этот вопрос в газетах, которые я прочитал, некоторые из них:

  • "Протоколы синхронизации в реальном времени для мультипроцессоров с общей памятью" от Rajkumar
  • "Улучшенный анализ и оценка времени блокировки для протокола приоритета многопроцессорного приоритета", Yang et al.
  • "Синхронизация: протоколы доступа к общим ресурсам" Midonnet et al.

Рассмотрим следующий пример: три задачи T1, T2, T3 (с приоритетами P1 > P2 > P3) работают на двух процессорах: T1 на p1 а также T2, T3 на p2, T1 а также T3 получить доступ к глобальному ресурсу R защищен семафором с использованием MPCP. Следующий график:

| t |       p1       |                           p2                          |
|:-:|:--------------:|:-----------------------------------------------------:|
| 1 |     T1 runs    |                        T3 runs                        |
| 2 |  T1 accesses R |                     T3 accesses R                     |
| 3 | T1  acquires R |                    T3 gets blocked                    |
| 4 | T1 executes CS |               T2 gets activated and runs              |
| 5 |  T1 releases R | Does T3 inherit the priority ceiling and preempt T2?  |

В t=5, T1 выпускает семафор, на котором T3 заблокирован. Есть ли T3 наследовать приоритетный потолок немедленно и таким образом выгрузить T2 или T3 помещен в очередь ожидания p2 и наследует потолок приоритета, как только он запланирован на данном процессоре и, таким образом, может выполнить критическую секцию?

0 ответов

Другие вопросы по тегам