资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六讲 进程控制与调度目的与要求:理解进程切换过程;理解进程调 度原因及调度切换时机;掌握进程调度方式 与实现及各种调度算法;弄清作业和进程的 关系;了解线程的引入原因。重点与难点:进程调度切换的实现.作业:8、10、213.3进程控制与调度3.3.1 进程执行 系统运行机制:内核嵌入进程运行模型。 执行模式:进程可在用户态和核心态下运行 . 进程模式切换:一个用户进程既运行用户态 程序,在系统调用和中断时转换到核心态时 运行操作系统核心程序. 进程切换:指进程进入操作系统核心后因为 自身等事件或有更迫切需要运行的进程就绪 而失去处理机,处理机转去运行其他进程.*进程切换过程 l保存处理机的上下文,包括程序计数器PC 、处理机状态字PS、其它寄存器。 l修改当前运行进程的进程控制块内容,包 括将进程状态从运行态改成其它状态。 l选择另一个进程执行。 l修改被调度进程的进程控制块,包括把其 状态改变到运行态。 l修改系统当前运行进程有关存储管理数据 结构,如将系统当前运行进程页表指针改为 指向选定的进程页表。 l恢复被选进程上次切换出处理机时的处理 机现场,按原保护的程序计数器值重置程序 计数器,运行新选进程。*3.3.2.进程调度 特指选择进程占用处理机一、一般调度概念 什么是调度:操作系统管理了系统的有限 资源,当有多个进程(即多个进程发出的请 求)要使用这些资源时,因为资源的有限性 ,必须按照一定的原则选择进程(请求)来 占用资源。这就是调度。 调度目的:控制资源使用者的数量,选取资源 使用者许可占用资源或占用资源.几个调度例子高级调度:选取输入井中的作业(仅限于批 作业调度),生成根进程.目的是控制使用系 统资源的进程数。中级调度:选取进程占用内存或有资格占用 内存,又称进程滚入滚出。低级调度:选取进程占用处理机,又称进程 调度。二、进程调度方式 1.1.剥夺调度剥夺调度:当进程运行时可以被系统以某 种原则剥夺其处理机. 2.2.非剥夺非剥夺:只有当处理机上的进程因变成阻 塞状态而主动放弃处理机时才重新调度. 进程调度在核心态进行。三、引起进程调度因素: 1、进程主动放弃处理机时: 正在执行的进程执行完毕。操作系统在处理进程 结束系统调用后应请求重新调度。 正在执行的进程发出I/O请求,当操作系统代其启 动外设I/O后,在I/O请求没有完成前要将进程变成 阻塞状态,应该请求重新调度。 正在执行的进程要等待其它进程或系统发出的事 件时。如等待另一个进程通讯数据,这时操作系统 应将现运行进程挂到等待队列,并且请求重新调度 。*2、为了支持可剥夺的进程调度方式,在以 下情况发生时,因为新就绪的进程可能会按 某种调度原则剥夺正运行的进程,因此也应 该申请进行进程调度: 当中断处理程序处理完中断,如I/O中断、通讯中 断,引起某个阻塞进程变成就绪状态时,应该请求 重新调度。 其它任何原因引起有进程从其它状态变成就绪状 态。*3、为了支持可剥夺调度,即使没有新就绪 进程,为了让所有就绪进程轮流占用处理机 ,可在下述情况下申请进行进程调度: 当时钟中断发生,时钟中断处理程序调用有关时间 片的处理程序,发现正运行进程时间片到,应请求 重新调度。以便让其他进程占用处理机。 在按进程优先级进行进程调度的操作系统中,任 何原因引起进程的优先级发生变化时,应请求重新 调度。如进程通过系统调用自愿改变优先级时或者 系统处理时钟中断时,根据各进程等待处理机的时 间长短而调整进程的优先级。* 四、调度与切换时机: 当发生引起调度条件,且当前进程无法继续运 行下去时(如发生各种进程放弃处理机的条件 )可以马上进行调度与切换。 当中断处理结束或自陷处理结束返回被中断进 程的用户态程序执行前,若请求调度标志置上 ,即可马上进行进程调度与切换。如果操作系 统支持这种情况下运行调度程序,即实现了剥 夺方式的调度。 实时系统还有其他调度与切换时机。*3.3.3.进程调度算法 FCFS:谁先到就绪队列,将处理机分给谁. 短进程优先:取一个下次所需运行时间最 短的进程.(该算法能使平均等待时间最短) 优先级调度:选优先级最高的进程占用处 理机,(优先级也可动态改变). 轮转调度法:以先来后到的次序+时间片轮 转. 多队列调度法:按属性将就绪进程分类,不 同类进程可有不同的调度算法. 多级反馈队列调度法:设置多条就绪队列, 进程被调度执行后,在被剥夺或放弃处理机 后而在就绪时可以改变其就绪队列(见下图 ).*第一级队列 (FIFO)使用处理机完成使用处理机完成使用处理机完成被剥夺被剥夺被剥夺第二级队列 (FIFO)第n级队列 (时间片轮转)设计另一个多级反馈队列调度算法的例子:以优先级设置多队列. 各队列的调度算法采用FCFS+时间片轮 转. 进程优先级升降原则是:等待过久升,输 入输出完成时升,运行完一个完整时间片 降 进程最初进入就绪队列以用户初置优先 级为参数.*3.4作业与进程的关系作业:是用户对计算机的一次独立的使用过 程 进程:是分配计算机资源的单位,是用户任 务运行的实体,作业可包含多个进程(至少一 个)批处理系统作业与进程关系:作业调度程 序每选择一道作业运行时,首先为该作业创 建一个根进程,该进程执行作业控制语言解 释器程序,并可根据需要创建多个子进程.*作业和进程状态转换图提交后备运行完成作业输入作业调度 创建进程作业终止就绪执行等待进程调度分时系统作业与进程之关系:把用户的一 次上机过程看成是一个交互作业(无论从内 部表示及外部特征,它都有别于批作业),系 统为每个终端设备生成一个进程,该进程运 行终端命令解释器。该进程根据需要还可以 创建多个子进程。支持分时与批处理的系统作业提交方法: 用户可以通过交互式命令提交子作业(如:at -f /root/bin/ss now 表示提交一个作业控 制说明书文件名为ss的作业到作业输入队列 .或直接拍入“shell ss”表示马上生成一 个进程执行命令解释器,解释执行ss中的命 令) *输入一条终端命 令,分析命令后台命令?创建子进程执行命令等子进程返回向终端发提示符否命令解释程序执行流程:3.5线程的引入 随着共享内存多CPU计算机的发展,迫 切需要加速单个作业步的运行速度,事实上 同一个作业步的工作也是有可并行成份的。 因为进程内程序执行的顺序性,不可能实现 进程内可并行成分的并行执行。为此,线程 的概念呼之欲出。在一个进程中可以包含多个可以并发( 并行)执行的线程。系统按进程分配所有除 CPU以外的系统资源(如内存,外设,文件 等),而程序则依赖于线程运行,系统按线 程分配CPU资源。线程线程线程进程1进程2进程3进程与线程关系图主要内容进程控制与调度 进程执行 进程调度 调度算法 作业与进程关系 线程的引入
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号