linux进程调度策略与研究

上传人:第*** 文档编号:61616991 上传时间:2018-12-07 格式:DOC 页数:28 大小:698.50KB
返回 下载 相关 举报
linux进程调度策略与研究_第1页
第1页 / 共28页
linux进程调度策略与研究_第2页
第2页 / 共28页
linux进程调度策略与研究_第3页
第3页 / 共28页
linux进程调度策略与研究_第4页
第4页 / 共28页
linux进程调度策略与研究_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《linux进程调度策略与研究》由会员分享,可在线阅读,更多相关《linux进程调度策略与研究(28页珍藏版)》请在金锄头文库上搜索。

1、摘 要多核操作系统已经被广泛应用到我们的日常生活,并让我们的生活更加丰富多彩,系统增加了处理器的数量,这允许以最大化系统任务来分配处理器的性能。 最初,系统中只有一个处理器,在处理器中不用考虑进程的分布,只要根据其他标准作出判断,现在增加了一个非常重要的因素,原标准必须调整到新的标准。而有些CPU在处理器中闲置,有些过载,有必要进行适当的调整,以最大限度地提高整个系统的CPU利用率。如何找到这些不平衡在外观上如何调整,为了使实施的总时间最小,Cache获得更多使用,这将是本文的重点,从调度到优化系统的性能。本课题试图分析Linux内核源代码,调度工作原理和规划进程的流程,在此基础上改进系统。本

2、文主要讨论基于Linux的多芯片SMP的定时进程调度系统,主要内容包括:1. 研究进程管理调度基本原理; 2. 分析定时任务调度系统,研究时间片轮转调度机制与优先级计算; 3. 在ubuntu系统下实现上面的进程调度程序。关键词: linux 进程调度 分时任务 时间片轮转 优先级ABSTRACT Multi-core operating systems have been widely used in our daily lives, and make our lives more colorful, the system increases the number of processors

3、, 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 standa

4、rd 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, Ca

5、che 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 discus

6、ses 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 ach

7、ieve the above process scheduler.KEY WORDS: Linux process scheduling time - sharing task time sheet rotation priority目录摘 要 IABSTRACT II第1章 绪论 11.1课题研究背景及意义 11.2 国内外研究现状 21.3 本文研究内容及方法 2第2章 进程管理及其调度 42.1基本概念 42.1.1进程 42.1.2进程在 Linux 内核中的实现 42.2线程及其实现 10第3章 Linux内核任务调度系统研究 123.1 O(n)调度器 123.2 Linux 内核

8、 O(1)调度器 12第4章 Linux内核任务调度系统研究 154.1时间片和优先级的计算 154.1.1时间片的计算方法 154.1.2优先级的计算过程 154.2定时调度模型实现 17第5章 全文总结及展望 245.1 全文总结 245.2 展望 24参考文献 25致 谢 29第1章 绪论1.1课题研究背景及意义随着技术的发展,计算机科学也在不断前进,而 CPU 作为计算机最昂贵的资源,发展的速度很快,体积骤减和频率剧增,但是单核处理器的架构越来越繁琐、复杂,不仅给设计带来了相当大的困难,而且还使得 CPU 得不到最大化的使用,再加上体积变小,功耗却没有降下来,散热也成了问题,很难使得处

9、理器的设计与实现以及频率的提升能够顺利的进行下去1。 一来处理器的频率提升出现了天花板效应,很难再提升。微处理器性能的提升很大程度是依赖于工业设计的发展,制造 CPU 所需的电阻电容等的体积在急剧的变小,这就使得在同一个处理器内集合很多的设计,然而它们之间的连接线路却成了它们的瓶颈,导致了频率不易于提升。所以一些大公司在研发了 3.8G 赫兹这样的高频率 CPU 后,就不在这个方向上继续投入开发力度。 二来处理器的功耗也不断飙升。CPU 的制造工艺一直在不停的改善,晶体管的体积革命性的变小,这就便于集成,再加上 CPU 的频率提升了,单位面积内功耗比以前更多了,发热量也更大了,这不利于 CPU

10、 的稳定工作。所以转向多核处理器是发展的需要。片上多核处理器 CMP(Chip Multi- Processor)2就是在那个关键的时刻被提出的,它在一个处理器芯片上封装了多个核心,各个核心能并行地运行各自的任务,非常接近传统的对称多处理器系统(Symmetric Multiprocessors,SMP)3。多核处理器中的每个核都可视为一个独立的单元,并且它的实现起来相对容易,对以后的研发也便于扩展,并且发热也没有比单核处理器少。多核处理器在频率不变的情况下通过并行运行多个任务来实现性能的提升,也使得 CPU 得到了充分的利用。多核处理器的发展,对操作系统的相关研究既提供了机遇,又提出了更高的

11、要求。第一,与单核相比,如何在多核环境下各个 CPU 间合理地均匀地调派任务才能充分发挥计算机系统结构优势,提高系统整体的性能?其次,如何降低这种底层核心架构的改变对上层计算机系统用户的影响,保持对外接口的稳定?对计算机系统各种使用者而言,最好是实现计算机体系结构尽可能平滑地过渡。一方面,用户界面最好不要发生改变,另一方面,最好能保持对以前开发的软件及程序兼容,节省重复开发的成本。这些都是在设计和开发多核体系结构下系统软件所必须面对和解决的问题。但归结为一点,如何高效率的调派任务以便将多核体系结构的性能发挥到极限是多核平台下研发操作系统的核心命题,这是人们对多核系统软件的最大要求。1.2 国内

12、外研究现状针对新的多核平台的相关的操作系统方面的研究从起步至今还比较短暂,许多方面需要完善,特别是缺乏比较完备的进程调度策略。因此,多核平台下操作系统的进程调度问题是当今比较前沿的一个研究热点。在本文,我们基于 Linux内核研究其在多核环境下的进程调度问题。 尽管相对于其他操作系统的漫长历史来说,Linux 的历史非常短暂,但 Linux在从其问世到现在短短的时间之内得到了非常迅猛的发展,已成为主流的多用户多任务的操作系统之一,而且具有良好的特性,特别是其开放性、可靠的安全性及良好的可移植性使其获得了广泛的应用5。Linux 与 Unix 完全兼容并且开放源代码,也使其成为操作系统的研究人员

13、的不二选择。从二十世纪六十年代进程的概念由 J.H.Sallexer 等人提出以后,人们对进程和任务的组织与调度问题的研究一直是一个热点。Linux 操作系统之所以受到好评,是因为它的高效率很大程度上要归功于其内核进程调度系统的超凡设计。同时,我们又可以借助其开源特性,将最新的操作系统方面相关的思想、研究和技术融合于 Linux 操作系统中,通过修改其内核来个性化定制并进一步完善、优化它。近年来,基于 Linux 的进程调度研究比较活跃。文献8分析了 Linux 内核的任务调度流程,指出 Linux 内核的调度策略综合了时间片轮转和可剥夺式优先级两种调度策略。高珍等人9分析了 Linux 内核

14、对 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

15、, J. T. Donovan); (2)进程作为独立的被系统调度的单位(E. Cohen, D. Jofferson); (3)进程的抽象性以及任务调度时作为系统分配和释放各种资源的单位(P. Denning); (4)进程与程序的区别。程序是行为规则的集合,程序的运行即体现为进程(E. W. Dijkstra); (5)进程是具体操作的序列(Brinch Hansen)。以上关于进程的描述,尽管角度不同,但它们在实质上是相通的,即进程的动态执行性。因此,进程可被定义为可并发执行的程序对相关数据的一次具体的执行过程,是系统调配资源的单位。进程的基本特征有:并发性;动态性;独立性;异步性以及结

16、构特征。 进程在并发执行过程中总是相互制约的。进程在其活动期间至少具备三种基本状态,它们是:执行状态、就绪状态和等待状态。进程的状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。进程在执行期间,可以在三个基本状态之间进行多次转换。2.1.2进程在 Linux 内核中的实现进程由操作系统创建。具体到 Linux 环境下,系统可以通过调用 fork()函数复制一个现有进程来生成新的进程13。调用 fork()函数的进程是父进程,复制出的进程是子进程。fork()函数返回后,父进程从返回点继续执行,子进程从返回点独立运行。fork()函数在父进程和子进程的返回值不同。另外,f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号