实验1进程调度算法2015.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验1进程调度算法2015

实验1 进程调度算法 1、实验目的 进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程 状态转换,它提供了在可运行的进程之间复用CPU 的方法。在进程管理中,进 程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于 就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进 程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进 程调度工作的理解,掌握不同调度算法的优缺点。 2、实验内容 选择两个调度算法作为两个实验题目,实现处理器调度。 3、实验要求 要求完成以下功能:运行处理器调度算法,显示就绪进程队列、显示运行进 程队列、显示阻塞进程队列、创建新进程、阻塞进程、唤醒进程、删除进程、退 出程序。 4、实验预习内容 (1)进程控制块 为了管理和控制进程,系统在创建每一个进程时,都为其开辟一个专用的存储区,用以 随时记录它在系统中的动态特性。而当一个进程被撤消时,系统就收回分配给它的存储区。 通常,把这一存储区称为该进程的“进程控制块” (Process Control Block )。 由于PCB 是随着进程的创建而建立,随着进程的撤消而取消的,因此系统是通过PCB 来“感 知”一个个进程的,PCB 是进程存在的唯一标志。 (2 )进程控制块队列 在多道程序设计环境里,同时会创建多个进程。当计算机系统只有一个CPU 时,每次 只能让一个进程运行,其他的进程或处于就绪状态,或处于阻塞状态。为了对这些进程进行 管理,操作系统要做三件事。 ①把处于相同状态的进程的PCB ,通过各自的队列指针链接在一起,形成一个个队列。 通常有运行队列、就绪队列、阻塞队列。 ②为每一个队列设立一个队列头指针,它总是指向排在队列之首的进程的PCB 。 ③排在队尾的进程的PCB ,它的“队列指针”项内容应该为“NULL”,或一个特殊的符号, 以表示这是该队的队尾PCB 。 在单 CPU 系统中,任何时刻都只有一个进程处于运行状态,因此运行队列中只能有一个 PCB ;系统中所有处于就绪状态的进程的PCB 排成一队,称其为“就绪队列”。一般地,就 绪队列中会有多个进程的PCB 排在里面,它们形成处理机分配的候选对象。如果就绪队列 里没有PCB 存在,则称该队列为空;所有处于阻塞状态进程的PCB ,应该根据阻塞的原因 进行排队,每一个都称为一个“阻塞队列”。比如等待磁盘输入/输出进程的PCB 排成一个队 列,等待打印机输出进程的PCB 排成一个队列等。所以,系统中可以有多个阻塞队列,每 个阻塞队列中可以有多个进程的PCB ,也可以为空。 (3 )进程调度算法 进程调度算法用于确定就绪队列中的哪一个进程即将获得 CPU 。常用的进 程调度算法有先来先服务法、时间片轮转法、优先数法等。 ①先来先服务调度算法 先来先服务调度算法的基本思想是:以到达就绪队列的先后次序为标准来选 择占用处理机的进程。一个进程一旦占有处理机,就一直使用下去,直至正常结 束或因等待某事件的发生而让出处理机。采用这种算法时,应该这样来管理就绪 队列:到达的进程的PCB 总是排在就绪队列末尾;调度程序总是把CPU 分配给 就绪队列中的第一个进程使用。 ②时间片轮转法 时间片轮转调度算法的基本思想是:为就绪队列中的每一个进程分配一个称 为“时间片”的时间段,它是允许该进程运行的时间长度。在使用完一个时间片后, 即使进程还没有运行完毕,也要强迫其释放处理机,让给另一个进程使用。它自 己则返回到就绪队列末尾,排队等待下一次调度的到来。采用这种调度算法时, 对就绪队列的管理与先来先服务完全相同。主要区别是进程每次占用处理机的时 间由时间片决定,而不是只要占用处理机就一直运行下去,直到运行完毕或为等 待某一事件的发生而自动放弃。 ③优先数调度算法 优先数调度算法的基本思想是:为每一个进程确定一个优先数,进程就绪队 列按照优先数排序。 如何确定进程的优先数(也就是进程的优先级)?可以从如下几个方面考虑。 ⅰ)根据进程的类型。系统中既有系统进程,又有用户进程。系统进程完成 的任务是提供系统服务,分配系统资源,因此,给予系统进程较高的优先数能够 提高系统的工作效率。 ⅱ)根据进程执行任务的重要性。重要性和紧迫性高的进程应当被赋予较高 的优先级。 ⅲ)根据进程程序的性质。一个 CP

文档评论(0)

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

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

1亿VIP精品文档

相关文档