首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您是否需要一个实时操作系统以确保您的程序从未从CPU中取出?

问您是否需要一个实时操作系统以确保您的程序从未从CPU中取出?
EN

Stack Overflow用户
提问于 2021-01-15 04:59:53
回答 1查看 183关注 0票数 0

如果我要写一个程序,并且我希望保证这个程序永远不会看到一个实例,在它运行之后,它被踢出cpu直到程序终止,那么我需要一个RTOS,还是有一种方法在常规的linux操作系统上获得这样的经验。

示例:允许我们运行无头Linux机器,并以用户或根用户的身份运行程序(例如从传感器读取SPI数据,侦听http请求),并且有理由相信除了运行的单个独立脚本之外,几乎没有其他与机器的交互。

如果我想确保我的进程运行永远不会从我的cpu被删除,即使有一段时间我永远不会错过有价值的传感器信息或传入的http请求,这是否需要一个实时操作系统来保持这种保证呢?

  • 是由用户/根运行的程序的进程优先级是否足以使其不被启动?
  • 是保证我们的程序永远不会被踢出cpu?

的实时程序。

我知道,实时操作系统是保证硬限制和硬最后期限的事件。我还知道,在常规操作系统上,由操作系统来决定优先级和调度。

如果这是在错误的堆栈让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 09:11:46

你需要在一个固定的时间框架内对传感器读数采取行动吗?这个行动应该有多复杂?如果你所需要的就是永远不要错过一个读数,并且你可以缓冲它们--只要在你的非实时设备和传感器之间添加一个微控制器或FPGA就行了。

此外,即使使用未修补的Linux,也可以确保一些软实时约束。您可以将进程固定在CPU上,并避免在其中使用任何系统--相反,在CPU利用率为100%的情况下,可以旋转和轮询,然后内核可能永远不会碰它。确保进程二进制和所有动态库(如果有的话)都在RAM磁盘上(以避免分页)并禁用交换。

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

https://stackoverflow.com/questions/65730743

复制
相关文章

相似问题

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