优先调度、时间片轮转剖析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
优先调度、时间片轮转剖析 优先调度、时间片轮转剖析 PAGE PAGE / NUMPAGESPAGE14 优先调度、时间片轮转剖析 PAGE 《计算机操作系统》课程实验报告 姓名: 学号: 班级: 完成日期: 1 实验题目 实验形式 设 计 目 的 设 计 预 备 知 识 设 计 内 容  进度调换模拟程序 小组合作 □ 独立完成 1.加深对进度、进度控制块及进度队列等看法的理解。 2.认识优先数调换算法、 时间片轮转算法、 先来先服务调换算法、 短作业优先调换算法的详尽推行方法,加深对进度管理各部分内容的理解。 1.进度管理。 优先数调换算法、时间片轮转算法、先来先服务调换算法、短作业优先调换算法。 设计一个最少包括两种调换算法的模拟进度调换程序 (已给出优 先数算法模拟进度调换程序,要求再加进最少一种调换算法,模拟程序的设计可以在给出的优先数算法的基础上增加,也可以自行设计,开 发语言可自选)。 设计的模拟程序要求以下: 1)设计适合所选算法的进度控制块PCB表结构。 2)对不同样的算法建立进度就绪队列。 3)设计的程序中能显示或打印进度控制块的动向变化过程。 一、设计理论描述 优先数调换算法 为了照顾紧迫型作业,使之在进入系统后便获得优先办理,引入了最高优先权优先调换算法,此算法常被用于批办理系统中,作为作业调换算法木,也作为多钟操作系统中的进度调换算法,还可以用于实时操作系统中。当把该算法用于作业调换时,系统将从后备队列中选择若干优先权最高的作业装入内存。 时间片轮转调换算法 在早期的时间片轮转法中,系统将所有的就绪进度依照先来先服务的原则排成一个队列,每次调换时,把CPU分配桂队首进度,并执行一个时间片。当执行时间片用完时,由一个计时器发出时钟中断央求,调换程序便据此信号停止该进度的执行,并将它送往就绪队列的队尾。 2 二、设计思想、设计解析及数据结构模型 1、优先数调换算法 (1)设计思想 按某种原则对就绪队列中的每个进度赐予一个优先级,进度调换时则依照进度的优先级确定选择序次,即把办理机分配给就绪队列中优先级高的进度。由于进度的优先级别平时用数字表示,所以又称为进度的优先数。有些操作系统中规定优先数愈小,其优先级愈高,本设计研究的是优先数愈高,优先级愈高的情况。 优先数调换算法一般可以采用抢占式优先调换算法或非抢占优先调换算法。 在采用抢占式优先调换算法时,系统同样是把办理机分配给优先数最高的进 程,使之执行。但在其执行期间,只要又出现了另一个其优先数更高的进度,进 程调换程序就马上停止目前进度 (原优先数最高的进度)的执行,重新将办理机 分配给新到的优先数最高的进度。 在采用非抢占式优先调换算法时,系一致旦把办理机分配给就绪队列中优先数最高的进度后,该进度便素来执行下去,直至结束;或因发生某事件使该进度放弃办理机时,系统方可再将办理机重新分配给另一优先数最高的进度。这种调换算法主要用于批办理系统中;也可用于某些对实时性要求不严的实时系统中。 (2)设计解析 进度调换所依赖的数据结构平时是调换队列,由于调换的原因不同样,在单办理器系统中设置了多种等待队列;只有就绪队列中的进度可以获得办理器而最后运行,其他队列中的进度从队列中调换出来后,必定进入就绪队列才能分配办理器。 (3)数据结构模型 用结构体变量定义进度控制块的优先级,进度需要占用 CPU的时间 (cputime),运行后还需要CPU的时间,进度的状态,及指向pcb结构体变量的指针。详尽代码以下: typedefstructnode { charname[10]; /*进度表记符*/ intprio; /*进度优先数*/ intcputime;/*进度占用 CPU时间*/ intneedtime;/*进度抵完成还要的时间 */ charstate;/*进度的状态*/ structnode*next;/*链指针*/ }PCB; 3 进度名 优先数  next 占用CPU时间 抵完成还要的时间 状态 2、时间片轮转调换算法 (1)设计思想 时间片轮转的主要思想就是按序次为每一个进度一次只分配一个时间片的时间。算法要完成的功能就是将各个进度依照时间片轮转运行的动向过程显示出来。 时间片轮转算法中,系统将所有的就绪进度按先来先服务的原则排成一个队列,每次调换时,把CPU分配给队首进度,并令其执行一个时间片。时间片的大小从几ms到几百ms。当执行的时间片用完时,由一个计时器发出时钟中断央求,调换程序便据此信号来停止该进度的执行,并将其送往就绪队列的尾端;尔后,再把办理机分配给就绪队列中新的队首进度,同时也让它执行一个时间片。 这样就可以保证就绪队列中的所有进度在必然给定的时间内均能获得一时间片的办理机执行时间。换言之,系统能在给准时间内响应所适用户的央求。 (2)

您可能关注的文档

文档评论(0)

152****7128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档