操作系统原理第五章处理器调度

上传人:nu****n 文档编号:252978538 上传时间:2024-11-26 格式:PPT 页数:28 大小:308.99KB
返回 下载 相关 举报
操作系统原理第五章处理器调度_第1页
第1页 / 共28页
操作系统原理第五章处理器调度_第2页
第2页 / 共28页
操作系统原理第五章处理器调度_第3页
第3页 / 共28页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第五章,处理器调度,一、三级调度的概念,1,、调度的层次,1,)作业调度,又称宏观调度、高级调度或长程调度。,用以决定把哪些后备队列中的作业调入内存,并为其创建进程,分配必要的资源,最后将所创建的进程插入就绪队列。,从状态观点,就是将一个或一批作业从后备状态变为运行状态,2,)交换调度又称中级调度或中程调度,从存储器资源的角度,将进程的部分或全部换出到外存上,将当前所需部分换入到内存以腾出空间让更多的具备运行条件的进程进入内存。,从状态观点,就是将进程从活动态变为静止的挂起态,或者将进程从挂起态变为就绪态或等待态。,3,)进程调度,又称低级调度、微观调度或短程调度。,它决定哪个进程可获得物理,,从状态观点,就是将某个进程从就绪态变为执行态,。,2,、作业的状态及其转换,作业由用户程序、所需的数据和作业说明书组成。,一个作业过程中所作的一项相对独立的工作称为一个作业步因此一个作业是由一些列作业步组成的。,作业的四种状态,提交状态,后备状态,运行状态,完成状态,作业输入方式通常有,5,种:,1,)联机输入方式,2,)脱机输入方式,3,)直接耦合方式,4,),SPOOLing,系统,5,)网络输入方式,3,、作业和进程的关系,任务实体和任务执行,二、作业调度,1,、作业调度的功能,记录系统中各作业的状况,从后备队列中挑选出一部分作业投入运行,为被选中的作业做好运行前的准备工作,在作业运行结束时作善后处理工作,2,、作业调度的目标与性能衡量,1,)面向系统的准则,系统吞吐量大,cpu,利用率高,各类资源的平衡利用,2,)面向用户的准则,周转时间短(批处理系统),响应时间快(分时系统),截止时间的保证(实时系统),优先权准则,三、进程调度,操作系统为了对进程进行有效的监控,需要维护一些与进程相关的数据结构,记录所有进程的运行情况,并在进程让出处理器或调度程序剥夺处于运行状态的进程占用的处理器时,选择适当的进程分配处理器,完成上下文的切换。我们把操作系统内核中完成这些功能的部分称为进程调度。,1,、进程调度的功能,1,)记录系统中所有进程的执行情况,PCB,2,)选择占有处理器的进程,3,)进行进程上下文的切换,2,、进程调度的方式,1,)非剥夺调度方式,2,)剥夺调度方式,3,、进程调度时机,进程调度的原因,进程调度性能衡量:,定形:可靠性和简洁性,定量:,CPU,利用率、进程在就绪队列中的等待时间和运行之间之比等,四、常用调度算法,1,)先来先服务,2,)短作业优先,3,)时间片轮转,4,)优先权调度,5,)最高相应比优先调度,6,)多级队列调度,7,)多级反馈队列调度,五、,UNIX,进程调度,1,、,UNIX,系统的进程的图象,(image),进程图象的组成,:,进程控制块,PCB,基本进程控制块,proc,结构:存放进程的最基本的控制和管理信息,不论该进程是否处于运行状态,系统都要访问的信息,必须常驻内存;,扩充进程控制块,user,结构:存放进程的管理和控制信息,这些信息只有当进程处于运行状态时,系统才访问,不一定常驻内存。,2),正文段(共享正文段,),它是进程执行程序的一部分,可为多个进程共享执行,作为正文段的程序必须是可重入的。,3),数据段,包括:正文段程序的处理对象数据、进程执行程序(私有)及数据和,ppda(,进程数据区)。,4),用户栈,2,、,UNIX,进程树,0,进程:系统初启时由系统初启程序建立,完成系统初启的相应工作后,创建,1,进程;然后的工作有两项,其一是进程交换(进程图象的管理);其二是进程切换(进程调度)。,1,进程:为系统的每个联机终端创建一个终端进程,然后就做托管工作。,2,、,3,、,、,n,、,n+1,进程:终端进程,执行程序是,shell,,该进程执行是接受和执行用户键入的,shell,命令,或,shell,命令程序。,用户创建的进程:用户的,shell,命令或,shell,程序所创建的进程;用户在其程序中创建的进程。,3,、进程状态,(一)运行状态,运行状态表示进程正在处理机上运行。,(二)就绪状态,在内存中就绪:指进程处于就绪状态,且进程图象在内存,就绪且换出:指进程处于,就绪,状态,且进程图象不在内存。,(三)睡眠状态,睡眠状态是进程等待某事件发生而被迫暂时让出处理机时所取的状态。,p_stat,为,SSLEEP,高优先级睡眠状态;,SWAIT,低优先级睡眠状态;,p_flag,中的,SLOAD,为,1,,表示该进程图象在内存,否则不在内存。,(,四)创建状态,父进程创建子进程时所处的状态,目的是保证子进程能完全复制父进程的图象。,在,UNIX,系统中,父进程创建一个子进程时,子进程要复制父进程的全部的进程图象(除,proc,结构外),当有内存空间时,能很快完成复制工作,但若无内存空间时,就要在交换区中建立子进程图象的复本,这时父进程将自己置为创建状态,以保证自己的图象不被调出内存。,(五)僵死状态,僵死状态是子进程等待父进程作善后处理时所处的状态。,进程转换成僵死状态后,就不能再转换成其它任何状态;,进程已释放它占用的所有资源(除,proc,结构外)。,p_stat,为,SZOMB(zombi,zombie,还魂尸,僵尸,),。,进程控制的操作有进程创建,fork(),、进程睡眠,sleep(),、进程唤醒,wakeup(),、进程终止,exit(),和等待进程终止,wait(),。,4,、调度时机,1,)现行进程调用自己,sleep,或,wait,等进入睡眠状态,2,)现行进程调用,exit,自我终止,3,)现行进程的时间片到期且优先权低于其他就绪进程,4,)现行进程在完成中断和陷入处理后返回用户态时,他的优先权已经低于其他就绪进程或者调度标记被置位,5,)现行进程从系统调用执行结束后返回用户态时,他的优先权已经低于其他就绪进程或者调度标记被置位,5,、调度标记设置,runrun,:表示要求进行调度,当发现有就绪进程优先级高于当前进程时,设置该标识为,1,。在,wakeup,setrun,setpri,(设置优先级)过程和时钟中断处理例程进行设置。设置为,1,6,、优先数计算,采用动态优先数调度策略,优先数越大,优先级越低。,进程在用户态和核心态的优先级是不同的,这里说的是用户态进程的优先级。它是基于执行时间的动态优先级,进程优先级可为,0127,之间的任一整数。,049,之间的优先级为系统内核保留,用户态下的进程优先级为,50127,之间,在,UNIX System V,中,进程优先数:,P_pri=P_CPU/2+PUSER+P_nice+NZERO,系统设置部分,:,PUSER,和,NZERO,是基本用户优先数的阈值,分别为,25,和,20,。,CPU,使用时间部分,:,P_CPU,表示该进程最近一次,CPU,使用时间。每次时钟周期(时钟脉冲的重复周期称为时钟周期)则该值加,1,(最多可达,80,)。此外,秒中断对,p_cpu,执行除以,2,的衰减操作。,新创建进程的,P_CPU,值为,0,,因而具有较高的优先级。不同系统对,P_CPU,的计算方法有所不同。有的固定一个因子,有的会考虑系统负荷。,用户设置部分,:,P_nice,是用户可以通过系统调用设置的一个优先级偏移值。默认为,20,。超级用户可以设置其在,0,到,39,之间,而普通用户只能增大该值(即降低优先级)。,7,、,调度的实现,0进程的swtch过程实现,对换过程,sched过程,也是0进程的一部分,完成内外存的对换。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!