POSIX实时信号能否产生软实时信号



发件人: https://mail.rtai.org/pipermail/rtai/2012-April/024968.html

将要发生的事情是,当一个真正的实时RTAI任务发出信号时。 通过Linux,您将在未定义的时间段内失去实时时间。

一般来说,RTAI 不支持 POSIX API。
那么,当POSIX实时信号发送到RTAI的实时任务时,控制权会转移到用户空间?但我认为,由于 POSIX 信号也是实时信号,它们可以写在内核模块中(?那么怎么能说它会导致软实时呢?

不太确定报价的原因,请解释我遗漏的一点。

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

在RTAI中,你有硬实时任务,软实时任务和Linux内核。任务由 RTAI 或 Linux 内核调度。RTAI确保实时行为,因此截止日期和周期等内容与RTAI一起使用。然而,Linux不理解这些,也不关心。

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

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

最新更新