论文部分内容阅读
操作系统一直是计算机领域内一个重要的课题,如何构建一个安全并且高效的操作系统,是操作系统研究的目标。
一直以来,操作系统的内核设计有两个方向,微内核结构和宏内核结构。这两种内核结构各有优势,微内核结构的特点是内核足够小,系统服务可以当作上层应用来开发,可扩展性好。然而由于内核服务模块都是以进程的形式运行,决定了它们之间的交互完全是通过进程间通信来完成,如果通讯机制设计不好,就可能严重影响系统效率;宏内核结构的特点是将系统所有的服务都放在内核中,内核的体积变的庞大,可扩展性差,但是由于模块的交互变得简单,所以系统的效率高。
因为微内核结构的操作系统中的一些系统服务可以作为上层应用来开发,所以当某些上层的系统服务出现问题的时候不会影响到其他的上层系统服务,更不会影响到微内核。而在宏内核结构的操作系统中由于所有服务都放在内核中,当一个系统服务出现问题的时候就会影响到其他的系统服务,也会影响到整个内核。因此微内核相比较与宏内核有较好的隔离性。
为了让我们的原型微内核系统NUTOS能够利用虚拟机对它进行监控,因此需要分页的支持,但是,NUTOS没有分页且NUTOS操作系统也没有虚拟内存功能。
因此我们分析了Mach和L4微内核操作系统中虚拟内存管理的不足,主要是性能和功能的不足,提出了新的设计方案,并在NUTOS上实现了原型系统。
此外,NUTOS有了分页的支持,给虚拟机监控提供了基础。同时,新的虚拟内存管理可以为虚拟机提供恰当的语义。
鉴于以上的分析,本文的对微内核操作系统安全虚拟内存研究包括以下方面的内容:
1.微内核下的虚拟内存管理的各模块位置安排和性能之间的关系。主要是分析各类微内核操作系统虚拟内存管理的模块位置安排存在的不足之处,找出位置安排和性能之间的某种联系。在此基础上提出新的设计方案来提高虚拟内存管理的效率和性能。
2.隔离方面,主要是分析和比较微内核操作系统和宏内核操作系统隔离性的差异,以及虚拟内存管理提供的隔离性,最后分析新设计的虚拟内存可以降低操作系统隔离性验证的工作量和难度。
3.安全性方面,分析现有虚拟内存管理安全性的设计不足,主要是从客体重用和机密性角度。
4.功能方面,虚拟机要对客户操作系统进行监控,首先要有客户操作系统分页的支持。此外,还要对客户操作系统的语义在引用监控器中进行重构造,语义的重构需要虚拟内存的支持。