好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统课件4.ppt

70页
  • 卖家[上传人]:wm****3
  • 文档编号:51586161
  • 上传时间:2018-08-15
  • 文档格式:PPT
  • 文档大小:525KB
  • / 70 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第3章 处理器管理3.1 多道程序设计3.2 进程概述3.3 进程队列3.4 UNIX系统中的进程3.5 中断技术3.6 UNIX系统的中断技术3.7 处理器调度3.1 多道程序设计3.1.1 什么是多道程序设计让多个计算问题同时装入一个计算机系统的主存储器并行执行的程序设计技术成为多道程序设计采用多道程序设计应注意的问题:· 存储保护· 程序浮动· 资源的分配和调度3.1.2 为什么要采用多道程序设计· 提高了处理器的利用率· 充分利用外围设备资源· 发挥了处理器与外围设备以及外围设备之间的并行工作能力采用多道程序设计技术后,可有效提高系统中资源的利用率,提高系统吞吐量有两道计算问题A和B,A的执行过程为:计算50ms ,打印100ms,再计算50ms,打印100ms;B的执行过程为 :计算50ms,输入数据80ms,再计算100ms,打印100ms 单道程序设计:完成计算任务共需:630ms使用处理器的时间为:250ms处理器利用率为:39.7%有两道计算问题A和B,A的执行过程为:计算50ms ,打印100ms,再计算50ms,打印100ms;B的执行过程为 :计算50ms,输入数据80ms,再计算100ms,打印100ms 。

      多道程序设计:完成计算任务共需:400ms使用处理器的时间为:250ms处理器利用率为:62.5%A(100ms)输入输出CPUA(50ms)B(100ms)B(80ms)A(50ms)A(100ms)B(50ms)B(100ms)3.1.3 采用多道程序设计应注意的问题· 可能延长程序执行时间· 并行工作道数与系统效率不成正比操作系统的特性之一是并发与共享,即在系统中( 内存)同时存在几个相互独立的程序,这些程序在系统 中既交叉地运行,又要共享系统中的资源,这就会引起一系列的问题,包括:对资源的竞争、运行程序之间的 通信、程序之间的合作与协同等等要解决这些问题,用程序的概念已经不能描述程序 在内存中运行的状态,必须引入新的概念--进程3.2 进程概述3.2.1 进程的定义把一个程序在一个数据集上的一次执行称为一个进程进程与程序的区别与联系 •程序是指令的集合,是静态的概念 进程是程序在处理机 上的一次执行的过程,是动态的概念程序可以作为软件 资料长期保存进程是有生命周期的 •进程是一个独立的运行单位,能与其它进程并行(并发) 活动而程序则不是 •进程是竞争计算机系统有限资源的基本单位,也是进行处 理机调度的基本单位。

      •一个程序可以作为多个进程的运行程序,一个进程也可以 运行多个程序进程要素:程序、数据、CPU3.2.2 为什么要引入进程1. 提高资源利用率2. 正确描述程序的执行情况进程的分类:在系统中同时有多个进程存在,但归纳起来有两大类:(1)系统进程系统进程起着资源管理和控制的作用或者:执行操作系统核心代码的进程2)用户进程执行用户程序的进程系统进程与用户进程的区别: • 系统进程被分配一个初始的资源集合,这些资源可以 为它独占,也能以最高优先权的资格使用用户进程 通过系统服务请求的手段竞争使用系统资源; • 用户进程不能直接做I/O操作,而系统进程可以做显式 的、直接的I/O操作 • 系统进程在管态下活动,而用户进程则在用户态(目 态)下活动另一种分类:计算进程,I/O进程等 注意:在UNIX系统中没有这样对进程进行分类3.2.3 进程的属性1. 动态性2. 多个不同的进程可以包含相同的程序3. 进程可以并发执行4. 进程有三种基本状态进程的三个特性:· 动态性· 并发性· 异步性 进程状态及变迁1. 进程的状态 (1)就绪状态(Ready)存在于处理机调度队列中的那些进程,它们已经准备就 绪,一旦得到CPU,就立即可以运行,这些进程所取的状态为 就绪状态。

      有多个进程处于此状态)(2)运行状态(Running)当进程由调度/分派程序分派后,得到CPU控制权,它的 程序正在运行,该进程所处的状态为运行状态在系统中 ,总只有一个进程处于此状态)(3)等待状态(Wait)若一个进程正在等待某个事件的发生(如等待I/O的完成 ),而暂停执行,这时,即使给它CPU时间,它也无法执行, 则称该进程处于等待状态2. 进程的状态变迁图运 行等 待就 绪等待某 一事件等待的事 件发生选中落选3.3 进程队列3.3.1 进程控制块什么是进程控制块进程控制块PCB (Process Control Block)是操作系 统为描述进程状态过程所采用的一个与进程相联系的数 据结构进程控制块是进程管理和控制的最重要的数据结构,在创 建时,建立PCB,并伴随进程运行的全过程,直到进程撤消而 撤消进程的组成进程控制块PCB程 序与数 据• 程序与数据:描述进程本身所应完成的功能;• PCB:进程的动态特征,该进程与其他进程和系统资源的关系进程的组成:程序、数据、PCB PCB的主要内容 进进程名进进程状态态等待原因进进程程序存放位置进进程数据存放位置通用寄存器内容控制寄存器内容程序状态态字寄存器内容进进程优优先级级队队列指针针进程控制块 标识信息 说明信息 现场信息 管理信息 3.3.2 进程的创建和撤销进程是有生命周期的,产生、运行、暂停、终止。

      对进程的这些操作叫进程控制进程控制的职责是对系统中全部进程实施有效的管 理,它是处理机管理的部分(另一部分是进程调度), 当系统允许多进程并发执行时,为了实现共享、协调并 发进程的关系,处理机管理必须提供对进程实行有效的 管理进程控制包括:进程创建、进程撤消、进程阻塞、进程唤醒、改变进程优先数、调度进程运行 这些操作都要对应地执行一个特殊的程序段(操作系统核 心程序),同时系统也通过系统调用给用户提供进程控制的 功能教材上叫原语(一种特殊的系统调用)原语:是一种特殊的系统调用命令,执行时不可中断 进程阻塞: 运行状态 等待状态 进程唤醒: 等待状态 就绪状态 进程创建: 新建进程置为就绪状态 进程撤消: 进程终止(消亡)进程调度: 就绪状态 运行状态在UNIX系统中进程控制的系统调用有:fork() 创建子进程sleep() 进程睡眠exit() 进程自已终止(自杀)wait() (父)等待子进程终止wakeup() 进程唤醒1. 进程的创建(1)进程创建原语的形式create (name,priority,start_addr)  name为被创建进程的标识符 priority为进程优先级 start_addr为某程序的开始地址。

      2) 进程创建原语的功能 创建一个具有指定标识符的进程,建立进程的 PCB结构 (3)进程创建原语的实现 § PCB池 ab1• 进程创建原语的实现入口查PCB总链有同名 ?向系统申请一个 空的 PCB结构有空 PCB?将入口信息填入PCB相应项将PCB入就绪队列将PCB入总链队列返回进 程PID出错YN出错2. 进程的撤消(1)进程撤消原语的形式当进程完成任务后希望终止自己时使用进程 撤消原语Kill (或exit)该命令没有参数,其执行结果也无返回信息 2) 进程撤消原语的功能 撤消当前运行的进程将该进程的pcb结构归 还到pcb资源池,所占用的资源归还给父进程,从 总链队列中摘除它,然后转进程调度程序3) 进程撤消原语的实现入口由运行指针得当前进程的PID释放本进程所占用的资源给父进程该进程从总链队列中摘下释放PCB结构转进程调度3. 进程等待(1)进程等待原语的形式当进程需要等待某一事件完成时,它可以调用 等待原语把自己挂起susp(chan)入口参数chan:进程等待的原因2) 进程等待原语的功能 终止调用进程的执行,并加入到等待chan的等 待队列中;最后使控制转向进程调度。

      入 口 将现行进程的pcb现场送 该进程的pcb现场保护区置该进程状态为阻塞把该进程插入相应的等待队列转进程调度程序(3) 进程等待原语的实现4. 进程唤醒(1)进程唤醒原语的形式当处于等待状态的进程所期待的事件来到时, 由发现者进程使用唤醒原语叫唤醒它wakeup(chan)￿￿入口参数chan:进程等待的原因2) 进程唤醒原语的功能 当进程等待的事件发生时,唤醒等待该事件的 所有进程或等待该事件的首进程3) 进程唤醒原语的实现转进程调度将队列的第一个进程移 出等待队列并置该进程 为就绪态、入就绪队列入 口 保护现行进程的现场并置该 进程为就绪态、入就绪队列找到该阻塞原因的队列指针队列空 ?YN入 口 移出等待队列首元素置该进程状态为就绪把该进程插入就绪队列返回3.3.3 进程队列的链接3.4 UNIX系统中的进程3.4.1 UNIX进程的特点UNIX不区分系统进程和用户进程UNIX中的进程既可以执行操作系统程序,也可以执行用户程序UNIX进程根据所执行的程序而在核心态和用户态之间不断转换3.4.2 UNIX进程的组成 (1) 进程控制块PCB 基本进程控制块 proc结构:存放进程的最基本的控制和管理信息,不论该进程是否处于运行状态,系统都要访问的信息,必须常驻内存; 扩充进程控制块 user结构:存放进程的管理和控制信息,这些信息只有当进程处于运行状态时,系统才访问,不一定常驻内存。

      (2)正文段(共享正文段 ) 它是进程执行程序 的一部分,可为多个进 程共享执行,作为正文 段的程序必须是可再入 的3)数据段包括:用户栈、用 户数据区、核心栈和user 结构UNIX系统进程数据结构(1)proc结构,在UNIX系统的/sys/proc.h文件中;(2)user结构 ,在UNIX系统的/sys/user.h文件中;(3)text结构(用来管理正文段的数据结构)text结构在UNIX系统 的/sys/text.h文件中用户态运行核心态运行在主存睡眠睡眠且换出在主存就绪就绪且换出僵死创建3.4.3 UNIX进程的状态 系统调用中断返回终止睡眠被抢先唤醒调度调度(被抢先者 )换出换出换进主存充足主存不够forkUNIX进程状态转换图3.4.4 UNIX进程的创建和终止 UNIX进程树3.4.5 UNIX进程的换进换出 进程的换进换出:进程在主存和磁盘之间的转换交换进程:0号进程负责进程调度和进程的换进换出,始终在核心态运行,称为交换进程工作流程:图3-143.4.6 UNIX进程的睡眠与唤醒 3.5 中断技术3.5.1 中断和中断类型所谓中断是指某个事件 (例如 电源掉电、定点加法溢出或 I/O传输结束等) 发生时,系 统中止现行程序的运行、引 出处理事件程序对该事件进 行处理,处理完毕后返回断 点,继续执行。

      正在执行的 用户程序继续执行中断处 理程序中断进入中断 返回1. 中断概念中断源:引起中断的事件称中断源,如打印完成中断,其中断源 是打印机断点:发生中断时正在运行的程序被暂时停止,程序的暂停点 称为断点中断响应:是处理机发现有中断请求时,终止现运行程序的执行并自动引出中断处理程序的过程中断处理程序:对中断事件进行处理的程序叫中断处理程序如时钟中 断处理、打印机完成中断处理、打印机缺纸中断处理等等 它是操作系统中与硬件最接近的一部分,是操作系统与硬件 的接口2. 中断类型(1) 输入/输出中断它是当外部设备或通道操作正常结束或发生错误时 所发生的中断例如:打印机打印完成、缺纸,读磁盘 时相应驱动器中没有磁盘等2) 外部中断对某个中央处理机而言,它的外部非通道式装置所 引起的中断称为外部中断例如,时钟中断、操作员控 制台中断,多处理机系统中CP。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.