具有 os_mut_wait 和短超时的 Keil RTX 优先级继承?

Keil RTX priority inheritance with os_mut_wait and short timeout?

优先级继承是 Keil RTX(和其他)的一项功能,用于防止优先级反转。如果一个高优先级任务试图获得一个低级任务已经获得的互斥锁,优先级继承通常会导致低级任务被赋予高优先级任务的优先级以允许它 运行 解锁。

低优先级任务 运行 处于高优先级多长时间?

如果高优先级任务等待很长时间,我希望低优先级任务 运行 处于高优先级,直到资源被释放。如果高优先级任务配置为等待一小段时间,那么低优先级任务会在该时间后恢复为低优先级吗?

特别是如果超时为 0,优先级继承是否生效?

至少在 Keil RTX 中,低优先级任务以高优先级运行,直到它释放资源,即使高优先级任务被配置为等待很短的时间,并且没有超时,低优先级任务不会被提升到高优先级。

我很想知道其他 RTOS 的作用。