第1讲操作系统如何管理进程.ppt

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

调度准则 用户 周转时间短 响应时间快 截止时间的保证 优先权准则 系统 系统吞吐量高 公平、高效利用处理机 各类资源的平衡利用 从任务开始到任务结束的时间 从用户输入到产生反应的时间 周转(响应)时间短 ? 在就绪队列中的时间等待时间短 单位时间完成的任务数量 吞吐量大 ? CPU使用率高 + 上下文切换代价小 存在矛盾的目标集合 响应时间短与公平性之间的矛盾 响应时间短 ? 前台任务的优先级高 前台任务总优先调度 ? 后台任务得不到CPU 吞吐量和响应时间之间的矛盾 吞吐量大 ? 上下文切换代价小 ? 时间片大 时间片大 ? 响应时间大(10 ? 10ms vs. 10 ? 500ms) …… 协调多个目标是操作系统之所以复杂的 一个重要原因,也是复杂系统的一个基本特点 考虑因素 Cpu调度要考虑任务特点 交互式任务 vs 批处理任务 CPU-bound任务 vs I/O-bound任务 要考虑算法的复杂度 交互式任务注重对用户的响应,批处理任务注重对任务吞吐量 CPU-bound任务 vs I/O-bound任务 任务的CPU-IO区间的周期特性 任务生存期: I/O(载入), CPU, I/O, CPU, .., CPU (exit()) CPU区间长度(ms) 频率 CPU-bound I/O-bound CPU区间 CPU区间 CPU调度应综合考虑 ? 调度算法的实现 复杂调度算法 vs. 调度程序执行时间 兼顾许多特点会造成复杂的调度算法 调度程序执行时间应尽量短 就绪队列的数据结构: 队列,多级队列,树,小根堆 不可能设计完美的调度算法,只能根据应用的特征 进行折衷权衡。这是操作系统等复杂系统的设计精髓! 例子 下表列出了5个进程的执行时间以及优先级别,优先数越小优先权最高,假设5个进程同时到达,忽略进程的调度时间,分析在采用下述几种调度算法下的调度次序,计算平均周转时间以及带权平均周转时间 先来先服务(到达顺序p0p1p2p3p4) 时间片轮转(时间片为10ms) 优先权 进程名 CPU时间(ms) 优先数 P0 P1 P2 P3 p4 20 15 35 25 40 3 1 4 2 5 10 周转时间 一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。 带权周转时间 一个作业的周转时间与其运行时间的比值 进程名 CPU时间(ms) 优先数 P0 P1 P2 P3 p4 20 15 35 25 40 3 1 4 2 5 操作系统管理进程的目的是要让程序能并发执行! * * * * * * * * ]]] * * 单击此处编辑母版标题样式 第2单元 进程管理 第2节 如何管理进程 * 进程调度做什么? 调度方式 调度时机 进程调度算法 调度算法设计要考虑的因素 举例 调度分派结构图 ready_q scheduler susp wakeup receive L pcb6 ? pcb4 pcb3 pcb2 pcb1 dispatcher CPU 98 调度/分派结构示意图 在众多处于就绪状态的进程中,按一定的原则选择一个进程。 当处理机空闲时,移出就绪队列中第一个进程,并赋予它使用处理机的权利。 4 进程调度的任务 当处理机空闲时,以某种策略选择一个就绪进程去运行, 并分配处理机的时间。 利用进程控制块记录进程的情况 决定调度算法 实施处理机的分配和回收 具体要做这三件事情: (1) 什么是调度方式 当一进程正在处理机上执行时,若有某个更为“重要而紧迫”的进程需要运行,系统如何处理。 (2) 非剥夺方式 当“重要而紧迫”的进程来到时,让正在执行的进程继续执行,直到该进程完成或发生某事件而进入“完成”或“阻塞”状态时,才把处理机分配给“重要而紧迫”的进程。 (3) 剥夺方式 当“重要而紧迫”的进程来到时,便暂停正在执行的进程,立即把处理机分配给优先级更高的进程。 3. 进程调度的方式 什么时候调度? * 调度 调度 调度 调度 一个进程的时间片用完的时候 一个进程需要系统调用的时候 一个进程被捕获(陷入)的时候 一个进程执行完毕的时候 在可剥夺系统中,当有更高优先级进程需要处理机的时候 Cpu空闲 例子 支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行,但其中(

文档评论(0)

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

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

1亿VIP精品文档

相关文档