优先调度时间片轮转概要.docx

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

文档评论(0)

wangyueyue + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档