![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
* 其他改进
Linux在用户层支持性能良好的futex,实现原理类似于内核优先级继承mutex,仅在产生竞态时进入内核,提高了应用程序性能。此外,实时抢占补丁内核还提供mutex死锁检测、延迟跟踪与测量、中断关闭跟踪与延迟测量、抢占延迟测量等内核调试与诊断、内核性能测量与调优等工具、实时Trace支持( Ftrace)等支持。
现阶段实时化技术在各体系结构上逐渐得到了支持,如表1所示。
![](http://embed.chinaitlab.com/UploadFiles_4615/201105/2011052813525841.jpg)
表1 Linux实时抢占补丁技术支持情况
实时抢占内核延迟
现阶段,实时抢占补丁技术仍处于完善过程中,其表现在以下几点不足。
* 中断延迟
即使不发生中断线程抢占,实时抢占内核相对原来中断服务机制额外增加一对上下文切换时间,用于唤醒中断服务线程执行和进入睡眠状态。此外,内核中还存在少量用raw_spinlock锁禁用中断来保护的临界区,需要计算这些锁造成的中断延迟。
* 任务抢占延迟
内核抢占延迟主要是由于在内核中使用各种锁机制用于控制任务和中断对临界区的访问所造成的,特别是实时抢占内核中为了避免优先级逆转增加的锁机制带来了额外时间负载。
* 内核模块其他延迟
在实时抢占补丁中,内存管理模块还需减少页表错误引起的延迟,降低mlockall内存锁存造成的性能降级影响。实时抢占内核中高精度定时器的使用导致了额外定时器管理时间负载。此外,内核中一些驱动程序需要针对实时应用进行优化来提高实时响应。软浮点处理和软浮点内核仿真需要和实时抢占补丁兼容,能耗管理子系统还需要具备实时系统感知能力。 |
|