1 / 18
文档名称:

实验10 改进进程调度算法.pdf

格式:pdf   页数:18页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验10 改进进程调度算法.pdf

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

实验10 改进进程调度算法.pdf

文档介绍

文档介绍:改进进程调度算法
实验目的:
进程调度就是计算机的灵魂。进程调度算法是解决如何使资源分配策略最优
化的关键。本实验通过实现一个被称作公平调度(fair-share scheduling)的进程调度
算法,以便更深刻地理解 Linux 的进程调度机制。
实验内容:
认真阅读实验提示,实现一个公平调度(fair-share scheduling)的进程调度算
法。
实验提示:
一、公平分享的调度策略
Linux 的调度算法是相对独立的一个模块,而且较容易理解。因此很多系统高手都爱对
调度算法做改进。但是可以说调度器是一个非常神秘,难以捉摸的精灵。可能通过改变一个
关键参数你就可以大大提高系统的效率。那下面让我们来进入这个神秘的世界,把握这个莫
测的精灵。
Linux 核心在台式机上有很高的效率。对于一般进程,CPU 的使用时间都是系统平均分
配给每一个进程的,因此这种公平分享都是从进程的角度出发的。让我们来考虑一个 Linux
系统在多用户登录下的情况:用户 Shark 和 Wood 登录到了同一个 Linux 系统上,Shark 开
了 100 多个线程用于图象处理工作,而 Wood 只编译一段 C 代码。对于现今 Linux 系统的调
度策略,系统将大部分的 CPU 时间分配给了 Shark,而 Wood 得到的 CPU 时间不到 1%。这
对于 Wood 来说似乎并不是非常的公平,他定会为此而感到忿忿不平而抱怨系统的低效。因
为用户所感受的系统响应主要依赖于系统的负载以及因此而等待 CPU 的时间。

60
进程使用CPU
50 时间
(jiffies)
40
30
20
10
0
进程0 进程2 进程3 进程4 进程5

图 1 SCHED_OTHER 算法对 CPU 时间的分配
为此,Bach 在 1986 年提出了公平分享调度策略(Fair_Share scheduling)来解决这个问
题。和 Linux 三种内建策略比,公平分享调度策略是一种更抽象的调度策略。它认为 CPU
应该根据拥有进程的组(对 Linux 来说是用户)来分配时间,它实现了从用户角度考虑的公
平原则。例如,假设 Tom,Dick,Harry 分别属于不同的组,它们登录到了一台采用公平分
享调度策略的机器上,Tom 只有一个运行的进程,Dick 有三个,而 Harry 有六个。使用该策
略时,并不是每个进程得到 10%的 CPU 时间,而是每个组分配到 1/3 的 CPU 时间。因此
Tom 唯一的进程得到 33%可用的 CPU 时间,Dick 的每个进程得到 11%可用的 CPU 时间,
而 Harry 的每个进程得到 %可用的 CPU 时间。如果 Betty 属于 Dick 的组,当她登录到该
计算机并创建两个进程之后,Tom 还是能够得到 1/3 的 CPU 时间。而 Dick 和 Betty 的五个
进程就一起平均分用 1/3 的 CPU 时间,每个进程就能分到大约 %的 CPU 时间。Harry 的
六个进程仍然平均使用 %的 CPU 时间。

100
用户占用CPU
80 时间
(jiffies)
60
40
20
0
用户A 用户B 用户C 用户D

图 2 实现公平分享算法的系统对 CPU 时间的分配
由内核的结构来看,实现这个算法有很多种方式。我们可以在与调度相关的程序里做小
小的改动来实现,如改动一些数据结构并改写 schedule()函数。当然也可以做得很复杂,比
如重写 schedule()来实现所需要的结果。但是有一点我们是要必须牢记的,那就是大部分的
Linux 核心都是以短小高效为最高目标。所以,改进的算法必须尽量向这个目标靠拢。
这一章需要完成的实验包括两项内容:第一,实现公平分享算法,并用该算法替换原系
统中的调度算法进行系统进程调度;第二,编写用户级的程序来观察算法的运行情况,验证
公平分享算法的效果。
为此,大家必须先熟悉诸如 SCHED_OTHER 这些术语以及理解什么是实时进程等一些
基本概念。在此基础上,对 Linux 源代码中关于进程调度部分程序的分析也是必不可少的。
完成了这些工作之后,你是不是已经跃跃欲试了呢?那就让我们开始吧。
二、新调度策略的实现

首先,在动手之前需要好好考虑一些问题。因为修改调度算法并不像写应用程序这么轻
松,如果出现任何逻辑上的错误,那我们面临的将是系统死机的威胁。并且调试系统内核代
码的方法较繁琐,调试过程需要重新编译内核。所

最近更新

二零二五年度节目录制场地租赁合同范本 3页

超市员工转正申请书14篇 12页

语文《检阅》教案(精选9篇) 28页

生态农庄办房屋租赁合同 3页

二零二五年度荒山林地林业碳汇项目承包经营合.. 3页

精选小班美术教案范文八篇(精选8篇) 15页

生鲜牛奶购销合同(通用2篇) 6页

《医疗器械经营监督管理办法》培训试题及答案.. 13页

毕业求职信(精选2篇) 3页

村计划生育工作计划(精选3篇) 7页

辽宁省鞍山市腾鳌中学2021年高二地理下学期期.. 9页

暑假趣事的日记(精选9篇) 7页

春天幼儿音乐教案(精选13篇) 27页

新学期开学第一天演讲稿(精选9篇) 15页

酒店会计主管岗职责(5) 2页

酒店工程维修案例-空调坏了吗 2页

二零二五年度货车司机劳动合同争议调解协议范.. 2页

采购部年终工作总结 4页

二零二五年度货车转让合同范本,含车辆年检与.. 3页

幼儿教师个人新学期工作计划(精选4篇) 7页

幼儿园教师开学寄语(通用4篇) 5页

幼儿园大班语言教案落叶(精选11篇) 39页

幸福就在身边优秀作文(通用5篇) 5页

工作方案(通用9篇) 28页

重庆尖山中学2022年高三物理期末试卷含解析 6页

重庆巴南实验中学2020年高一英语期末试题含解.. 5页

小学安全工作计划(通用11篇) 34页

家庭教育的心得体会(精选5篇) 8页

重庆梁平中学2022年高三语文联考试题含解析 13页

二零二五年度跨境出口货运代理委托协议书 3页