论文摘要
随着硬件性能的提高,实时应用对操作系统的性能和功能也提出了越来越高的要求。而现有商业RTOS(Real-Time Operating System)不是功能过于简单就是价格过于昂贵,缺少一个开放的、标准的、有广泛支持的、高效而又廉价的实时操作系统,因此很多机构开始研究将功能强大的通用操作系统改造成实时操作系统。Linux具有功能强大、免费、开放源码、支持多种硬件平台、模块化设计、函数接口符合国际和工业标准等特点,成为研究的首选操作系统。但是Linux的调度机制决定了它是一个分时系统,其不可抢占的内核、粗糙的时钟粒度、频繁的关中断、虚存和其它缓冲机构的设置,使得Linux的实时性不强。对Linux进行实时改造主要有两种技术方案。一种是对标准Linux内核进行直接修改,通过减小操作系统的调度延迟,优化Linux的实时性能,达到软实时的标准;另一种是采用双内核方案,增加一个实时内核,所有有实时要求的任务都在这个实时内核上运行,标准Linux内核作为这个实时内核优先级最低的一个进程,这种方式可以实现硬实时。本文研究了采用双内核结构对Linux进行实时改造的典型方案RTAI,分析了其基本原理和实现机制,并且生成和测试了其实时内核原型,进而指出了其存在的不足,尤其是调度算法方面的不足。针对其多处理器调度算法存在的不足,提出了一种多处理器分组实时调度算法,该调度算法充分结合了多处理器局部调度算法和全局调度算法的优点,并且弥补了局部调度算法在M个处理器系统中优先级最高的M个任务可能得不到优先调度的不足,同时也克服了全局调度算法中存在的调度时间过长的问题。最后在RTAI内核中实现了RM(单调速率)和EDF(最早截至时间优先)调度算法以及多处理器分组调度算法。RTAI可以将任务分配到指定的处理器分组,同时各个分组也可以选择各自的调度算法。验证表明,多处理器分组调度算法能有效的提高RTAI在多处理器系统中的实时性,扩大了RTAI的应用范围。
论文目录
摘要Abstract第一章 引言1.1 课题的背景1.2 课题的研究意义1.3 国内外研究现状1.3.1 RTLinux1.3.2 RTAI1.3.3 KURT1.3.4 Hard-hat Linux1.4 课题来源与研究内容1.5 论文组织第二章 标准Linux的特性研究2.1 Linux的发展回顾2.2 Linux与GNU公用许可证(GPL)2.3 Linux系统的构成2.4 Linux操作系统的体系结构2.4.1 什么是操作系统的体系结构2.4.2 操作系统体系结构的分类2.4.2.1 微内核(Microkernel)2.4.2.2 单内核(Monolithic Kernel)2.4.3 Linux内核体系结构2.5 标准Linux操作系统的实时性制约因素分析2.5.1 Linux的分时特性2.5.2 Linux系统实时应用存在的问题2.5.3 Linux的实时性能测试2.5.3.1 中断延迟测试2.5.3.2 上下文切换测试2.6 Linux2.6增强的实时性2.6.1 O(1)调度器2.6.2 可抢占式内核2.6.3 存储管理2.6.3.1 引入内存池机制2.6.3.2 改善虚拟内存2.6.3.3 共享内存的改进2.7 本章小结第三章 几种流行的Linux实时方案研究3.1 标准内核改造方案3.1.1 低延迟补丁3.1.2 完全可抢占内核3.1.3 性能分析3.1.4 标准Linux内核实时化改造3.1.4.1 标准内核实时化改造实例——Kurt-Linux3.2 双内核实时化方案3.2.1 双内核方案的原理3.2.2 采用双内核的操作系统实例3.2.2.1 RT-Linux3.2.2.2 RTAI3.3 Linux实时化方案评价3.4 本章小结第四章 Linux RTAI实时方案的技术分析4.1 Linux可加载内核模块机制4.2 RTAI原理与机制4.3 ADEOS4.4 RTAI主模块的实现4.5 RTAI的其它功能模块schedmodule'>4.5.1 任务调度模块rtaischedmodulefifosmodule'>4.5.2 命名管道模块rtaififosmoduleshmmodule'>4.5.3 RTAI共享内存模块rtaishmmodulelxrtmodule'>4.5.4 LXRT模块rtailxrtmodule4.6 RTAI下的实时任务4.7 RTAI的实时性能测试4.8 本章小结第五章 多处理器实时调度算法的研究5.1 引言5.2 局部调度算法5.3 全局调度算法5.4 局部调度与全局调度算法的比较5.4.1 全局调度算法的优点5.4.1.1 支持共享资源任务调度5.4.1.2 支持动态任务调度5.4.1.3 时间隔离5.4.1.4 容错和超载5.4.1.5 支持非迁移实时任务调度5.4.2 全局调度算法的缺点5.4.2.1 调度时间5.4.2.2 上下文切换时间5.5 处理器分组调度算法5.5.1 APPPF调度算法5.5.1.1 APPPF算法描述5.5.1.2 算法流程图5.5.2 NAPPPF调度算法5.5.2.1 NAPPPF算法描述5.6 处理器分组调度算法与全局调度算法的比较5.7 仿真验证5.8 本章小结第六章 RTAI的多处理器实时调度改进6.1 多处理器下的RTAI调度机制6.2 多处理器下RTAI实时调度算法的改进6.2.1 RMS调度算法的实现6.2.2 EDF调度算法的实现6.2.3 分组调度算法的实现6.2.4 RTAI调度扩展的部分源代码6.3 测试验证6.3.1 搭建测试平台6.3.2 各个实时任务的主函数6.3.3 内核模块加载和卸载部分6.3.4 Linux下的接收进程(Show进程)6.3.5 测试结果6.4 本章小节第七章 结束语7.1 论文工作总结7.2 论文研究的主要贡献与创新7.3 不足与展望致谢参考文献攻硕期间取得的研究成果
相关论文文献
标签:实时操作系统论文; 处理器分组调度算法论文;