Windows 能实现硬实时吗?

Windows 能实现硬实时吗?

我了解到 Windows 是一个抢占式操作系统。但是,可以选择将进程优先级设置为“实时”。Windows 中具有“实时”进程优先级的进程可以被抢占吗?如果可以,它们是否能够以某种方式满足硬实时截止时间?

答案1

Windows 不具备硬实时功能。并且它是一个抢占式操作系统。

在实时优先级下运行的线程可能会被另一个优先级更高的线程抢占。实时是分配给进程的优先级类别。在该类别中,线程可以具有各种单独的优先级。或者实时线程可能会被中断抢占。即使是最低优先级的中断也优先于最高优先级的线程。还有其他因素可能会延迟线程的执行,其中一些是程序员无法控制的。即使是简单的内存访问也可能导致硬页面错误,从而导致磁盘访问需要数毫秒才能完成。

有人说 Windows 是一个软实时操作系统。这样的系统会尽最大努力满足实时约束,但不能做出承诺。已知且相对频繁地出现无法满足实时约束的情况。这对于硬实时来说还不够好。硬实时操作系统必须做出承诺,并且必须信守承诺。光尝试是不够的。

硬读时间操作系统有必须满足的最后期限。此类操作系统可用于控制时间至关重要的工业流程。超出允许参数的延迟可能会带来灾难性的后果。

必须从头开始设计硬实时操作系统。这并不容易。Windows、Linux 和 Mac OS 等通用操作系统在实时方面表现并不特别好,在硬实时方面则完全不行。实时操作系统不是好的通用操作系统。它们差别太大了。

相关内容