1. Linux操作系统实时性
1.1 实时系统
所谓实时系统,就是系统中计算结果的正确性不仅取决于计算逻辑的正确性,还取决于产生结果的时间。如果完成时间不符合要求,则可以说系统发生了问题。
本质上是一个软件问题,更换性能更强的硬件设备虽然可以加快产生结果的时间,但与操作系统的实时性并无直接关联。实时系统的核心在于内核是否可以无条件的被中断抢占。
根据超出时间限制造成的影响可分为软实时与硬实时。软实时后果可以接受,硬实时则对应毁灭性后果。
1.2 影响因素
- 内核抢占机制
Linux系统中进程运行在用户空间和内核空间中,在用户空间中,较高优先级的进程可以抢占低优先级进程,但在内核空间中运行的进程完全不受用户干扰。Liunx2.6版本后内核可设置为抢占式的,但在临界区还是不可抢占。意味着当进程通过系统调用进入内核态时,实时任务也需要等待系统调用返回才能获得系统资源。
- 中断屏蔽机制
Linux为了提高系统的安全性,当内核处理中断信息时,会屏蔽所有中断,在此期间如果有高实时性进程产生中断,也无法被立即处理,降低了Linux系统的实时性。 - 时钟粒度
Linux2.6以后版本可提供50~1200Hz的时钟频率,能实现毫秒级的响应精度,但对很多微秒级要求的嵌入式系统&#