论文部分内容阅读
我国目前的系统软件基本上被国外软件所垄断,民族软件产业发展面临着巨大的困难,国家信息安全难以保证,Linux操作系统的出现无疑使我们可以从高起点起步,为我国发展系统软件创造了巨大的机会。 现代国防、航空等重要领域对计算机的实时性和可靠性提出了更高的要求,十五国防预研项目“嵌入式实时分布系统”要求实时相应,实现服务器容错(三个处理器冗余、处理器可以带电热插拨、处理器之间松散同步)、网络容错(双回路冗余)、任务容错。本文主要研究进程迁移,进程迁移可以实现任务容错,从而提高系统的可靠性。比较国内外较成熟的实时操作系统,以及考虑Linux的源代码共享,系统决定采用在Linux的基础上改造而成的。 本论文主要分为六章,第一章为引言部分,介绍了研究背景、分布式系统、Linux以及进程迁移的国内外状况;第二章~第五章主要对Linux内核源代码进行分析。第二章研究了“嵌入式实时分布系统”的硬件结构和软件体系,第三章和第四章深入的分析了Linux系统中进程的管理以及存储管理,从进程状态的转换出发,深入的分析了进程的创建、执行和消亡;同时分析了进程的调度算法。本文同时结合源代码分析了从虚拟地址到物理地址的映射的过程、物理页面的分配和回收以及进程的内存组织;第五章对分时Linux与实时系统进行了深入的比较,采用了在Linux的底层直接插入一个实时内核的方法来实现Linux操作系统的实时化。第六章讨论了进程迁移中的检查点的设置、检查点文件的生成等关键技术。同时提出一种新的检查点机制,避免了多米诺效应和活锁,并且利用检查点机制,应用Linux中页面的换出原理,实现了对进程的上下文以及其他状态以可执行文件格式保存在磁盘,从而使该进程能在节点发生故障的情况下,将故障机的进程迁出,然后选择其他正常节点机,从断点处继续运行,最终达到对该进程的迁移,并且实现系统负载平衡。