嵌入式Linux实时化技术
● 其他改进
本文引用地址:https://www.eepw.com.cn/article/106458.htmLinux在用户层支持性能良好的futex,实现原理类似于内核优先级继承mutex,仅在产生竞态时进入内核,提高了应用程序性能。此外,实时抢占补丁内核还提供mutex死锁检测、延迟跟踪与测量、中断关闭跟踪与延迟测量、抢占延迟测量等内核调试与诊断、内核性能测量与调优等工具、实时Trace支持( Ftrace)等支持。
现阶段实时化技术在各体系结构上逐渐得到了支持,如表1所示。
实时抢占内核延迟
现阶段,实时抢占补丁技术仍处于完善过程中,其表现在以下几点不足。
● 中断延迟
即使不发生中断线程抢占,实时抢占内核相对原来中断服务机制额外增加一对上下文切换时间,用于唤醒中断服务线程执行和进入睡眠状态。此外,内核中还存在少量用raw_spinlock锁禁用中断来保护的临界区,需要计算这些锁造成的中断延迟。
● 任务抢占延迟
内核抢占延迟主要是由于在内核中使用各种锁机制用于控制任务和中断对临界区的访问所造成的,特别是实时抢占内核中为了避免优先级逆转增加的锁机制带来了额外时间负载。
● 内核模块其他延迟
在实时抢占补丁中,内存管理模块还需减少页表错误引起的延迟,降低mlockall内存锁存造成的性能降级影响。实时抢占内核中高精度定时器的使用导致了额外定时器管理时间负载。此外,内核中一些驱动程序需要针对实时应用进行优化来提高实时响应。软浮点处理和软浮点内核仿真需要和实时抢占补丁兼容,能耗管理子系统还需要具备实时系统感知能力。
实时抢占内核性能测试
本文在Intel Pentium M 1.7GHz处理器上进行了测试。测试环境包括:Linux内核2.6.25.8最小配置;patch-2.6.25.8-rt7实时补丁;libc 2.5+和busybox-1.10.0构建initrdfs方式的根文件系统。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论