实时计算总是需要实时操作系统吗?
是否可以在通用(通常)操作系统上运行实时应用程序?
答案1
我认为实时计算需要实时操作系统。
实时应用程序的工作原理如下担保,并且操作系统绝对有必要能够提供有关系统调用,调度和硬件的保证,以便应用程序能够在这些基础上提供额外的保证。
至于通用操作系统是否真的适用于实时应用程序,这取决于您的最后期限。如果应用程序有严格的实时限制(工业软件、制导系统、其他高级/危险设备控制器软件),则不行。这些必须在 RTOS 上运行,才能提供所需的安全保障。对于具有较宽松限制的 RT 应用程序,满足这些限制固然很好,但如果它们失败了,也不是世界末日,您可能能够使用专用于该任务的通用操作系统并将应用程序提升到适当的优先级。然而,值得注意的是,虽然这可能适用于 99% 的用例,但它仍然不是实时系统,而且它不再是一个实时应用程序,因为它无法在所有情况下都维持保证。
(请注意,虽然我在上面使用“通用”来严格表示“非实时”,但本质上并没有什么可以排除 RTOS 用作通用操作系统,或者通用系统具有一些具有实时契约的系统调用和优先级。只要应用程序仅使用可以保证在特定时间限制内运行的操作系统,那么它就可以实时运行)