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

上传人:kms****20 文档编号:56954977 上传时间:2018-10-17 格式:PPT 页数:28 大小:264KB
返回 下载 相关 举报
操作系统原理 第五章 处理器调度_第1页
第1页 / 共28页
操作系统原理 第五章 处理器调度_第2页
第2页 / 共28页
操作系统原理 第五章 处理器调度_第3页
第3页 / 共28页
操作系统原理 第五章 处理器调度_第4页
第4页 / 共28页
操作系统原理 第五章 处理器调度_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《操作系统原理 第五章 处理器调度》由会员分享,可在线阅读,更多相关《操作系统原理 第五章 处理器调度(28页珍藏版)》请在金锄头文库上搜索。

1、第五章 处理器调度,一、三级调度的概念 1、调度的层次 1)作业调度 又称宏观调度、高级调度或长程调度。用以决定把哪些后备队列中的作业调入内存,并为其创建进程,分配必要的资源,最后将所创建的进程插入就绪队列。 从状态观点,就是将一个或一批作业从后备状态变为运行状态,2)交换调度 又称中级调度或中程调度从存储器资源的角度,将进程的部分或全部换出到外存上,将当前所需部分换入到内存以腾出空间让更多的具备运行条件的进程进入内存。 从状态观点,就是将进程从活动态变为静止的挂起态,或者将进程从挂起态变为就绪态或等待态。,3)进程调度又称低级调度、微观调度或短程调度。 它决定哪个进程可获得物理,从状态观点,

2、就是将某个进程从就绪态变为执行态。,2、作业的状态及其转换作业由用户程序、所需的数据和作业说明书组成。 一个作业过程中所作的一项相对独立的工作称为一个作业步因此一个作业是由一些列作业步组成的。,作业的四种状态 提交状态 后备状态 运行状态 完成状态,作业输入方式通常有5种: 1)联机输入方式 2)脱机输入方式 3)直接耦合方式 4)SPOOLing系统 5)网络输入方式,3、作业和进程的关系 任务实体和任务执行,二、作业调度 1、作业调度的功能记录系统中各作业的状况 从后备队列中挑选出一部分作业投入运行 为被选中的作业做好运行前的准备工作 在作业运行结束时作善后处理工作,2、作业调度的目标与性

3、能衡量 1)面向系统的准则 系统吞吐量大 cpu利用率高 各类资源的平衡利用 2)面向用户的准则周转时间短(批处理系统) 响应时间快(分时系统) 截止时间的保证(实时系统) 优先权准则,三、进程调度操作系统为了对进程进行有效的监控,需要维护一些与进程相关的数据结构,记录所有进程的运行情况,并在进程让出处理器或调度程序剥夺处于运行状态的进程占用的处理器时,选择适当的进程分配处理器,完成上下文的切换。我们把操作系统内核中完成这些功能的部分称为进程调度。,1、进程调度的功能 1)记录系统中所有进程的执行情况 PCB 2)选择占有处理器的进程 3)进行进程上下文的切换 2、进程调度的方式 1)非剥夺调

4、度方式 2)剥夺调度方式,3、进程调度时机 进程调度的原因 进程调度性能衡量: 定形:可靠性和简洁性 定量:CPU利用率、进程在就绪队列中的等待时间和运行之间之比等,四、常用调度算法 1)先来先服务 2)短作业优先 3)时间片轮转 4)优先权调度 5)最高相应比优先调度 6)多级队列调度 7)多级反馈队列调度,五、UNIX进程调度 1、 UNIX系统的进程的图象(image) 进程图象的组成 : 进程控制块PCB 基本进程控制块 proc结构:存放进程的最基本的控制和管理信息,不论该进程是否处于运行状态,系统都要访问的信息,必须常驻内存;扩充进程控制块 user结构:存放进程的管理和控制信息,

5、这些信息只有当进程处于运行状态时,系统才访问,不一定常驻内存。,2)正文段(共享正文段 )它是进程执行程序的一部分,可为多个进程共享执行,作为正文段的程序必须是可重入的。 3)数据段包括:正文段程序的处理对象数据、进程执行程序(私有)及数据和ppda(进程数据区)。 4) 用户栈,2、UNIX进程树,0进程:系统初启时由系统初启程序建立,完成系统初启的相应工作后,创建1进程;然后的工作有两项,其一是进程交换(进程图象的管理);其二是进程切换(进程调度)。 1 进程:为系统的每个联机终端创建一个终端进程,然后就做托管工作。 2、3、n、n+1进程:终端进程,执行程序是shell,该进程执行是接受

6、和执行用户键入的shell命令,或shell命令程序。 用户创建的进程:用户的shell命令或shell程序所创建的进程;用户在其程序中创建的进程。,3、进程状态 (一)运行状态 运行状态表示进程正在处理机上运行。 (二)就绪状态在内存中就绪:指进程处于就绪状态,且进程图象在内存就绪且换出:指进程处于就绪状态,且进程图象不在内存。,(三)睡眠状态睡眠状态是进程等待某事件发生而被迫暂时让出处理机时所取的状态。 p_stat为SSLEEP 高优先级睡眠状态;SWAIT 低优先级睡眠状态; p_flag中的SLOAD为1,表示该进程图象在内存,否则不在内存。,(四)创建状态父进程创建子进程时所处的状

7、态,目的是保证子进程能完全复制父进程的图象。在UNIX系统中,父进程创建一个子进程时,子进程要复制父进程的全部的进程图象(除proc结构外),当有内存空间时,能很快完成复制工作,但若无内存空间时,就要在交换区中建立子进程图象的复本,这时父进程将自己置为创建状态,以保证自己的图象不被调出内存。,(五)僵死状态僵死状态是子进程等待父进程作善后处理时所处的状态。 进程转换成僵死状态后,就不能再转换成其它任何状态; 进程已释放它占用的所有资源(除proc结构外)。p_stat 为SZOMB(zombi,zombie 还魂尸,僵尸)。,进程控制的操作有进程创建fork()、进程睡眠sleep()、进程唤

8、醒wakeup()、进程终止exit()和等待进程终止wait()。,4、调度时机 1)现行进程调用自己sleep或wait等进入睡眠状态 2)现行进程调用exit自我终止 3)现行进程的时间片到期且优先权低于其他就绪进程 4)现行进程在完成中断和陷入处理后返回用户态时,他的优先权已经低于其他就绪进程或者调度标记被置位 5)现行进程从系统调用执行结束后返回用户态时,他的优先权已经低于其他就绪进程或者调度标记被置位,5、调度标记设置 runrun:表示要求进行调度,当发现有就绪进程优先级高于当前进程时,设置该标识为1 。在wakeup, setrun, setpri(设置优先级)过程和时钟中断处

9、理例程进行设置。设置为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进程的一部分,完成内外存的对换。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号