您是否需要一个实时操作系统以确保您的程序永远不会脱离 CPU?
Do you need a realtime operating system in order to ensure your program is never taken off the CPU?
如果我要编写一个程序,并且我想保证运行该程序永远不会看到一个实例,在它是 运行 之后,它会从 cpu 直到程序终止,我需要一个 RTOS 或者有没有办法让这样的体验 gu运行 定期 linux os.
示例:
假设我们有一个 运行 一个无头 Linux 机器和 运行 一个程序作为用户或 root(例如从传感器读取 SPI 数据,监听 http 请求)并且有理由相信那里是 almost almost 除了单个独立脚本 运行.
之外没有与机器的其他交互
如果我想确保我的进程 运行 永远不会离开我的 cpu 哪怕是一瞬间,这样我就不会错过有价值的传感器信息或传入的 http 请求,这场战争运行没有一个实时操作系统来保持这个 gua运行tee?
- 用户/root 的程序 运行 的进程优先级是否足以不被启动?
- 是否需要实时 os 来保证 运行 我们的程序从未见证过 cpu 启动的时刻?
我知道实时 OS 需要 gua运行tee 来确定事件的硬性限制和硬性截止日期。我也知道在常规操作系统上,由 OS 决定优先级和调度。
如果这在错误的堆栈中,请告诉我。
您是否需要在恒定的时间范围内根据传感器读数采取行动?这个动作应该有多复杂?如果您只需要不错过任何读数并且可以缓冲它们 - 只需在非实时设备和传感器之间添加一个微控制器或 FPGA。
此外,即使未打补丁 Linux,您也可以确保一些软实时约束。您可以将进程固定到 CPU 并避免在其中使用任何系统调用 - 而是以 100% CPU 利用率旋转和轮询,然后内核可能永远不会触及它。确保进程二进制文件和所有动态库(如果有)都在 RAM 磁盘上(以避免分页)并禁用交换。
如果我要编写一个程序,并且我想保证运行该程序永远不会看到一个实例,在它是 运行 之后,它会从 cpu 直到程序终止,我需要一个 RTOS 或者有没有办法让这样的体验 gu运行 定期 linux os.
示例: 假设我们有一个 运行 一个无头 Linux 机器和 运行 一个程序作为用户或 root(例如从传感器读取 SPI 数据,监听 http 请求)并且有理由相信那里是 almost almost 除了单个独立脚本 运行.
之外没有与机器的其他交互如果我想确保我的进程 运行 永远不会离开我的 cpu 哪怕是一瞬间,这样我就不会错过有价值的传感器信息或传入的 http 请求,这场战争运行没有一个实时操作系统来保持这个 gua运行tee?
- 用户/root 的程序 运行 的进程优先级是否足以不被启动?
- 是否需要实时 os 来保证 运行 我们的程序从未见证过 cpu 启动的时刻?
我知道实时 OS 需要 gua运行tee 来确定事件的硬性限制和硬性截止日期。我也知道在常规操作系统上,由 OS 决定优先级和调度。
如果这在错误的堆栈中,请告诉我。
您是否需要在恒定的时间范围内根据传感器读数采取行动?这个动作应该有多复杂?如果您只需要不错过任何读数并且可以缓冲它们 - 只需在非实时设备和传感器之间添加一个微控制器或 FPGA。
此外,即使未打补丁 Linux,您也可以确保一些软实时约束。您可以将进程固定到 CPU 并避免在其中使用任何系统调用 - 而是以 100% CPU 利用率旋转和轮询,然后内核可能永远不会触及它。确保进程二进制文件和所有动态库(如果有)都在 RAM 磁盘上(以避免分页)并禁用交换。