如果我要写一个程序,并且我希望保证这个程序永远不会看到一个实例,在它运行之后,它被踢出cpu直到程序终止,那么我需要一个RTOS,还是有一种方法在常规的linux操作系统上获得这样的经验。
示例:允许我们运行无头Linux机器,并以用户或根用户的身份运行程序(例如从传感器读取SPI数据,侦听http请求),并且有理由相信除了运行的单个独立脚本之外,几乎没有其他与机器的交互。
如果我想确保我的进程运行永远不会从我的cpu被删除,即使有一段时间我永远不会错过有价值的传感器信息或传入的http请求,这是否需要一个实时操作系统来保持这种保证呢?
的实时程序。
我知道,实时操作系统是保证硬限制和硬最后期限的事件。我还知道,在常规操作系统上,由操作系统来决定优先级和调度。
如果这是在错误的堆栈让我知道。
发布于 2021-01-15 09:11:46
你需要在一个固定的时间框架内对传感器读数采取行动吗?这个行动应该有多复杂?如果你所需要的就是永远不要错过一个读数,并且你可以缓冲它们--只要在你的非实时设备和传感器之间添加一个微控制器或FPGA就行了。
此外,即使使用未修补的Linux,也可以确保一些软实时约束。您可以将进程固定在CPU上,并避免在其中使用任何系统--相反,在CPU利用率为100%的情况下,可以旋转和轮询,然后内核可能永远不会碰它。确保进程二进制和所有动态库(如果有的话)都在RAM磁盘上(以避免分页)并禁用交换。
https://stackoverflow.com/questions/65730743
复制相似问题