OS02进程描述-2014-2015-2_第1页
OS02进程描述-2014-2015-2_第2页
OS02进程描述-2014-2015-2_第3页
OS02进程描述-2014-2015-2_第4页
OS02进程描述-2014-2015-2_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、操作系统操作系统Operating Systems第二章第二章 进程进程管理管理中断中断 其他其他模块(模块(I / O,存储器)可以中断处理器的,存储器)可以中断处理器的正常执行序列正常执行序列 中断类型中断类型 程序程序性中断:如算术溢出,除性中断:如算术溢出,除零零 定时器定时器:由处理器由处理器内的定时器产生内的定时器产生。 I/O中断:由中断:由I/O控制器产生,通知操作正常完成的或各控制器产生,通知操作正常完成的或各种错误情况。种错误情况。 硬件硬件故障故障,如电源如电源故障故障STARTHALTFetch nextinstructionFetch StageExecute Sta

2、geInterrupt StageInterruptsDisabledInterruptsEnabledExecuteinstructionCheck forinterrupt;initiate interrupthandlerFigure 1.7 Instruction Cycle with Interrupts 在中断阶段中,处理器检查是否有中断发生。在中断阶段中,处理器检查是否有中断发生。 如果没有中断,处理器取当前程序的下一条指令。如果没有中断,处理器取当前程序的下一条指令。 如果发生中断,处理器暂停当前程序,并执行中断处理程序。如果发生中断,处理器暂停当前程序,并执行中断处理程序。

3、在中断处理程序程序一般是操作系统的一部分。在中断处理程序程序一般是操作系统的一部分。 当中断处理程序完成后,处理器在断点处继续执行用户程序。当中断处理程序完成后,处理器在断点处继续执行用户程序。12ii + 1MInterruptoccurs hereUser ProgramInterrupt HandlerFigure 1.6 Transfer of Control via InterruptsThe processor and the OS are responsible for suspending the user program and then resuming it at the

4、 same point.Device controller orother system hardwareissues an interruptProcessor finishesexecution of currentinstructionProcessor sig nalsacknowledg mentof interruptProcessor pushes PSWand PC onto controlstackProcessor loads newPC value based oninterruptSave remainder ofprocess stateinformationProc

5、ess interruptRestore process stateinformationRestore old PSWand PCHardwareSoftwareFig ure 1.10 Simple Interrupt Processing设备控制器或其他系统设备控制器或其他系统硬件发出中断硬件发出中断处理机完成当前指令执处理机完成当前指令执行行处理机发出中断应答信处理机发出中断应答信号号处理机保存现场,如保处理机保存现场,如保存存PC值值处理机将中断服务程序处理机将中断服务程序入口地址装入到入口地址装入到PC保存剩余的处理状态保存剩余的处理状态处理中断处理中断恢复处理状态信息恢复处理状态

6、信息恢复旧恢复旧PC第二章第二章进程进程管理管理2.1前趋图和程序执行前趋图和程序执行 2.2进程的描述进程的描述2.3进程控制进程控制 2.4进程同步进程同步2.5 经典进程的同步问题进程通信经典进程的同步问题进程通信 2.6进程通信进程通信2.7 2.7 线程线程的基本概念的基本概念2.1前趋图和程序执行前趋图和程序执行 程序程序的顺序执行及其特征的顺序执行及其特征 S1: a:=x+y; S2: b:=a-5; S3: c:=b+1;1.1. 顺序性顺序性-顺序执行;顺序执行; 2.2. 封闭性封闭性-程序运行时独占全机资源,不受外界影响;程序运行时独占全机资源,不受外界影响;3.3.

7、可再现性可再现性-程序重复执行时将得到相同结果;程序重复执行时将得到相同结果;S1S2S3ab2.1.3 2.1.3 程序的并发执行程序的并发执行 对于具有下述四条语句的程序段:对于具有下述四条语句的程序段: S1: a:=x+2 S1: a:=x+2 S2: b:=y+4 S2: b:=y+4 S3: c:=a+b S3: c:=a+b S4: d:=c+b S4: d:=c+b S1S3S4acS2bd程序的并发执行时的特征程序的并发执行时的特征 间断性间断性-并发执行导致间断性;并发执行导致间断性; 失去封闭性失去封闭性-多个程序共享资源,受外界影响;多个程序共享资源,受外界影响; 不可

8、再现性不可再现性-程序重复执行时可能到不同结果;程序重复执行时可能到不同结果;P1P2案例案例 例如:某交通路口设置了一个自动计数系统,该系统由观例如:某交通路口设置了一个自动计数系统,该系统由观察者和报告者共同组成。察者和报告者共同组成。 观察者观察者 报告者报告者 交通路口自动计数系统交通路口自动计数系统 观察到一辆卡车观察到一辆卡车将计数值将计数值N累加累加1 将计数值将计数值N清清0输出计数值输出计数值NProcedure 观察者观察者 begin 观察到一辆卡车;观察到一辆卡车; N=N+1;end Procedure 报告者报告者 begin print N; N=0;end 假设

9、某时刻假设某时刻N的值为的值为m,可能出现下面情况:,可能出现下面情况:print的的N值值 N的最终取值的最终取值(1)m+1 0(2)m 1(3)m 0 观察者观察者 ;报告者;报告者报告者;报告者; 观察者观察者报告者报告者Print N; 观察者观察者N=N+1;报告者报告者N=0操作系统为什么要引入进程概念操作系统为什么要引入进程概念? 刻画系统的动态性,发挥系统的并发性,提高资源利用率。刻画系统的动态性,发挥系统的并发性,提高资源利用率。 程序是并发执行的,即不是连续而是走走停停的。程序是并发执行的,即不是连续而是走走停停的。 程序的并发执行引起资源共享和竞争问题,执行的程序不程序

10、的并发执行引起资源共享和竞争问题,执行的程序不再处在封闭环境中。再处在封闭环境中。 “程序程序”自身只是计算任务的指令和数据的描述,是静态概自身只是计算任务的指令和数据的描述,是静态概念念 无法刻画程序的并发特性,无法刻画程序的并发特性, 系统需要寻找一个能描述程序动态执行过程的概念系统需要寻找一个能描述程序动态执行过程的概念进程实体进程实体 为使程序为使程序(含数据含数据)能独立运行,应为之配置一能独立运行,应为之配置一进程控制块进程控制块(PCB,Process Control Block); 由程序段、相关的数据段和由程序段、相关的数据段和PCB三部分便构成了三部分便构成了进程进程实体(

11、进程映像)实体(进程映像)。 程序段程序段 数据段数据段PCB动态特征的集中反映动态特征的集中反映描述要完成的功能描述要完成的功能操作对象及工作区操作对象及工作区进程的定义进程的定义 较典型的进程定义有:较典型的进程定义有:(1 1)进程是程序的一次执行。)进程是程序的一次执行。(2 2)进程是一个程序及其数据)进程是一个程序及其数据在处理机在处理机上顺序执行时所发上顺序执行时所发生的活动。生的活动。(3 3)进程是程序在一个数据集合上运行的过程,它是系统)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进行资源分配和调度的一个独立单位。 我们可以把我们可以把传

12、统传统OS中的进程定义为:中的进程定义为: “进程是进程是进程实体进程实体的运行过程,是系统进行资源分配的运行过程,是系统进行资源分配和调度的一个独立单位和调度的一个独立单位”进程的特征进程的特征 动态性动态性 并发性并发性 独立性独立性 异步性异步性 进程的特征进程的特征 动态性动态性 进程的最基本的特征。进程的最基本的特征。 程序只是一组有序指令的集合,并存放于某种介质上,程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。其本身并不具有运动的含义,因而是静态的。 进程实体有一定的生命期:进程实体有一定的生命期:“它由创建而产生,由它由创建而产生,由调度

13、调度而执行,由撤消而消亡而执行,由撤消而消亡” 作业调度与进程调度作业调度与进程调度进程的特征进程的特征 并发性并发性 并发性是进程的重要特征,也成为并发性是进程的重要特征,也成为OSOS的重要特征。的重要特征。 引入进程的目的:正是为了使其进程实体能和其它进程引入进程的目的:正是为了使其进程实体能和其它进程实体并发执行;实体并发执行; 独立性独立性 在在传统的传统的OS中,独立性是指进程实体是一个能独立运行中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。、独立分配资源和独立接受调度的基本单位。 异步性异步性 进程按各自独立的、进程按各自独立的、 不可预知的速度向

14、前推进,或说进不可预知的速度向前推进,或说进程实体按异步方式运行。程实体按异步方式运行。进程的三种基本状态进程的三种基本状态 就绪就绪(Ready)(Ready)状态状态 进程已分配到除进程已分配到除CPU以外的所有必要资源。以外的所有必要资源。 就绪队列就绪队列 执行状态执行状态 进程已获得进程已获得CPUCPU,其程序正在执行。,其程序正在执行。 在单处理机系统中,只有一个进程处于执行状态;在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。在多处理机系统中,则有多个进程处于执行状态。 阻塞状态阻塞状态 正在执行的进程由于发生某事件而暂时无法继续执行时

15、正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态。,便放弃处理机而处于暂停状态。 引起阻塞的事件引起阻塞的事件就绪队列和各种就绪队列和各种I/O设备队列设备队列进程三个基本状态及其转换进程三个基本状态及其转换执行执行就绪就绪阻塞阻塞进进程程调调度度时时间间片片完完I/OI/O请求请求I/OI/O完成完成创建状态创建状态 创建状态创建状态 OS OS 已完成为创建一进程所必要的工作已完成为创建一进程所必要的工作为一个新进程创建为一个新进程创建PCB,并填写必要的管理信息;,并填写必要的管理信息;p已构造了进程标识符已构造了进程标识符p已创建了管理进程所需的表格已创建了

16、管理进程所需的表格 但还没有允许执行该进程但还没有允许执行该进程 该进程所必需的资源或其它信息尚未分配该进程所必需的资源或其它信息尚未分配p进程还不能被调度运行进程还不能被调度运行终止状态终止状态 终止状态终止状态 中止后,它将进入终止状态。中止后,它将进入终止状态。 终止态的进程不能再执行。终止态的进程不能再执行。 一旦其它进程完成了对终止状态进程的信息提取之后,一旦其它进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程。操作系统将删除该进程。如:一个实用程序为了分析性能和利用率,可能需要如:一个实用程序为了分析性能和利用率,可能需要提取进程的历史信息提取进程的历史信息进程的五种基

17、本状态及转换进程的五种基本状态及转换 执行执行就绪就绪阻塞阻塞进进程程调调度度时时间间片片完完I/OI/O请求请求I/OI/O完成完成创建创建终止终止许许可可结束结束挂起状态挂起状态 引入挂起状态的原因引入挂起状态的原因 (1) 终端用户的请求。终端用户的请求。 (2) 父进程请求。父进程请求。 (3) 负荷调节的需要。负荷调节的需要。 为了让某些进程暂时不参与进程调度,为了让某些进程暂时不参与进程调度,释放它占有的资源释放它占有的资源(4) 操作系统的需要。操作系统的需要。 挂起状态挂起状态( (静止状态静止状态) )非挂起状态非挂起状态( (活动状态活动状态) )具有挂起状态的进程状态图具

18、有挂起状态的进程状态图释放释放激激活活挂挂起起调调度度时时间间片片完完I/OI/O请求请求执行执行活动活动就绪就绪释放释放静止静止就绪就绪激激活活挂挂起起静止静止阻塞阻塞活动活动阻塞阻塞挂挂起起具有创建、终止和挂起状态的进程状态图具有创建、终止和挂起状态的进程状态图释放释放激激活活挂挂起起调调度度时时间间片片完完I/OI/O请求请求执行执行活动活动就绪就绪释放释放静止静止就绪就绪激激活活挂挂起起静止静止阻塞阻塞活动活动阻塞阻塞挂挂起起创建创建许许可可许许可可终止终止结束结束2.2.4 进程管理中的数据结构进程管理中的数据结构ProcessorI/ OI/ OFigure 3.10 Proces

19、ses and Resources (resource allocation at one snapshot in time)I/ OMainMemoryComputerResourcesVirtualMemoryP1P2Pn进程管理中的数据结构进程管理中的数据结构 操作系统构造和维护它所管理的每个实体的信息表操作系统构造和维护它所管理的每个实体的信息表。MemoryDevicesFilesProcessesProcess 1Memory TablesProcessImageProcess1ProcessImageProcessnI/ O TablesFile TablesFigure 3.1

20、1 General Structure of Operating System Control TablesPrimary Process TableProcess 2Process 3Process n进程表(进程表(PCB)进程控制块进程控制块 进程控制块进程控制块PCB(Process Control Block) 系统为每个进程定义的一个数据结构系统为每个进程定义的一个数据结构 PCB中记录了操作系统所需的、用于描述进程的当前中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。情况以及控制进程运行的全部信息。进程控制块作用进程控制块作用1. 作为独立运行基本单位的

21、标志作为独立运行基本单位的标志 PCB是进程存在的惟一标志。是进程存在的惟一标志。2. 能实现间断性运行方式。能实现间断性运行方式。 保存保存CPU现场信息现场信息3. 提供进程管理所需要的信息提供进程管理所需要的信息 程序或数据程序或数据地址;源地址;源清单清单4. 提供进程调度所需要的信息提供进程调度所需要的信息5. 实现与其他进程的同步和通信实现与其他进程的同步和通信进程控制块中的信息进程控制块中的信息1.1. 进程标识符进程标识符2.2. 处理机状态处理机状态3.3. 进程调度信息进程调度信息4.4. 进程控制信息进程控制信息1 1 进程控制块进程控制块进程标识符进程标识符 内部标识符

22、内部标识符 一个惟一的一个惟一的数字数字标识符,它通常是一个进程的序号。标识符,它通常是一个进程的序号。 外部标识符外部标识符 它由创建者提供,通常是由字母、数字组成,往往是它由创建者提供,通常是由字母、数字组成,往往是由由用户用户(进程进程)在访问该进程时使用。在访问该进程时使用。 为了描述进程的家族关系,还应设置父进程标识及子为了描述进程的家族关系,还应设置父进程标识及子进程标识。进程标识。 设置用户标识,以指示拥有该进程的用户。设置用户标识,以指示拥有该进程的用户。 2 2 进程控制块进程控制块处理机状态处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容组成的处理机状态信息主要

23、是由处理机的各种寄存器中的内容组成的 这些寄存器包括:这些寄存器包括: 通用寄存器,它们是用户程序可以访问的,用于暂存信息;通用寄存器,它们是用户程序可以访问的,用于暂存信息; 指令计数器,其中存放了要访问的下一条指令的地址指令计数器,其中存放了要访问的下一条指令的地址 程序状态字程序状态字PSW,含有状态信息,如条件码、执行方式、中,含有状态信息,如条件码、执行方式、中断屏蔽标志等;断屏蔽标志等; 用户栈指针,指每个用户进程都有一个或若干个与之相关的系用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址,栈指针指向统栈,用于存放过程和系统调用参数及

24、调用地址,栈指针指向该栈的栈顶。该栈的栈顶。 3 3 进程控制块进程控制块进程调度信息进程调度信息 在在PCB中还存放一些与进程调度和进程对换有关的信息,中还存放一些与进程调度和进程对换有关的信息,包括:包括: 进程状态;进程状态; 进程优先级,优先级高的进程应优先获得处理机;进程优先级,优先级高的进程应优先获得处理机; 进程调度所需的其它信息,它们与所采用的进程调度算法进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待有关,比如,进程已等待CPU的时间总和、进程已执行的的时间总和、进程已执行的时间总和等;时间总和等; 事件,指进程由执行状态转变为阻塞状态所等待发生的事事

25、件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。件,即阻塞原因。 4 4 进程控制信息进程控制信息 程序和数据的地址,指进程的程序和数据所在的内存或外程序和数据的地址,指进程的程序和数据所在的内存或外存地存地(首首)址址 进程同步和通信机制,指实现进程同步和进程通信时必需进程同步和通信机制,指实现进程同步和进程通信时必需的机制;的机制; 资源清单,即一张列出了除资源清单,即一张列出了除CPU以外的、进程所需的全以外的、进程所需的全部资源及已经分配到该进程的资源的清单;部资源及已经分配到该进程的资源的清单; 链接指针,它给出了本进程链接指针,它给出了本进程(PCB)所在队列中的下一个进所在队列中的下一个进程的程的PCB的首地址。的首地址。进程控制块的组织方式进程控制块的组织方式 线性方式线性方式 线性表的首址存放在内存的一个专线性表的首址存放在内存的一个专用区域用区域 链接方式链接方式 索引方式索引方式PCBPCB表表 PCB2 PCB2 PCB3 PCB3 PCB4 PCB4 PCB5 PCB5 PCB6 PCB6 PCBnPCBn PCB7 PCB7 PCB1 PCB1 链接方式链接方式PCBPCB表表 PC

温馨提示

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

评论

0/150

提交评论