操作系统第二章进程的描述与控制.ppt

上传人:小飞机 文档编号:4979567 上传时间:2023-05-27 格式:PPT 页数:41 大小:578KB
返回 下载 相关 举报
操作系统第二章进程的描述与控制.ppt_第1页
第1页 / 共41页
操作系统第二章进程的描述与控制.ppt_第2页
第2页 / 共41页
操作系统第二章进程的描述与控制.ppt_第3页
第3页 / 共41页
操作系统第二章进程的描述与控制.ppt_第4页
第4页 / 共41页
操作系统第二章进程的描述与控制.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《操作系统第二章进程的描述与控制.ppt》由会员分享,可在线阅读,更多相关《操作系统第二章进程的描述与控制.ppt(41页珍藏版)》请在三一办公上搜索。

1、第二章,进程的描述与控制,进程是操作系统最重要,最基本的概念之一,这个概念对操作系统的理解,描述和设计都具有极其重要的意义。,本章讨论的主要问题,1、什么是进程?为什么要引入进程?2、如何描述进程?3、进程具哪些状态?这些状态之间如何进行转换?4、如何控制进程状态的转换?,2.1 程序的执行与特征(一),一、程序的顺序执行及特征,如:有三条语句:s1:a:=x+y s2:b:=a-5 s3:c:=b+1,程序顺序执行的特征:,执行顺序用有向图表示:,s1,s2,s3,1.顺序性:处理机操作严格按照程序所规定的顺序执行。,2.封闭性:程序独占资源,除初始状态外,只有程序本身规定的操作才能够改变资

2、源状况,即程序在封闭环境下运行。,3.可再现性:程序的运行结果与它执行的速度无关。,一个具有独立功能的程序独占CPU直到完成的过程称为程序的顺序执行。,2.1 程序的执行与特征(二),1.前趋图(Precedence Graph)用前趋图来描述并发执行的程序的特征。前趋图 DAG(Directed Acyclic Graph)结 点表示一条语句,一段程序或进程。有向边表示两结点间的偏序或前趋关系。前趋定义:(Pi,Pj)记为:Pi Pj,二、程序的并发执行及特征,其中:Pi 称为Pj的直接前趋。,2.程序的并发执行,程序的并发执行是指在逻辑上相互独立的一组程序在执行时间上的相互重叠,即一个程序

3、段的执行尚未结束,另一程序段的执行已经开始。,Pi,Pj,2、程序的并发执行,例:有三类程序并发执行:Ii输入程序 Ci计算程序 Pi打印程序,I1,I2,I3,I4,C1,C2,C3,C4,P1,P2,P3,P4,Ii Ci Pi,Ii Ci Ci Pi,前趋关系:,P i-1,Ci,I i+1 可并发执行。,2.1 程序的执行与特征(三),Ii I i+1,Ci Ci+1,Pi Pi+1,问 题 程序的顺序执行与程序的并发执行有那些不同的特征?,2.1 程序的执行与特征(四),执行过程中可能有多个程序同时申请同一资源,带来了资源的动态分配。多道程序共享资源共同决定和影响资源的状态。因此,并

4、发程序的执行结果与其执行的相对速度有关。,(1)并发执行的程序间相互约束,相互依赖,显然,程序的并发执行与程序的顺序执行具有完全不同的特征,主要表现在:,各并发执行的程序共享资源,使本来并无逻辑关系的程序之间产生了相互制约的关系。而需要相互通信共同协作完成同一任务的程序之间相互依赖又相互制约。使各道程序走走停停,动态执行。,(2)对系统资源争夺与共享,3、程序并发执行的特征,程序顺序执行 程序并发执行 顺序性 间断性 封闭性 无封闭性 可再现性 不可再现性,2.1 程序的执行与特征(五),不可再现性是程序并发执行时的间断性及失去封闭性的必然结果,即程序的执行结果与其执行速度有关。例:程序A 程

5、序B.N:=N+1 PRINT(N).N:=0.,3、程序并发执行的特征,(1)执行顺序:(a),(b),(c)N值:n+1,n+1,0(2)执行顺序:(b),(a),(c)N值:n,n+1,0(3)执行顺序:(b),(c),(a)N值:n,0,1,(a),(b),(c),2.2 进程的描述(一),本节讨论关于进程的基本概念:,进程的定义 进程的特征 进程的状态 进程控制块,进程是可并发执行的程序在给定数据集合上的一次执行过程,是系统进行资源分配和调度的一个独立的基本单位和实体,是执行一个映象程序的总环境,是一个动态的概念。,一.进程的定义 进程的引入是为了更好地描述程序并发执行的动态特征。,

6、1.定义,2.2 进程的描述(二),进程是执行程序的动态过程动态概念。程序是进程运行的静态文本静态概念。,2.2 进程的描述(三),一个进程可以执行一个或多个程序。一个程序可以被多个进程执行。,程序可以作为一种资源以文件的形式长期保存。进程只是一次执行过程,具有生命期。,2.进程与程序的区别、联系,2.2 进程的描述(四),进程是程序的一次执行过程具有生命期;它可以由系统创建并独立地执行,直至完成而被撤消。,进程是可以并发执行的基本单位,从宏观上看,它们可以“同时”执行。由于共享资源,进程间相互约束,相互依赖。,动态性,并发性,独立性,异步性,各个进程之间相互独立,是系统分配资源和能够被处理机

7、调度的基本单位。,各个进程按照各自独立的、不可预知的速度异步向前推进。即进程按异步方式执行。,二.、进程的特征,2.2 进程的描述(五),1、三种基本状态:执行状态(Executing)就绪状态(Ready)阻塞状态(Blocked)或等待(Wait),阻塞状态,就绪状态,执行,状态,调度,I/O请求,进程,释放,时间片到,新状态,结束,后备队列,新状态结束状态,三、进程的基本状态,2、进程状态的细化,挂起状态(Suspend):对正在执行的进程,则停止执行。对就绪状态的进程,则停止调度,并回收资源。对阻塞状态的进程,则停止条件的发生。,称被挂起的进程是静止的,静止就绪(Readys),静止阻

8、塞(Blockeds),称未被挂起的进程是活动的,活动就绪(Readya),活动阻塞(Blockeda),将进程挂起的原因:1。系统工作负荷达到高峰,调整负荷,使系统正常运行。2。人为挂起,停止某进程执行,以便研究分析。3。系统需要,如系统故障,系统检测需要。,2.2 进程的描述(六),3、细化的进程状态图,活动阻塞,执行状态,活动就绪,静止就绪,静止阻塞,调度,释放,I/O请求,激活,激活,挂起,挂起,挂起,释放,2.2 进程的描述(七),2.2 进程的描述(八),1、进程的描述 对进程的描述应该反映进程的存在及其变化,反映进程的动态特性。进程由程序,相应的数据集合,进程控制块三部分组成。,

9、进程的程序 静态文本,描述进程所要完成的功能。数 据 集 合 程序运行时所需的数据和工作区。,静态描述,动态描述,进程控制块PCB(Process Control Block)记录和描述进程的动态特性,描述进程的执行情况和状态变化。,四、进程控制块,2.2 进程的描述(九),进程标识信息 外部标识信息 内部标识信息 进程家族标识,处理机状态信息通用寄存器 指令计数器 程序状态字(PSW)用户栈指针,进程调度信息 进程状态 进程优先级 其他调度信息 等待事件,进程控制信息 程序数据地址 进程同步及通信 资源清单 链接指针,2、PCB 块包含的信息,不同操作系统,PCB所包含的信息类型及数量可能有

10、所不同,但一般包括两类信息。,1)调度信息 描述进程的当前状况,供进程调度使用。,2)现场信息 刻划了进程运行的情况;记录在进程运行过程中会改变的信息,以便进程中断后,再次被调度时能够继续运行。,PCB 块是一个进程存在的唯一标志,当系统创建一个进程时,为该进程设置一个 PCB,再利用PCB对进程进行控制和管理。当进程撤消时,系统回收它的PCB。,3、PCB块的组织方式,链接方式 链接成各种就绪,阻塞及空白等各种队列。索引方式 建立不同状态的索引表。,2.2 进程的描述(十),2.3 进程控制(一),操作系统中,为了防止用户进程对OS及PCB等关键信息的破坏。一个进程在其生命期中有两种机器运行

11、状态:系统态(核心态,管态)具有较高的访问权,可访 问核心模块。用户态(目态)限制访问权。,是机器指令的延伸,是非进程模块,不能并发执行。执行过程不可中断,用微代码实现。,2、原 语(primitive),一、操作系统的内核,1、进程运行状态,2.3 进程控制(二),内核是OS的控制和协调中心,由它组织,启动和协调系统中各种活动。通常由各种原语构成。,操作系统内核,内核是OS中最重要最核心的部分。OS的内核紧靠硬件,由那些使用频率高,与硬件紧密相关的模块构成;如中断处理程序,设备驱动程序等。,2.3 进程控制(三),二.内核的功能 1)中断处理 中断是OS内核最重要的功能之一。系统中的所有中断

12、 都由内核响应。中断是进程并发执行的基础,OS是由中断驱动的。,2)原语操作 原语操作包括涉及CPU管理,存储管理,设备管理,文件管理的各种基本操作。,3)时钟管理 OS的许多重要操作,如:按时间片轮转调度,实时系统中的截止时间控制等,都依赖于时钟管理。,2.3 进程控制(四),中 断 源 引起中断的异步事件(如:系统调用,I/O 请求,进程调度,设备驱动,文件处理等)。中断请求 向CPU发出中断信号。中断响应 CPU停止执行当前进程,分辨中断请求的类型。中断处理 CPU将请求交相关的中断处理程序处理。中断返回 众多处理结束,返回断点。,内核对中断的有限处理方式,中断源,中断请求,中断响应,转

13、中断处理程序,退出中断,向CPU,保护CPU现场识别中断源,恢复CPU现场,2.3 进程控制(五),创建原语 create(),撤消原语 destroy(),阻塞原语 block(),唤醒原语 wakeup(),挂起原语 suspend(),激活原语 active(),三.进程控制原语,2.3 进程控制(四),创建进程有两种方式:由系统程序模块创建,或由父进程创建。,算法步骤:1.向PCB集合申请一个空闲的PCB,并获取其内部标识;2.将有关信息填入PCB;3.将该进程置为就绪状态,并插入就绪队列。,创建原语 create(),对进程的控制一般通过原语操作实现。,创建原语(create),创建

14、原语算法,查PCB集,有空PCB,N,创建失败,Y,取空表PCB(i),将参数填入PCB(i),将PCB(i)插入就绪队列,2.3 进程控制(四),算法步骤:1.根据外部标识检索PCB集,找到要撤消的PCB;2.从队列中撤消该进程 及其子孙进程,通常在一个递归过程中实现;3.释放被撤消进程所占有的资源,撤消进程控制块。,撤消原语 destroy(),当进程完成或产生异常中断时,应立即撤消,并释放其所有资源。,撤消原语(destroy),撤消原语算法,查PCB集和进程家族,有此PCB?,N,出错处理,Y,释放进程所占资源,释放PCB(i)结构,该PCB有子进程?,Y,N,2.3 进程控制(五),

15、进程在执行过程中,需要等待某些条件发生时,由该进程调用阻塞原语把进程从执行状态转换为阻塞状态。,算法步骤:中断CPU执行,将CPU的当前状态保存到PCB的现场信息。2.将进程的当前状态置为阻塞状态;3.将进程的PCB插入到该事件的阻塞队列中。,阻塞原语 block(),2.3 进程控制(五),算法步骤:1.在等待队列中找到该进程,将其P的当前状态置为就绪;2.将进程从等待队列中撤消,并插入到就绪队列中。,唤醒原语 wakeup(),当处于阻塞状态的进程所等待的事件发生后,使用唤醒原语将进程从等待状态转换为就绪状态。,2.3 进程控制(六),进程在执行过程中,根据用户或系统的某种需要,调用挂起原

16、语将进程从活动状态转换为静止状态。,算法步骤:1.根据外部标识检索PCB集,找到要挂起的PCB块;2.检查被挂进程的当前状态:执 行 态 静止就绪,并转调度程序,重新调度。活动就绪 静止就绪 活动阻塞 静止阻塞,挂起原语 suspend(),2.3 进程控制(六),算法步骤:1.检查被挂进程的当前状态:2.将进程从相应的静止状态 活动状态。,激活原语 active(),当外于静止状态的进程所等待的激活事件发生后,使用激活原语将进程从静止状态转换为活动状态。,一.UNIX系统的核心结构 UNIX系统分为三个层次:核心、用户接口及实用程序、应用程序。,2.4 UNIX系统中的进程(一),UNIX核

17、心:包括四大资源管理功能。由以下部分组成:,1、进程控制子系统 负责处理机管理和存储管理,包括进程控制、进程通信、进程调度及段页式存储管理。,2、文件子系统 将慢速外设备看作广义的文件。文件子系统功能包括:文件管理、高速缓冲机制及设备驱动。,3、两个接口 核心与硬件的接口(一组驱动程序,基本例程)核心与SHELL的接口(系统调用,命令解释程序),2.4 UNIX系统中的进程(二),3。两个接口 核心与硬件的接口(一组驱动程序,基本例程)核心与SHELL的接口(系统调用,命令解释程序),文件子系统,进程控制子系统,系统调用接口,硬 件,硬件控制,用户程序,核心级,用户级,硬件级,2.4 UNIX

18、系统中的进程(三),PCB 块数据结构,1。进程表项(PROC结构):核心数据。2。U区(USER结构):PROC的扩充数据。3。系统区表项:段在物理存储器的位置等信息。4。本进程区表:本段起始虚地址,指向系统区表中 的本进程区表项的指针。,2.4 UNIX系统中的进程(四),进程的唯一标识。拥有该进程的用户标识。记录该进程的当前状态(九种)。记录使该进程进入睡眠状态的事件。进程及U区在内存或外存的位置。记录其它进程发来的软中断信号。进程执行时间及对资源的利用情况。用于内存分配。设置进程动态优先级。指向U区进程正文、数据及栈在内存区域的指针。,1.进程表项(PROC结构)包括进程最常用的基本控

19、制信息,常驻内存。,进程标识符PID用户标识符UID进程状态事件描述符进程及U区位置软中断信号计时域进程大小偏置值指向U区内存区域的指针,二、PCB 块的数据结构,2.4 UNIX系统中的进程(五),指向当前执行进程的进程表项。(real user ID)由超级用户分配的户标 识符,用于用户登录验证。(effective user ID)一般同上,可由系 统调用改变。记录该进程已打开的所有文件。记录当前根及当前目录。对进程大小及读、写文件字节数,方式 及缓冲区大小等的限制。记录进程(及其子进程)在核心态和用户态执行所用时间。记录系统调用过程中的错误。标识出该user 结构所对应的 proc结构

20、。,USER结构所包含的信息只有在进程运行时才使用,不一定调入内存。,2、U区(USER结构),进程表项指针真正用户标识符URUID有效用户标识符UEUID文件描述表文件运行环境限制字段计时器出错字段指向U区内存区域的指针,2.4 UNIX系统中的进程(六),UNIX系统中采用段页式储存管理,为了把虚地址映射到实际的物理地址,定义了两个表:进程区表,系统区表。储存管理是进程并发执行的基础,因此,PCB中也定义了有关储存管理的字段:3。系统区表项 4。本进程区表,三、进程的上、下文 进程是一个进程映象(Process Image)的执行过程,各进程并发执行,OS经常需要把控制从一个现行执行的进程

21、转换到另一个进程,这个操作称为“关联转换”,或“上、下文转换”(context)。,进程上、下文是对进程执行活动全过程的描述。进程上、下文包括:寄存器上、下文,系统级上、下文,用户级上、下文。,2.4 UNIX系统中的进程(七),存放进程在运行过程中所产生的数据。如R0、R1 用于系统进程与用户进程间传递参数。存放CPU正常执行的下一条指令的虚地址。包括当前进程的访问方式(核心态、用户态)中断优先级,中断或陷入前的访问方式。指向核心栈或用户栈中下一项的当前地址。,1、寄存器上、下文 又称硬件关联(Hardware Context),存放进程状态变化时进程运行所对应的各寄存器的值。,通用寄存器程

22、序寄存器(计数器PC)处理机状态寄存器(状态字PSW)堆栈指针,2.4 UNIX系统中的进程(七),进程的用户栈是进程在用户态下的工作区。进程的核心栈是进程在核心态下的工作区。栈在函数调用时用于传递参数、保护现场、存放返回地址及为局部变量提供存储区。核心栈还用于保护中断现场。,存放进程在运行过程中所产生的数据。如 R0、R1 用于系统进程与用户进程间传递参数。存放CPU正常执行的下一条指令的虚地址。包括当前进程的访问方式(核心态、用户态)中断优先级,中断或陷入前的访问方式。指向核心栈或用户栈中下一项的当前地址。,1、寄存器上、下文 又称硬件关联(Hardware Context),存放进程状态

23、变化时进程运行所对应的各寄存器的值。,通用寄存器程序寄存器(计数器PC)处理机状态寄存器(状态字PSW)堆栈指针,2.4 UNIX系统中的进程(八),2。用户级上、下文 用户级上、下文对应于进程的程序空间。由用户进程的正文(程序)、用户数据、用户栈和共享存储区组成。,3。系统级上、下文 是 OS 对进程管理的信息,分为两部分:1)静态部分*进程表项(PROC结构)记录进程的状态及有关控制 信息,每个进程占一个表项。*U区(USER结构)进程的私有信息。*系统区表、进程区表、页表 实现虚地址到实地址的 映射。2)动态部分 系统级上、下文动态部分与寄存器上、下文相关联。*核心栈 是进程在核心态下执行时使用的栈。*分层寄存器上、下文。,进程是操作系统最重要,最基本的概念之一,它是可并发执行的程序在给定数据集合上的一次执行过程,是系统分配资源和调度的一个独立的基本单位和实体。PCB块是进程存在的唯一标志。,进程具有动态性、并发性、独立性及异步性等基本特征。动态性反映在进程从创建到撤消的生命期。对进程生命期的各种活动、状态的转变及控制,由构成操作系统内核的各种原语实现。进程的并发性反映在对资源的竟争而产生的相互约束上。,进程概念小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号