操作系统原理第五章处理器调度_第1页
操作系统原理第五章处理器调度_第2页
操作系统原理第五章处理器调度_第3页
操作系统原理第五章处理器调度_第4页
操作系统原理第五章处理器调度_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 处理器调度,2)交换调度又称中级调度或中程调度 从存储器资源的角度,将进程的部分或全部换出到外存上,将当前所需部分换入到内存以腾出空间让更多的具备运行条件的进程进入内存。 从状态观点,就是将进程从活动态变为静止的挂起态,或者将进程从挂起态变为就绪态或等待态,3)进程调度 又称低级调度、微观调度或短程调度。 它决定哪个进程可获得物理,从状态观点,就是将某个进程从就绪态变为执行态,2、作业的状态及其转换 作业由用户程序、所需的数据和作业说明书组成。 一个作业过程中所作的一项相对独立的工作称为一个作业步因此一个作业是由一些列作业步组成的,作业的四种状态 提交状态 后备状态 运行状态 完成状态

2、,作业输入方式通常有5种: 1)联机输入方式 2)脱机输入方式 3)直接耦合方式 4)SPOOLing系统 5)网络输入方式,3、作业和进程的关系 任务实体和任务执行,二、作业调度 1、作业调度的功能 记录系统中各作业的状况 从后备队列中挑选出一部分作业投入运行 为被选中的作业做好运行前的准备工作 在作业运行结束时作善后处理工作,2、作业调度的目标与性能衡量 1)面向系统的准则 系统吞吐量大 cpu利用率高 各类资源的平衡利用 2)面向用户的准则 周转时间短(批处理系统) 响应时间快(分时系统) 截止时间的保证(实时系统) 优先权准则,三、进程调度 操作系统为了对进程进行有效的监控,需要维护一

3、些与进程相关的数据结构,记录所有进程的运行情况,并在进程让出处理器或调度程序剥夺处于运行状态的进程占用的处理器时,选择适当的进程分配处理器,完成上下文的切换。我们把操作系统内核中完成这些功能的部分称为进程调度,1、进程调度的功能 1)记录系统中所有进程的执行情况 PCB 2)选择占有处理器的进程 3)进行进程上下文的切换 2、进程调度的方式 1)非剥夺调度方式 2)剥夺调度方式,3、进程调度时机 进程调度的原因 进程调度性能衡量: 定形:可靠性和简洁性 定量:CPU利用率、进程在就绪队列中的等待时间和运行之间之比等,四、常用调度算法 1)先来先服务 2)短作业优先 3)时间片轮转 4)优先权调

4、度 5)最高相应比优先调度 6)多级队列调度 7)多级反馈队列调度,五、UNIX进程调度 1、 UNIX系统的进程的图象(image) 进程图象的组成 : 进程控制块PCB 基本进程控制块 proc结构:存放进程的最基本的控制和管理信息,不论该进程是否处于运行状态,系统都要访问的信息,必须常驻内存; 扩充进程控制块 user结构:存放进程的管理和控制信息,这些信息只有当进程处于运行状态时,系统才访问,不一定常驻内存,2)正文段(共享正文段 ) 它是进程执行程序的一部分,可为多个进程共享执行,作为正文段的程序必须是可重入的。 3)数据段 包括:正文段程序的处理对象数据、进程执行程序(私有)及数据

5、和ppda(进程数据区)。 4) 用户栈,2、UNIX进程树,0进程:系统初启时由系统初启程序建立,完成系统初启的相应工作后,创建1进程;然后的工作有两项,其一是进程交换(进程图象的管理);其二是进程切换(进程调度)。 1 进程:为系统的每个联机终端创建一个终端进程,然后就做托管工作。 2、3、n、n+1进程:终端进程,执行程序是shell,该进程执行是接受和执行用户键入的shell命令,或shell命令程序。 用户创建的进程:用户的shell命令或shell程序所创建的进程;用户在其程序中创建的进程,3、进程状态 (一)运行状态 运行状态表示进程正在处理机上运行。 (二)就绪状态 在内存中就

6、绪:指进程处于就绪状态,且进程图象在内存 就绪且换出:指进程处于就绪状态,且进程图象不在内存,三)睡眠状态 睡眠状态是进程等待某事件发生而被迫暂时让出处理机时所取的状态。 p_stat为SSLEEP 高优先级睡眠状态; SWAIT 低优先级睡眠状态; p_flag中的SLOAD为1,表示该进程图象在内存,否则不在内存,四)创建状态 父进程创建子进程时所处的状态,目的是保证子进程能完全复制父进程的图象。 在UNIX系统中,父进程创建一个子进程时,子进程要复制父进程的全部的进程图象(除proc结构外),当有内存空间时,能很快完成复制工作,但若无内存空间时,就要在交换区中建立子进程图象的复本,这时父

7、进程将自己置为创建状态,以保证自己的图象不被调出内存,五)僵死状态 僵死状态是子进程等待父进程作善后处理时所处的状态。 进程转换成僵死状态后,就不能再转换成其它任何状态; 进程已释放它占用的所有资源(除proc结构外)。 p_stat 为SZOMB(zombi,zombie 还魂尸,僵尸,进程控制的操作有进程创建fork()、进程睡眠sleep()、进程唤醒wakeup()、进程终止exit()和等待进程终止wait(,4、调度时机 1)现行进程调用自己sleep或wait等进入睡眠状态 2)现行进程调用exit自我终止 3)现行进程的时间片到期且优先权低于其他就绪进程 4)现行进程在完成中断

8、和陷入处理后返回用户态时,他的优先权已经低于其他就绪进程或者调度标记被置位 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的计算方法有所不同。有的固定一个因子,有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论