首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >POSIX实时信号能实现软实时吗?

POSIX实时信号能实现软实时吗?
EN

Stack Overflow用户
提问于 2012-04-21 10:07:03
回答 1查看 288关注 0票数 0

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

将发生的情况是,当一个真正的实时RTAI任务由Linux发出信号时,您将在一个未定义的时间段内释放实时时间。

一般而言,RTAI不支持POSIX API。

那么,当POSIX实时信号被发送到RTAI的实时任务时,控制被转移到用户空间?但是我认为,因为POSIX信号也是实时的,所以它们可以写在内核模块(?)中。那么,怎么能说它会导致软实时呢?

我不太清楚这句话的原因,请解释一下我遗漏了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-03 11:02:57

首先,您所说的将控件转移到用户空间是什么意思?如果您的任务位于内核空间,则永远无法将其转移到用户空间。如果它在用户空间,那么它已经存在了!

在RTAI中,有硬实时任务、软实时任务和Linux内核.任务由RTAI或Linux内核调度。RTAI确保了实时行为,所以像截止日期和时间段等都与RTAI相匹配.然而,Linux不理解其中任何一个,也不关心这些。

现在,只要您的代码使用RTAI,一切都很好。如果您调用任何需要由Linux内核执行的操作,则会丢失实时,因为RTAI将Linux内核调度为一个非实时进程。所以经验法则是,任何通过Linux的东西都是不好的。

如果您收到来自Linux的信号,那么Linux内核就会处理这个过程的一部分,更不用说在Linux上下文中运行的信号处理程序了,中断也被禁用了。这意味着您完全脱离了您的实时环境,而没有RTAI对这种情况有任何控制。这就是实时的危险。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10257984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档