Keil RTX наследование приоритетов с os_mut_wait и коротким таймаутом? - PullRequest
0 голосов
/ 04 сентября 2018

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

Как долго задача с низким приоритетом выполняется с более высоким приоритетом?

Если задача с высоким приоритетом ожидает долгое время, я ожидаю, что задача с низким приоритетом будет выполняться с высоким приоритетом, пока ресурс не будет освобожден. Если задача с высоким приоритетом настроена на короткое время ожидания, возвращается ли задача с низким приоритетом к низкому приоритету после этого времени?

В частности, если время ожидания равно 0, вообще вступает в силу наследование приоритетов?

1 Ответ

0 голосов
/ 01 октября 2018

По крайней мере, в Keil RTX задача с низким приоритетом выполняется с высоким приоритетом, пока не освободит ресурс, даже если задача с высоким приоритетом настроена на короткое время ожидания, и без тайм-аута задача с низким приоритетом не поднимается до высокий приоритет.

Мне было бы интересно узнать, что делают другие ОСРВ.

...