3.2进程控制与调度幻灯片.ppt

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

* * 第六讲 进程控制与调度 目的与要求:理解进程切换过程;理解进程调度原因及调度切换时机;掌握进程调度方式与实现及各种调度算法;弄清作业和进程的关系;了解线程的引入原因。 重点与难点:进程调度切换的实现. 作业:8、10、21 3.3进程控制与调度 3.3.1 进程执行 系统运行机制:内核嵌入进程运行模型。 执行模式:进程可在用户态和核心态下运行. 进程模式切换:一个用户进程既运行用户态程序,在系统调用和中断时转换到核心态时运行操作系统核心程序. 进程切换:指进程进入操作系统核心后因为自身等事件或有更迫切需要运行的进程就绪而失去处理机,处理机转去运行其他进程.* 进程切换过程 保存处理机的上下文,包括程序计数器PC、处理机状态字PS、其它寄存器。 修改当前运行进程的进程控制块内容,包括将进程状态从运行态改成其它状态。 选择另一个进程执行。 修改被调度进程的进程控制块,包括把其状态改变到运行态。 修改系统当前运行进程有关存储管理数据结构,如将系统当前运行进程页表指针改为指向选定的进程页表。 恢复被选进程上次切换出处理机时的处理机现场,按原保护的程序计数器值重置程序计数器,运行新选进程。* 3.3.2.进程调度 特指选择进程占用处理机 一、一般调度概念 什么是调度:操作系统管理了系统的有限资源,当有多个进程(即多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。 调度目的:控制资源使用者的数量,选取资源使用者许可占用资源或占用资源. 几个调度例子 高级调度:选取输入井中的作业(仅限于批作业调度),生成根进程.目的是控制使用系统资源的进程数。 中级调度:选取进程占用内存或有资格占用内存,又称进程滚入滚出。 低级调度:选取进程占用处理机,又称进程调度。 二、进程调度方式 剥夺调度:当进程运行时可以被系统以某种原则剥夺其处理机. 非剥夺:只有当处理机上的进程因变成阻塞状态而主动放弃处理机时才重新调度. 进程调度在核心态进行。 三、引起进程调度因素: 1、进程主动放弃处理机时: 正在执行的进程执行完毕。操作系统在处理进程结束系统调用后应请求重新调度。 正在执行的进程发出I/O请求,当操作系统代其启动外设I/O后,在I/O请求没有完成前要将进程变成阻塞状态,应该请求重新调度。 正在执行的进程要等待其它进程或系统发出的事件时。如等待另一个进程通讯数据,这时操作系统应将现运行进程挂到等待队列,并且请求重新调度。* 2、为了支持可剥夺的进程调度方式,在以下情况发生时,因为新就绪的进程可能会按某种调度原则剥夺正运行的进程,因此也应该申请进行进程调度: 当中断处理程序处理完中断,如I/O中断、通讯中断,引起某个阻塞进程变成就绪状态时,应该请求重新调度。 其它任何原因引起有进程从其它状态变成就绪状态。* 3、为了支持可剥夺调度,即使没有新就绪进程,为了让所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度: 当时钟中断发生,时钟中断处理程序调用有关时间片的处理程序,发现正运行进程时间片到,应请求重新调度。以便让其他进程占用处理机。 在按进程优先级进行进程调度的操作系统中,任何原因引起进程的优先级发生变化时,应请求重新调度。如进程通过系统调用自愿改变优先级时或者系统处理时钟中断时,根据各进程等待处理机的时间长短而调整进程的优先级。* 四、调度与切换时机: 当发生引起调度条件,且当前进程无法继续运行下去时(如发生各种进程放弃处理机的条件)可以马上进行调度与切换。 当中断处理结束或自陷处理结束返回被中断进程的用户态程序执行前,若请求调度标志置上,即可马上进行进程调度与切换。如果操作系统支持这种情况下运行调度程序,即实现了剥夺方式的调度。 实时系统还有其他调度与切换时机。* 3.3.3.进程调度算法 FCFS:谁先到就绪队列,将处理机分给谁. 短进程优先:取一个下次所需运行时间最短的进程.(该算法能使平均等待时间最短) 优先级调度:选优先级最高的进程占用处理机,(优先级也可动态改变). 轮转调度法:以先来后到的次序+时间片轮转. 多队列调度法:按属性将就绪进程分类,不同类进程可有不同的调度算法. 多级反馈队列调度法:设置多条就绪队列,进程被调度执行后,在被剥夺或放弃处理机后而在就绪时可以改变其就绪队列(见下图).* 第一级队列 (FIFO) … 使用处理机 完成 … … 使用处理机 完成 使用处理机 完成 被剥夺 被剥夺 被剥夺 第二级队列 (FIFO) 第n级队列 (时间片轮转) 设计另一个多级反馈队列调度算法的例子: 以优先级设置多队列. 各队列的调度算法采用FCFS+时间片轮转. 进程优先级升降原则是:等待过久升,输入输出完成时升,运行完一个完整时间片降… 进程最初

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档