操作系统实验报告-模板

操作系统实验报告-模板

ID:20453992

大小:231.93 KB

页数:15页

时间:2018-10-10

操作系统实验报告-模板_第1页
操作系统实验报告-模板_第2页
操作系统实验报告-模板_第3页
操作系统实验报告-模板_第4页
操作系统实验报告-模板_第5页
资源描述:

《操作系统实验报告-模板》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、HUNANUNIVERSITY题S:调度器学生姓名:学生学号:201308010314专业班级:计科1303同组成员:上课老师:肖德贵-X喃2-X醐2三、实验设计思想和流程2四、主要数据结构及符号说明5五、程序初值及运行结果7六、实验体会和思考题7附录(源代码及注释)7一、内容亥跆五完成了用户逬程的管理,可在用户恣这行多个逬程。但到0前寿止,采用的说度策略是很®#的FIFO训度策略。本次衮淼,主要是熟悉ucore的系後渊度器框架,以及基于此框架的Round-Robin(RR)训度算法。然后参考KR镧度算法的衮從,完成StrideSchedulin

2、g讽度算法。二、目的理解操作系统的调度管理机制熟悉ucore的系统调度器框架,以及缺省的Round-Robin调度算法基于调度器框架实现一个(StrideScheduling)调度算法来替换缺省的调度算法三、实验设计思想和流程行一个进程镧度策略,到底需要安现哪些基本功能的右的数据Q怕?首先考虑到一个无於唧种渊度算法都需要抻-个就鐽进程來占用CHJ注行。老此我們可把就鐽(2程汨a起來,nJ用队列(双向铋表)、二叉树、G黑树、数⑦…等不同的⑦O.方式。在操作方而,如果需要(I特一个就命(2程,就可以从基于某种CfKx方式的就命(2程集合屮it特出一个

3、进程M行。需要注意,里抻”和“出”是兩个操作,il抻是在集合中挑il一个“合适”的进程,“出”意味着离开就鋒进程集合。另外考虑到一个处于这行恙的(2程G会由于某种原因(比如向向片用完了)回到就命6而不能这鎮占用CPUM行,Ci就会重新进入到就命(2程集合巾。Ci系种情况就形成了渊度器相关的三个基本操作:在就命进程集合中CI抻、进入就命进程集合和离开就命进程集合。三个操作属于镧度器的基本操作。在(2程的M行过程中,就命(2程的等待0.*)向和M行(2程的M行0^向影吻镧度CI枒的重要因素,兩个因素随着时向的流逝和各种事件的笈生在不停地爰化,比如让于

4、就命感的(2程等待诚度的时®在増长,处于这行感的进程所消耗的时®片在減少等。d些(2程状卷爰化的情况耑要及时钍进程渊度器知道,便于CI絝更合适的(2程M行。所以Ci种(2程爰化的情况就形成了《度器相关的一个爰化感知操作:timer幻向事件感知操作。Ci辟在(5程注行或等待的过程屮,训度器可以训整(2程控制M屮与(2程淡度相关的属性0(比如消耗的的f句片、逬程说先做等)并可能#致吋进程伯O•形式的镧整(比如以时向片大小的顺序来重排双向铋表等),并最為可能导致渊捋新的(2程占用CPU这行。<1个操作属于说度器的(2程说度属性说整操作。考察round-

5、robin说度器,在假设所有进程都充分使用了其挪有的CPU吋向资源的情况下,所有(2程得到的CPU吋向右#是相等的。但是有M候我們希望碉度器能够更智能地寿每个逬程分配合理的CPU资源。假沒我扪寿不同的逬程分配不同的说先级,則我们有可能希望每个(2程得到的吋fn源与他们的说先値成正比关系。Stride镧度是基于<£种想法的一个鉸寿典型和®津的算法。除了®津易于安從以外,它G有如下的特点:可控性:如我們之前所希望的,可以妞明StrideScheduling妁逬程的镧度次数正比于其优先値。确定性:在不考虑针时器事件的情况下,整个诚度机制都是可獨知和重捉

6、的。枝算法的基本思想可以考虑如下:1.为每个runnable的进程從賈一个当前状惑stride,表示枝(2程当前的渊度权。另外定义K•吋右的passd表示3=)(2程在渊度后,stride需要(2行的累加(患。2.每次W要说度的,从当前runnable卷的(2程中Cl牌stride最小的(2程诚度。1.吋于荻得镧度的(2程P,将劝右的stride加上其的右的步长pass(只与进程的优先杈有关系)。2.在一段固定的时向之后,回到2.步旅,重新谈度当前stride最小的(2程。可以<0:明,如果令P.pass=BigStride/P.priority

7、苏中P.priority表示(2程的说先权(大于1),而BigStride表示一个獨先定义的大常数,糾权渊度方案卷每个(2程分配的吋向将与其说先値成正比。4明过程我們在冱里略去,有并趣的同学可以在网上<•找相关资料。将枝调度器右用到ucore的镧度器框架巾來,糾耑要将讥度器接口囊铤如下:init*-初始化镧度器类的信息(如果有的務)。-初始化当前的注行K列卷一个空的容器G拘。(比如和RR镧度算法一辟,初始化寿一个有序列表)enqueue-初始化則(2入这行氏列的逬程proc的stride属性。-将proc插入放入注行A列屮去(注意:里并不要求放置

8、在K列炎部)。dequeue-从这行A列中刪除相在的元素。picknext-加描整个注行队列,返回其中stride位最小的吋在($程。-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。