操作系统讲稿第三章进程.ppt

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

3.7 作业和进程调度 3.7.1 作业和进程的分级调度 ◆作业调度:按照某种算法从后备作业队列中选择一个或多个作业装入内存投入运行。系统为之创建进程并插入到就绪队列中等待进程调度。 3.7.1 作业和进程的分级调度 ◆交换调度:功能是在内、外存间进行信息交换。 ◆进程调度,从就绪队列中选择一个或多个进程,占用处理机。 ◆线程调度 1.进程调度 方式: 非抢占式(不可剥夺):一旦一个进程占用CPU,便一         直运行下去,直到完成或发生事件阻塞为止,放弃           CPU 特点:简单、不公平 抢占式(可剥夺):当一个进程占用CPU后,由于某种原         因高优先级进程出现、时间片用完,将CPU从原进程         上强行剥夺、重新分配给其他进程 1.进程调度 进程调度的原因: ①结束——进程完成; ②要求I/O操作而得不到满足; ③调wait——自行阻塞; ④高优先权进程剥夺CPU; ⑤时间片已用完 ⑥调P操作——未分配到资源阻塞 调V操作——释放资源唤醒等待资源者 进程调度程序应完成功能: 准备工作: ◆ PCB记录——状态、优先级、资源使用情况、被中断时的CPU现场数据等 ◆ PCB队列组织 ◆ 确定处理机的分配原则。按调度策略,就绪队列中选择一个进程。 进程调度程序应完成功能: ◆从就绪队列中选取、摘下,置执行状态,占用处理机。 ◆ 切换进程上下文:变量和数据结构的值、各种硬件寄存器(PC、PSW、堆栈指针等)的值、进程的PCB以及程序段等。 … ◆ 回收处理机(再切换)。 2. 线程调度 用户级线程:线程库进行管理和调度       (进程局部调度) 核心级线程:系统内核调度       (系统全局调度) 3.7.2 调度算法      吞吐量大——批处理中 不同目标  资源利用率高——批处理中       及时响应——分时系统中 3.7.2 调度算法 1. 先来先服务调度算法 (FCFS-First Come First Service) 按进程进入就绪链的先后顺序,依次(队首)投入运行,直到进程完成或阻塞,放弃CPU重新分配. 队首出 队尾进 特点:简单 配合使用 2. 优先级调度算法(Priority Scheduling) 就绪链中所有进程按优先级从高到低排队,将CPU分配给链首进程。 (1) 静态优先级 创建进程时依任务的轻重缓急程度而确定,并不再动态改变 考虑因素: ①依进程类型 系统进程(优先级较高) 用户进程(优先级较低) ②依进程请求资源类型和数量(短作业优先级高) ③依进入时间顺序,先入高,后到低 ④按申请(用户提出)优先级 (2) 动态优先级 创建时给出一个初始优先级,随后优先级动 态调整。 动态优先级确定原则: ◆占有CPU时间越长,则以后被再次调度的优先级就越低; ◆ (就绪队列)等待CPU时间越长,则它被调度选中的优先级就越高; 静态优先级的非抢占式调度算法举例 静态优先级执行分析 3. 轮转调度算法(Round Robin Scheduling R_R 简单轮转法 ) 时间片:将CPU的处理时间分成固定大小的     时间单位 思想:进程轮流分配CPU时间片    片到(用完时间片未执行结束) ,     释放CPU、插入就绪队列的末尾 轮转调度算法工作原理   4. 分级轮转调度算法(Multilevel Queue Scheduling) 5. 分级反馈轮转调度算法 (Multilevel Feedback Queue Scheduling 升降优先级、更改进程就绪队列: 多级就绪队列分析 ①就绪队列1:新创建的进程 同级阻塞后被唤醒 ②就绪队列n:队列n-1,用完时间片未完成 本队列中已用完时间片未完成 同级阻塞后被唤醒 ③就绪队列i(1in):队列i-1用完时间片 同级阻塞后被唤醒 可采用抢占式调度算法 分级反馈轮转法考虑因素: ① 队列的个数 ② 每个队列的调度算法 ③ 决定何时使进程升入到更高优先级队列的方法 ④ 决定何时将进程降入到更低优先级队列的方法 ⑤ 当进程需要服务时决定进程进入到哪一个队列中的方法 6. 短作业优先算法(SJF:Shortest Job First) 最短作业优先算法:

文档评论(0)

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

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

1亿VIP精品文档

相关文档