文档介绍:关于银河麒麟操作系统的说明国防科技大学计算机学院银河麒麟项目组2006年2月最近,本论坛中有不少网友对银河麒麟的知识产权问题提出了一些质疑,特别是提到了银河麒麟和Linux、FreeBSD的关系问题。首先,银河麒麟开发组感谢大家对银河麒麟的关注和关心,并就此机会对一些相关问题做出说明。一、银河麒麟操作系统的发展历史银河麒麟操作系统采用的是一种层次式的内核结构,该结构介于单一模块内核结构(如Linux)和微内核结构(如CMU大学的Mach)之间。这种层次式结构从逻辑上来看,主要是由具有Mach风格的基本内核层、具有BSD风格的系统服务层和具有Windows界面风格的桌面环境组成,前两层在核态运行。在系统服务层中,银河麒麟操作系统实现了支持POSIX接口和LSB(LinuxStandardBase)接口的Linux应用兼容层,从而保证Linux应用程序的目标代码在银河麒麟上能够直接执行。银河麒麟之所以采用这种层次式的内核结构,既有历史的原因,也有发展角度考虑的因素。国防科大计算机学院从1992年开始,银河巨型机的体系结构从向量机巨型机向大规模并行计算机转变,因此银河巨型机操作系统的技术路线,也从专用的向量巨型机操作系统,转变为采用Unix操作系统。由于巨型机采用大规模并行的体系结构,一台巨型机通常包含成百上千个CPU,一般分为计算节点、I/O节点和服务节点。计算节点主要完成计算任务,功能单一,但对降低系统开销的要求十分高,最适合的操作系统是精简内核的操作系统。I/O节点主要承担系统的输入输出工作,从操作系统角度,可以理解为一组专用的I/O功能服务器,最适合的操作系统是一个定制剪裁的Unix操作系统。服务节点提供用户上机所需的一切环境,最合适的操作系统是一个完整的Unix操作系统,上层软件的支持要丰富。为了适应不同节点的功能需求,当时的银河机操作系统就采用了这种层次式内核结构,基本内核层以CMU大学的Mach为原型/afs/cs/project/mach/public/l,并结合OpenSoftwareFoundation的OSF/1操作系统内核技术,在当时128个MIPSR4000CPU上实现了全64位的操作系统基本内核层,包括存储管理、并行优化调度、Mach特有的Port通讯机制等。同时课题组还利用CMU大学提供的BSDServer实现了系统服务层,但在实际测试中发现当时的BSDServer过于简单,而且还存在大量的Bug,只是提供了Mach内核和BSDServer对接技术,离实际应用还存在较大距离,而当时国际上USL(UnixSystemLaboratory),并且具有丰富的应用软件,为此课题组与英国Unisoft公司合作,,并最终自己实现了 Mach 的基本内核层与 BSD 的系统服务层对接。这样银河操作系统内核中包含基于Mach的基本内核和基于BSD的系统服务,计算节点运行基本内核,I/O节点运行基本内核和部分IO功能服务,服务节点运行一个完整的操作系统。2002 年课题组承担 863“服务器操作系统内核”项目时,对操作系统内核采用何种技术路线也进行了深刻分析和调研,并对当时能够获得的操作系统都进行了评测。由于Linux内核采用GPL规则,极大地限制了课题