论文部分内容阅读
随着超线程和多核等新兴技术不断涌现,当前的SMP系统硬件结构更加复杂,系统硬件性能也更加强劲,随之而来的问题是:传统的SMP操作系统已不能充分发挥现代SMP硬件系统性能,为了适应当前硬件技术的这种变化,我们有必要在研究传统SMP系统的基础上,对操作系统中那些不适应的部分加以改进或用新的算法替换,从而使软件系统能最大限度地发掘硬件系统的潜在性能。本论文首先介绍了课题研究背景和研究意义,简要阐述了目前在单个处理器物理封装中实现多个进程或线程并行执行的两大主流技术:同时多线程技术(Simultaneous Multi-Threading,SMT)和多核技术(Chip Multi-Processor,CMP),另外论文还概要介绍了Linux操作系统以及该系统在研究smp系统调度时的重要作用。其次,论文剖析了经典的smp系统组织结构以及各种操作系统中常用的一些经典进程调度算法,这些硬件架构知识和软件概念都为我们后面研究smp操作系统进程调度算法打下了坚实基础。接下来论文将理论联系实际,以最新版本的Linux内核作为研究对象,详细剖析了它的进程调度系统。当前的Linux内核采用了一种全新的名为完全公平调度(Completely Fair Schedule,CFS)的进程调度策略,为了能够理解CFS的调度原理以及它对smp系统的相关支持,论文在详细介绍CFS调度原理的同时,剖析了对应的CFS调度源代码。论文最后章节总结了影响smp调度系统性能的几大关键因素,并分析了我们在设计smp调度系统时应注意的设计要点,以这些理论分析为基础,论文提出了一个高效的smp调度系统模型。在前面章节理论分析的前提下,论文还以一个针对Linux内核的smp系统进程调度优化作为结尾,介绍了我们应当如何对smp调度系统优化进行思考以及在有了优化方案后如何把方案应用于实践并做出实验及验证分析。