收藏 分销(赏)

进程控制与调度.pptx

上传人:a199****6536 文档编号:4252757 上传时间:2024-08-30 格式:PPTX 页数:21 大小:178.76KB 下载积分:10 金币
下载 相关 举报
进程控制与调度.pptx_第1页
第1页 / 共21页
进程控制与调度.pptx_第2页
第2页 / 共21页


点击查看更多>>
资源描述
第六讲 进程控制与调度目的与要求:理解进程切换过程,理解进程理解进程切换过程,理解进程调度原因及调度切换时机,掌握进程调度方调度原因及调度切换时机,掌握进程调度方式与实现及各种调度算法,弄清作业和进程式与实现及各种调度算法,弄清作业和进程的关系,了解线程的引入原因。的关系,了解线程的引入原因。重点与难点:进程切换的实现与进程调度算进程切换的实现与进程调度算法。法。作业:7,8,10,11,19,20。主要内容主要内容进程控制与调度进程控制与调度:进程执行;进程执行;进程调度;进程调度;调度算法。调度算法。作业与进程关系作业与进程关系;线程的引入。线程的引入。3.3 进程控制与调度3.3.1 进程执行系统参考模型:系统参考模型:内核嵌入进程运行模型。内核嵌入进程运行模型。执行模式执行模式:进程可在用户态和核心态下运行。进程可在用户态和核心态下运行。进程模式切换进程模式切换:一个用户进程既运行用户态一个用户进程既运行用户态程序程序,也在自陷、系统调用和中断时转换到也在自陷、系统调用和中断时转换到核心态运行操作系统核心程序。核心态运行操作系统核心程序。进程切换:进程切换:指进程进入操作系统核心后,因指进程进入操作系统核心后,因为自身等事件或有更迫切需要运行的进程就为自身等事件或有更迫切需要运行的进程就绪而放弃处理机绪而放弃处理机,而处理机转去运行其他进而处理机转去运行其他进程。程。进程切换过程l保存处理机的上下文,包括程序计数器、保存处理机的上下文,包括程序计数器、程序状态字、其他寄存器。程序状态字、其他寄存器。l修改当前运行进程的进程控制块内容,包修改当前运行进程的进程控制块内容,包括将进程状态从运行态改成其他状态。括将进程状态从运行态改成其他状态。l选择另一个进程执行,这是进程调度所涉选择另一个进程执行,这是进程调度所涉及到的内容。及到的内容。l修改被调度进程的进程控制块,包括把其修改被调度进程的进程控制块,包括把其状态改变到运行态。状态改变到运行态。l修改存储管理数据结构,如将系统当前运修改存储管理数据结构,如将系统当前运行进程页表指针改为指向选定的进程页表。行进程页表指针改为指向选定的进程页表。l恢复被选进程上次切换出处理机时的处理恢复被选进程上次切换出处理机时的处理机现场,按原保护的程序计数器值重置程序机现场,按原保护的程序计数器值重置程序计数器,运行新选进程。计数器,运行新选进程。3.3.2 进程调度 特指选择进程占用处理机。特指选择进程占用处理机。1.一般调度概念 1)什么是调度:什么是调度:操作系统管理了系统操作系统管理了系统的有限资源,当有多个进程(或多个进程的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进源的有限性,必须按照一定的原则选择进程(或请求)来占用资源。这就是调度。程(或请求)来占用资源。这就是调度。2)调度目的调度目的:控制资源使用者的数量控制资源使用者的数量,选取资源使用者并许可占用资源或占用资选取资源使用者并许可占用资源或占用资源。源。3)几个调度例子:几个调度例子:高级调度。高级调度。选取输入井中的作业(仅限选取输入井中的作业(仅限于批作业调度于批作业调度),生成根进程。目的是控制,生成根进程。目的是控制使用系统资源的进程数。使用系统资源的进程数。中级调度。中级调度。指选取进程占用内存或有资指选取进程占用内存或有资格占用内存,又称进程滚入滚出。格占用内存,又称进程滚入滚出。低级调度。低级调度。指选取进程占用处理机指选取进程占用处理机,又称又称进程调度。进程调度。2.进程调度方式 1 1)剥夺调度剥夺调度:当进程运行时可以被系当进程运行时可以被系统以某种原则为由剥夺其处理机。统以某种原则为由剥夺其处理机。2 2)非剥夺非剥夺:只有当处理机上的进程主只有当处理机上的进程主动放弃处理机时,才重新调度。动放弃处理机时,才重新调度。进程调度在核心态进行。3.3.引起进程调度因素引起进程调度因素 1 1)进程主动放弃处理机时:)进程主动放弃处理机时:(1 1)正在执行的进程执行完毕。操作系统在)正在执行的进程执行完毕。操作系统在处理进程结束、系统调用后,应请求重新调度。处理进程结束、系统调用后,应请求重新调度。(2 2)正在执行的进程发出)正在执行的进程发出I/OI/O请求,当操作系请求,当操作系统代其启动外设统代其启动外设I/OI/O后,在后,在I/OI/O请求没有完成前要将请求没有完成前要将进程变成阻塞状态,应该请求重新调度。进程变成阻塞状态,应该请求重新调度。(3 3)正在执行的进程要等待其他进程或系统)正在执行的进程要等待其他进程或系统发出的事件时,如等待另一个进程通信数据,这时发出的事件时,如等待另一个进程通信数据,这时操作系统应将现运行进程挂到等待队列,并且请求操作系统应将现运行进程挂到等待队列,并且请求重新调度。重新调度。(4 4)正在执行的进程得不到所要的系统资源,)正在执行的进程得不到所要的系统资源,如要求进入临界区,但没有得到锁时,这时等锁的如要求进入临界区,但没有得到锁时,这时等锁的进程应自动放弃处理机或者阻塞到等锁队列上,并进程应自动放弃处理机或者阻塞到等锁队列上,并且请求重新调度。且请求重新调度。2 2)为了支持可剥夺的进程调度方式,在)为了支持可剥夺的进程调度方式,在以下情况发生时,因为新就绪的进程可能会以下情况发生时,因为新就绪的进程可能会按某种调度原则剥夺正运行的进程,因此也按某种调度原则剥夺正运行的进程,因此也应该申请进行进程调度:应该申请进行进程调度:(1 1)当中断处理程序处理完中断(如)当中断处理程序处理完中断(如I/OI/O中断、中断、通信中断),引起某个阻塞进程变成就绪状态时,通信中断),引起某个阻塞进程变成就绪状态时,应该请求重新调度。应该请求重新调度。(2 2)当进程释放资源、走出临界区,引起其)当进程释放资源、走出临界区,引起其他等待该资源进程从阻塞状态进入就绪状态时,应他等待该资源进程从阻塞状态进入就绪状态时,应该请求重新调度。该请求重新调度。(3 3)当进程发出系统调用,引起某个事件发)当进程发出系统调用,引起某个事件发生,导致等待事件的进程就绪时。生,导致等待事件的进程就绪时。(4 4)其他任何原因引起有进程从其他状态变)其他任何原因引起有进程从其他状态变成就绪状态,如进程被中调选中时。成就绪状态,如进程被中调选中时。3 3)为了支持可剥夺调度,即使没有新)为了支持可剥夺调度,即使没有新就绪进程就绪进程,为了让所有就绪进程轮流占用处为了让所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度:理机,可在下述情况下申请进行进程调度:(1 1)当时钟中断发生)当时钟中断发生,时钟中断处理程序调用时钟中断处理程序调用有关时间片的处理程序,发现正运行进程时间片已有关时间片的处理程序,发现正运行进程时间片已到时,应请求重新调度,以便让其他进程占用处理到时,应请求重新调度,以便让其他进程占用处理机。机。(2 2)在按进程优先级进行进程调度的操作系统)在按进程优先级进行进程调度的操作系统中,任何原因引起进程的优先级发生变化时,应请中,任何原因引起进程的优先级发生变化时,应请求重新调度。如进程通过系统调用自愿改变优先级,求重新调度。如进程通过系统调用自愿改变优先级,或者系统处理时钟中断时,根据各进程等待处理机或者系统处理时钟中断时,根据各进程等待处理机时间的长短而调整进程的优先级。时间的长短而调整进程的优先级。4.调度与切换时机 (1 1)当发生引起调度条件变化,且当前进程)当发生引起调度条件变化,且当前进程无法继续运行下去(如发生各种进程放弃处理机无法继续运行下去(如发生各种进程放弃处理机的条件)时,可以马上进行调度与切换。的条件)时,可以马上进行调度与切换。(2 2)当)当中断处理结束或自陷处理结束,返回中断处理结束或自陷处理结束,返回被中断进程的用户态程序执行前,若请求置上调被中断进程的用户态程序执行前,若请求置上调度标志,即可马上进行进程调度与切换。如果操度标志,即可马上进行进程调度与切换。如果操作系统支持这种情况下运行调度程序,即实现了作系统支持这种情况下运行调度程序,即实现了剥夺方式的调度。剥夺方式的调度。(3)实时系统还有其他调度与切换时机。)实时系统还有其他调度与切换时机。3.3.3 进程调度算法 FCFS:FCFS:谁先到就绪队列就将处理机分给谁。谁先到就绪队列就将处理机分给谁。短进程优先短进程优先:取一个下次所需运行时间最短取一个下次所需运行时间最短的进程的进程(该算法能使平均等待时间最短该算法能使平均等待时间最短)。优先级调度优先级调度:选优先级最高的进程占用处理选优先级最高的进程占用处理机(优先级可动态改变)。机(优先级可动态改变)。轮转调度法轮转调度法:以先来后到的次序以先来后到的次序+时间片轮时间片轮转。转。多队列调度法多队列调度法:按属性将就绪进程分类按属性将就绪进程分类,不同不同类进程可有不同的调度算法。类进程可有不同的调度算法。多级反馈队列调度法多级反馈队列调度法:设置多条就绪队列设置多条就绪队列,进进程被调度执行后程被调度执行后,在被剥夺或放弃处理机后而在被剥夺或放弃处理机后而在就绪时,可以改变其就绪队列在就绪时,可以改变其就绪队列(见下图)。见下图)。第一级队列(FIFO)使用处理机使用处理机完成使用处理机使用处理机完成使用处理机使用处理机完成抢占抢占抢占第二级队列(FIFO)第n级队列(时间片轮转)设计另一个多级反馈队列调度算法的例子:以优先级设置多队列。以优先级设置多队列。各队列的调度算法采用各队列的调度算法采用FCFS+FCFS+时间片轮时间片轮转转.进程优先级升降原则是进程优先级升降原则是:等待过久升等待过久升,输入输入/输出完成时升输出完成时升,运行完一个完整时运行完一个完整时间片降间片降 进程最初进入就绪队列以用户初置优进程最初进入就绪队列以用户初置优先级为参数。先级为参数。3.4 作业与进程的关系 作业作业:是用户对计算机的一次独立的使用是用户对计算机的一次独立的使用过程。过程。进程进程:是分配计算机资源的单位是分配计算机资源的单位,是用户任是用户任务运行的实体。作业可包含多个进程务运行的实体。作业可包含多个进程(至少至少一个一个)。批处理系统作业与进程关系:作业调度程作业调度程序每选择一道作业运行时序每选择一道作业运行时,首先为该作业创首先为该作业创建一个根进程。该进程执行作业控制语言解建一个根进程。该进程执行作业控制语言解释器程序释器程序,并可根据需要创建多个子进程。并可根据需要创建多个子进程。作业和进程状态转换图提交提交后备后备运行运行完成完成作业输入作业输入作业调度作业调度创建进程创建进程作业终止作业终止就绪就绪执行执行等待等待进程调度进程调度分时系统作业与进程 的关系:把用户的一次上把用户的一次上机过程看成是一个交互作业机过程看成是一个交互作业(无论是内部表示及无论是内部表示及外部特征外部特征,它都有别于批作业它都有别于批作业),),系统为每个终端系统为每个终端设备生成一个进程,该进程运行终端命令解释器。设备生成一个进程,该进程运行终端命令解释器。该进程根据需要还可以创建多个子进程。该进程根据需要还可以创建多个子进程。支持分时与批处理的系统作业提交方法:用户可用户可以通过交互式命令提交子作业以通过交互式命令提交子作业(如如:at-f/root/:at-f/root/bin/ss now bin/ss now 表示提交一个作业控制说明书文件表示提交一个作业控制说明书文件名为名为ssss的作业,到作业输入队列,或直接键入的作业,到作业输入队列,或直接键入“shell ssshell ss”,表示马上生成一个进程执行命令,表示马上生成一个进程执行命令解释器解释器,解释执行解释执行ssss中的命令中的命令)。输入一条终端命输入一条终端命令令,分析命令分析命令后台命令后台命令创建子进程执行命令创建子进程执行命令等子进程返回等子进程返回向终端发提示符向终端发提示符否否命令解释程序执行流程:3.5 3.5 线程引入线程引入 1.1.轻权进程(轻权进程(light-weight processlight-weight process)的引入的引入 引入进程是为了实现作业内作业步的并引入进程是为了实现作业内作业步的并发执行,同一作业进程之间会有许多的协作,发执行,同一作业进程之间会有许多的协作,需要进行数据交换,但进程有自己独立的存需要进行数据交换,但进程有自己独立的存储空间,互相不干扰。如果要进行进程间数储空间,互相不干扰。如果要进行进程间数据交换,则需要操作系统的相关系统调用支据交换,则需要操作系统的相关系统调用支持,为了方便进程间交换数据,一种共享存持,为了方便进程间交换数据,一种共享存储空间的进程概念应运而生,我们叫它为轻储空间的进程概念应运而生,我们叫它为轻权进程(权进程(light-weight processlight-weight process)。)。2.2.线程的引入线程的引入 随着共享内存多随着共享内存多CPUCPU计算机的发展,迫切需要计算机的发展,迫切需要加速单个作业步的运行速度。事实上同一个作业加速单个作业步的运行速度。事实上同一个作业步的工作也是有可并行成分的,由于进程内程序步的工作也是有可并行成分的,由于进程内程序执行的顺序性,不可能实现进程内可并行成分的执行的顺序性,不可能实现进程内可并行成分的并行执行。为此,线程的概念呼之欲出。在一个并行执行。为此,线程的概念呼之欲出。在一个进程中可以包含多个可以并发(并行)执行的线进程中可以包含多个可以并发(并行)执行的线程。系统按进程分配所有除程。系统按进程分配所有除CPUCPU以外的系统资源以外的系统资源(如内存、外设、文件等),而程序则依赖于线(如内存、外设、文件等),而程序则依赖于线程运行,系统按线程分配程运行,系统按线程分配CPUCPU资源。引入线程后,资源。引入线程后,进程概念内涵改变了,进程只作为除进程概念内涵改变了,进程只作为除CPUCPU以外系统以外系统资源的分配单位,不再以进程为单位占用资源的分配单位,不再以进程为单位占用CPU CPU。线程线程线程线程线程线程进程进程1 1进程进程2 2进程进程3 3进程与线程关系图
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服