论文部分内容阅读
嵌入式操作系统(The embedded operating system)是嵌入式系统的软件核心,准确地来说是系统软件的核心组成。随着嵌入式系统在日常生活的不断深入应用,用户对嵌入式操作系统的实时性的要求也越来越高,仅仅靠传统的前后台模式或者反复循环控制模式已经满足不了要求,从而使得嵌入式操作系统的实时性研究备受关注,本文也正是从实时性这个角度出发进行分析和研究。首先,本文借助μC/OS-Ⅱ来进行内核的实时性的分析,从多个方面进行了讨论Linux内核实时性存在的缺陷及改进机制,为嵌入式Linux开发提供了实时依据,着重分析了目前各种嵌入式操作系统的实时调度策略,对其在可调度性,系统响应时间等方面进行了深入的探讨,借助Skyeye仿真环境进行了简单的仿真和比较。其次,本文深入研究了目前两种嵌入式实时调度策略,具体分析了它们之间的不同以及存在的不足,同时针对这些不足提出了基于Linux内核改进方案,进一步防止了系统对进程的堵塞延迟,提高了进程的可调度性,通过改进可以大大提高了系统的实时性。再次,目前所有的实时调度策略基本上都是以相对独立的进程作为调度对象,没有充分考虑到被调度的进程之间的相关性,本文正是从进程之间的相关性入手,提出一种基于入度优先的调度策略,从而在满足所有相关联的进程可调度的情况下,进一步来提高整体的响应能力和实时性,同时通过Skyeye仿真实验验证,该策略能大大减少整体的响应时间,进一步提高了系统的实时性,最后将该基于入度优先的算法具体应用在μC/OS-Ⅱ和RED-Linux来提高进程响应能力。最后,针对实时调度算法与临界资源的使用存在着冲突,从而出现了优先级反转的现象,针对这种现象对进程的实时性和响应速度造成的影响进行分析,比较优先级极限和优先级继承两种解决方案。同时就这两种优先权反转的解决方式进行分析,最后肯定了优先级继承对进程执行流程的影响相对较小,经理论分析,它能大大减少切换次数,从而减少总的响应时间,提高系统的实时性。