论文部分内容阅读
微内核操作系统作为一种新的操作系统设计思想已经引起人们高度的关注。相比于传统的宏内核操作系统的设计思想,微内核采用模块化的设计方法,最大限度的减小了内核的体积,提高了操作系统的可扩展性、灵活性、移植性、安全性以及可靠性。但是,正是由于微内核操作系统的这种体系结构,系统必须要通过进程间通信(IPC)机制来实现系统的功能。在第一代和第二代微内核操作系统中采用的进程间的通信机制,在一定程度上实现了微内核操作系统设计的功能要求,但是其低效的通信机制还是成为了限制微内核发展的瓶颈。
本文对嵌入式实时微内核操作系统的进程调度和进程间通信机制进行了研究,分析出现行的主流微内核操作系统的进程间通信机制普遍存在进程调度、地址空间切换频繁和消息复制次数过多的问题,增加了系统的开销,严重影响了嵌入式实时微内核操作系统的效率。
在以上研究分析的基础上,本文对嵌入式实时微内核操作系统的通信机制进行了改进:(1)进程调度。本文采用直接进程切换和惰性调度相结合的方法,并对直接进程调度中的时间片分配方法进行了改进,不再采用时间片贡献的方法,而使接收进程获得系统分配的时间片完成进程调度。本方法避免了接收进程被再次调度,从而提高了通信进程的调度效率。(2)进程间通信。本文提出了一种基于共享内存的地址映射机制来实现进程间的通信。通过在内核中建立一块连续的共享内存区域作为消息存放的地址,使得进行通信的进程可以通过映射机制获得共享内存的地址,进而获取消息,提高通信的效率。(3)多核间通信。基于多核架构的内核共享二级缓存和内存,利用这个特点,通过共享内存实现一种改进后的邮箱机制。这种邮箱机制与二级缓存相结合方法,使得处于不同内核的进程可以直接进行通信,大大提高了核间通信的效率。本文改进的通信机制在整体上提高了嵌入式实时微内核操作系统的性能,满足了人们对微内核操作系统的基本要求。
本文在MKOS嵌入式实时微内核操作系统的基础上,依据本文设计的通信模型的原理,对MKOS系统中与通信机制相关的模块进行修改,实现了一个新的嵌入式实时微内核操作系统MKOS Deux。并通过编写两个进程之间进行通信的代码,对MKOS Deux系统通信机制的性能进行了测试。通过对比测试代码在MKOS操作系统以及MKOS Deux操作系统上的运行结果,证明本文设计的微内核通信机制具有良好的性能,更加符合当前嵌入式系统的应用需求。