论文部分内容阅读
传统同步机制容易引起进程死锁和进程优先级的翻转,从而影响到操作系统的实时性和稳定性。嵌入式系统功能的复杂化对系统的实时性和稳定性提出了更高的要求。非阻塞同步机制是一种用于解决进程死锁和优先级翻转问题的新型同步机制,它能够增强系统的健壮性和稳定性,提高系统的实时性,因此本文提出将非阻塞同步应用到嵌入式操作系统的设想。 本文在研究非阻塞同步算法相关实现技术的基础上,总结出锁自由同步和等待自由同步在通用操作系统内核中的应用原则,用以指导非阻塞同步在嵌入式操作系统中的应用。接着分析锁自由同步和等待自由同步应用于嵌入式Linux系统的关键问题,提出相应的解决方案。其中最主要的是改进了原有复杂的锁自由同步算法以及等待自由同步算法中优先级继承策略的实现算法。本文以Montavista Linux为目标操作系统,用PowerPC的内联汇编语言实现了锁自由同步算法中的同步原语CAS,研究出类型稳定的存储器管理机制的具体实现方案,实现了改进后的锁自由同步算法和等待自由同步算法。 本文从系统的同步开销和实时性两方面对嵌入式操作系统中非阻塞同步的正确性和有效性进行验证。实验结果表明,锁自由同步的性能优于传统的阻塞同步;等待自由同步的性能虽然略差于传统的阻塞同步,但是由于它完全避免了进程优先级翻转的发生,增强了系统的稳定性,所以本文认为非阻塞同步在嵌入式环境下的整体性能优于传统的阻塞同步。