【问题标题】:Can POSIX real time signals result in soft real time?POSIX 实时信号可以产生软实时吗?
【发布时间】:2012-04-21 10:07:03
【问题描述】:

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

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

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

我不太清楚引用的原因,请解释我遗漏的一点。

【问题讨论】:

    标签: linux real-time terminology signals rtai


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 2020-03-05
      • 2018-05-11
      • 1970-01-01
      相关资源
      最近更新 更多