当前位置:文档之家› Linu进程调度策略与研究

Linu进程调度策略与研究

摘要多核操作系统已经被广泛应用到我们的日常生活,并让我们的生活更加丰富多彩,系统增加了处理器的数量,这允许以最大化系统任务来分配处理器的性能。

最初,系统中只有一个处理器,在处理器中不用考虑进程的分布,只要根据其他标准作出判断,现在增加了一个非常重要的因素,原标准必须调整到新的标准.而有些CPU在处理器中闲置,有些过载,有必要进行适当的调整,以最大限度地提高整个系统的CPU利用率。

如何找到这些不平衡在外观上如何调整,为了使实施的总时间最小,Cache获得更多使用,这将是本文的重点,从调度到优化系统的性能。

本课题试图分析Linux内核源代码,调度工作原理和规划进程的流程,在此基础上改进系统。

本文主要讨论基于Linux的多芯片SMP的定时进程调度系统,主要内容包括:1. 研究进程管理调度基本原理;2. 分析定时任务调度系统,研究时间片轮转调度机制及优先级计算;3。

在ubuntu系统下实现上面的进程调度程序。

关键词: linux 进程调度分时任务时间片轮转优先级ABSTRACTMulti—core operating systems have been widely used in our daily lives,and make our lives more colorful,the system increases the number of processors,which allows to maximize the system tasks to allocate processor performance。

Initially,there is only one processor in the system,in the processor do not consider the distribution of the process,as long as the other criteria to make judgments, now add a very important factor, the original standard must be adjusted to the new standard。

And some CPU in the processor idle,some overload, it is necessary to make appropriate adjustments to maximize the overall system CPU utilization。

How to find these imbalances in how to adjust,in order to make the implementation of the total time minimum, Cache get more use, it will be the focus of this article, from scheduling to optimize the system performance.This topic attempts to analyze the Linux kernel source code, scheduling the working principle and planning process of the process, on the basis of improving the system. This paper mainly discusses the multi-chip SMP timing scheduling system based on Linux, the main contents include:1。

Research process management scheduling basic principles;1。

Analyze the timing task scheduling system,study the time slice rotation scheduling mechanism and priority calculation;3. Under ubuntu system to achieve the above process scheduler.KEY WORDS:Linux process scheduling time —sharing task time sheet rotation priority目录摘要 IABSTRACT II第1章绪论 11。

1课题研究背景及意义 (1)1。

2 国内外研究现状 (2)1。

3 本文研究内容及方法 (2)第2章进程管理及其调度 (3)2.1基本概念 (3)2。

1.1进程 (3)2.1.2进程在........................ Linux 内核中的实现32。

2线程及其实现 (8)第3章 Linux内核任务调度系统研究 (10)3.1 O(n)调度器 (10)3。

2 Linux 内核 O(1)调度器 (10)第4章 Linux内核任务调度系统研究 (13)4。

1时间片和优先级的计算 (13)4。

1.1时间片的计算方法 (13)4。

1。

2优先级的计算过程 (13)4.2定时调度模型实现 (15)第5章全文总结及展望 (22)5.1 全文总结 (22)5.2 展望 (22)参考文献............................................ 错误!未定义书签。

致谢 (24)第1章绪论1.1课题研究背景及意义随着技术的发展,计算机科学也在不断前进,而CPU 作为计算机最昂贵的资源,发展的速度很快,体积骤减和频率剧增,但是单核处理器的架构越来越繁琐、复杂,不仅给设计带来了相当大的困难,而且还使得CPU 得不到最大化的使用,再加上体积变小,功耗却没有降下来,散热也成了问题,很难使得处理器的设计及实现以及频率的提升能够顺利的进行下去[1]。

一来处理器的频率提升出现了天花板效应,很难再提升。

微处理器性能的提升很大程度是依赖于工业设计的发展,制造CPU 所需的电阻电容等的体积在急剧的变小,这就使得在同一个处理器内集合很多的设计,然而它们之间的连接线路却成了它们的瓶颈,导致了频率不易于提升.所以一些大公司在研发了 3.8G 赫兹这样的高频率CPU 后,就不在这个方向上继续投入开发力度。

二来处理器的功耗也不断飙升.CPU 的制造工艺一直在不停的改善,晶体管的体积革命性的变小,这就便于集成,再加上CPU 的频率提升了,单位面积内功耗比以前更多了,发热量也更大了,这不利于CPU 的稳定工作。

所以转向多核处理器是发展的需要.片上多核处理器CMP(Chip Multi- Processor)[2]就是在那个关键的时刻被提出的,它在一个处理器芯片上封装了多个核心,各个核心能并行地运行各自的任务,非常接近传统的对称多处理器系统(Symmetric Multiprocessors,SMP)[3]。

多核处理器中的每个核都可视为一个独立的单元,并且它的实现起来相对容易,对以后的研发也便于扩展,并且发热也没有比单核处理器少。

多核处理器在频率不变的情况下通过并行运行多个任务来实现性能的提升,也使得CPU 得到了充分的利用。

多核处理器的发展,对操作系统的相关研究既提供了机遇,又提出了更高的要求。

第一,及单核相比,如何在多核环境下各个CPU 间合理地均匀地调派任务才能充分发挥计算机系统结构优势,提高系统整体的性能?其次,如何降低这种底层核心架构的改变对上层计算机系统用户的影响,保持对外接口的稳定?对计算机系统各种使用者而言,最好是实现计算机体系结构尽可能平滑地过渡.一方面,用户界面最好不要发生改变,另一方面,最好能保持对以前开发的软件及程序兼容,节省重复开发的成本。

这些都是在设计和开发多核体系结构下系统软件所必须面对和解决的问题。

但归结为一点,如何高效率的调派任务以便将多核体系结构的性能发挥到极限是多核平台下研发操作系统的核心命题,这是人们对多核系统软件的最大要求.1.2 国内外研究现状针对新的多核平台的相关的操作系统方面的研究从起步至今还比较短暂,许多方面需要完善,特别是缺乏比较完备的进程调度策略。

因此,多核平台下操作系统的进程调度问题是当今比较前沿的一个研究热点。

在本文,我们基于Linux内核研究其在多核环境下的进程调度问题。

尽管相对于其他操作系统的漫长历史来说,Linux 的历史非常短暂,但Linux在从其问世到现在短短的时间之内得到了非常迅猛的发展,已成为主流的多用户多任务的操作系统之一,而且具有良好的特性,特别是其开放性、可靠的安全性及良好的可移植性使其获得了广泛的应用[5]。

Linux 及Unix 完全兼容并且开放源代码,也使其成为操作系统的研究人员的不二选择.从二十世纪六十年代进程的概念由J.H.Sallexer 等人提出以后,人们对进程和任务的组织及调度问题的研究一直是一个热点。

Linux 操作系统之所以受到好评,是因为它的高效率很大程度上要归功于其内核进程调度系统的超凡设计.同时,我们又可以借助其开源特性,将最新的操作系统方面相关的思想、研究和技术融合于Linux 操作系统中,通过修改其内核来个性化定制并进一步完善、优化它。

近年来,基于Linux 的进程调度研究比较活跃.文献[8]分析了Linux 内核的任务调度流程,指出Linux 内核的调度策略综合了时间片轮转和可剥夺式优先级两种调度策略。

高珍等人[9]分析了Linux 内核对SMP 的实现方式。

安智平、张德运等[10]设计了进程调度的Master/Slave 模型,并考虑了该模型在Linux 环境下的实现。

1。

3 本文研究内容及方法1. 研究进程管理调度基本原理;2. 分析定时任务调度系统,研究时间片轮转调度机制及优先级计算;3。

在ubuntu系统下实现上面的进程调度程序第2章进程管理及其调度2.1基本概念2。

1.1进程进程(Process)的概念是在上世纪六十年代被提出的,最初是由MIT 的Multics 和IBM 的TSS/360 系统引用。

至今人们从各方面对进程做出过许多种定义.主要考虑了:(1)进程的并发执行性(S. E. Madnick,J。

T. Donovan);(2)进程作为独立的被系统调度的单位(E. Cohen,D. Jofferson);(3)进程的抽象性以及任务调度时作为系统分配和释放各种资源的单位(P。

Denning);(4)进程及程序的区别。

程序是行为规则的集合,程序的运行即体现为进程(E。

相关主题