POSIX实时信号可以实现软实时吗?

时间:2012-04-21 10:07:03

标签: linux real-time terminology signals rtai

来自:https://mail.rtai.org/pipermail/rtai/2012-April/024968.html

  

当发出真正的实时RTAI任务信号时,会发生什么   通过Linux,你将在一个不确定的时间段内放松实时。

RTAI不支持POSIX API 那么,当POSIX实时信号被发送到RTAI的实时任务时,控件会转移到用户空间吗?但我认为既然POSIX信号也是实时信号,它们可以写在内核模块中(?)..那怎么能说它会导致软实时?

我不太清楚报价的原因,请解释我错过的一点。

1 个答案:

答案 0 :(得分:0)

首先,你是什么意思控件转移到用户空间?如果您的任务在内核空间中,则永远不会转移到用户空间。如果它在用户空间,那么它已经存在了!

在RTAI中,您拥有硬实时任务,软实时任务和Linux内核。任务由RTAI或Linux内核调度。 RTAI确保实时行为,因此最后期限和期限等内容与RTAI一起使用。但是Linux并不了解这些,也不关心。

现在,只要您的代码与RTAI一起使用,一切都很好。如果你调用Linux内核需要完成的任何事情,你就会失去实时性,因为Linux内核被RTAI安排为非实时进程。所以经验法则是,无论通过Linux传递什么都是不好的。

如果您收到来自Linux的信号,则该内核的一部分由Linux内核处理,更不用说信号处理程序在Linux上下文中运行并且中断被禁用。这意味着如果没有RTAI对情况有任何控制,您就完全脱离了实时环境。因此危及实时性。