论文部分内容阅读
Minix操作系统是微内核体系结构的典型代表之一,其鲁棒性,安全性,可扩展性等都优于宏内核结构,但微内核将大部分实现操作系统功能的服务移出了内核,形成有各自特定服务的模块并以用户进程的方式运行。对于内核来说,它们和一般的用户进程并无区别,都依靠进程间通信方法进行通信。基于消息传递(Message Passing)的进程间通信机制是微内核系统的基本特点之一。而进程间通信的性能表现是决定微内核系统性能的关键因素,因为绝大多数系统调用通常都被转化为一条消息发送给相应的服务器进程,此时服务器进程也需要向其它服务器进程或系统内核发送相应的消息,即一个系统调用可能需要经过发送/接收多条消息才能够完成预期的任务。而发送消息的进程与接收消息的进程分别为不同进程,要两个不同的进程都有机会运行,这依赖于调度程序的调度,所以一次进程调度是与一次完整的消息处理过程密不可分的。这样的设计加大了消息处理的开销,地址空间的切换也急剧增加。本文正是针对微内核操作系统这一瓶颈,以Minix内核代码为研究对象,进行了完整的性能测评。并针对特定的IA32架构,在深入研究各种不同优化策略后,对Minix内核代码进行了优化与改进,主要内容如下:1.详细研究了Minix操作系统性能测评工具的原理及测评方法。2.详细研究了基于IA32架构的软件优化原则。并对各种优化方法的优缺点进行了比较、分析和简单测试。3.深入研究了Minix内核源代码。根据IA32架构的优化原则,采用3种不同的优化策略对其性能瓶颈部分的内核源代码进行了优化和修改,并重新编译产生新的优化后的内核镜像。4.详细研究了Minix ACK汇编器的实现原理及结构。为了获得汇编器对Minix内核代码修改的支持,本文对汇编器进行了修改,增加了支持Intel SSE指令集的代码,使对Minix的优化成为现实。最后,本文对采用各种优化策略改进后的系统性能进行了综合分析,得出结论,并对未来可进行的研究工作进行了探讨。