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

上传人:huo****ian 文档编号:245180079 上传时间:2024-10-07 格式:PPT 页数:41 大小:578KB
返回 下载 相关 举报
操作系统第二章进程的描述与控制_第1页
第1页 / 共41页
操作系统第二章进程的描述与控制_第2页
第2页 / 共41页
操作系统第二章进程的描述与控制_第3页
第3页 / 共41页
点击查看更多>>
资源描述
单击以编辑母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第二章,进程的描述与控制,进程,是操作系统最重要,最基本的概念之一,这个概念对操作系统的理解,描述和设计都具有极其重要的意义。,10/7/2024,1,本章讨论的主要问题,1、什么是进程?为什么要引入进程?,2、如何描述进程?,3、进程具哪些状态?这些状态之间如何进行转换?,4、如何控制进程状态的转换?,10/7/2024,2,2.1 程序的执行与特征(一),一、程序的顺序执行及特征,如:有三条语句:,s1:a:=x+y,s2:b:=a-5,s3:c:=b+1,程序顺序执行的特征:,执行顺序用有向图表示:,s1,s,2,s,3,1.,顺序性:,处理机操作严格按照程序所规定的顺序执行。,2.封闭性:,程序独占资源,除初始状态外,只有程序本身规定的操作才能够改变资源状况,即程序在封闭环境下运行。,3.可再现性:,程序的运行结果与它执行的速度无关。,一个具有独立功能的程序独占CPU直到完成的过程称为程序的顺序执行,。,10/7/2024,3,2.1 程序的执行与特征,(,二,),1.前趋图(Precedence Graph),用前趋图来描述并发执行的程序的特征。,前趋图,DAG(Directed Acyclic Graph),结 点,表示一条语句,一段程序或进程。,有向边,表示两结点间的偏序或前趋关系。,前趋定义:,(P,i,P,j,),记为:P,i,P,j,二、程序的并发执行及特征,其中:,P,i,称为,P,j,的直接前趋。,2.程序的并发执行,程序的并发执行是指在逻辑上相互独立的一组程序在执行时间上的相互重叠,即一个程序段的执行尚未结束,另一程序段的执行已经开始。,P,i,P,j,10/7/2024,4,2、程序的并发执行,例:有三类程序并发执行:,I,i,输入程序 C,i,计算程序 P,i,打印程序,I,1,I,2,I,3,I,4,C,1,C,2,C,3,C,4,P,1,P,2,P,3,P,4,I,i,C,i,P,i,I,i,C,i,C,i,P,i,前趋关系:,P,i-1,,,C,i,,,I,i+1,可,并发执行。,2.1 程序的执行与特征,(三),I,i,I,i+1,C,i,C,i+1,P,i,P,i+1,10/7/2024,5,问 题,程序的顺序执行与程序的并发执行有那些不同的特征?,2.1 程序的执行与特征(四),执行过程中可能有多个程序同时申请同一资源,带来了资源的动态分配。多道程序共享资源共同决定和影响资源的状态。因此,并发程序的执行结果与其执行的相对速度有关。,(1)并发执行的程序间相互约束,相互依赖,显然,程序的并发执行与程序的顺序执行具有,完全不同,的特征,主要表现在:,各并发执行的程序,共享资源,,使本来并无逻辑关系的程序之间产生了,相互制约,的关系。而需要相互通信共同协作完成同一任务的程序之间,相互依赖,又相互制约。使各道程序走走停停,,动态执行,。,(2)对系统资源争夺与共享,10/7/2024,6,3、程序并发执行的特征,程序,顺序,执行,程序,并发,执行,顺序性,间断性,封闭性,无封闭性,可再现性,不可再现性,2.1 程序的执行与特征,(五),10/7/2024,7,不可再现性是程序,并发,执行时的间断性及失去封闭性的必然结果,即程序的执行结果与其执行速度有关。,例:程序A 程序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),10/7/2024,8,2.2 进程的描述,(一),本节讨论关于进程的基本概念:,进程的定义 进程的特征,进程的状态 进程控制块,10/7/2024,9,进程是可并发执行的程序在给定数据集合上的一次,执行过程,,是系统进行资源,分配和调度的,一个独立的,基本单位,和实体,,是执行一个映象程序的,总环境,,是一个,动态的概念,。,一.进程的定义,进程的引入是为了更好地描述程序并发执行的动态特征。,1.定义,2.2 进程的描述(二),10/7/2024,10,进程,是执行程序的动态过程,动态概念,。,程序是进程运行的静态文本静态概念。,2.2 进程的描述(三),一个,进程,可以执行一个或多个程序。,一个程序可以被多个,进程,执行。,程序可以作为一种资源以文件的形式长期保存。,进程,只是一次执行过程,具有,生命期,。,2.进程与程序的区别、联系,10/7/2024,11,2.2 进程的,描述,(,四),进程是程序的一次执行过程具有生命期;它可以由系统创建并独立地执行,直至完成而被撤消。,进程是可以并发执行的基本单位,从宏观上看,它们可以“同时”执行。由于共享资源,进程间相互约束,相互依赖。,动态性,并发性,独立性,异步性,各个进程之间相互独立,是系统分配资源和能够被处理机调度的基本单位。,各个进程按照各自独立的、不可预知的速度异步向前推进。即进程按异步方式执行。,二.、进程的特征,10/7/2024,12,2.2 进程的描述(五),1、三种基本状态:,执行状态(Executing),就绪状态(Ready),阻塞状态(Blocked)或等待(Wait),阻塞,状态,就绪,状态,执行,状态,调度,I/O请求,进程,释放,时间,片到,新状态,结束,后备队列,新状态,结束状态,三、进程的基本状态,10/7/2024,13,2、进程状态的细化,挂起状态,(Suspend):,对正在执行的进程,则停止执行。,对就绪状态的进程,,则停止调度,并回收资源。,对阻塞状态的进程,,则停止条件的发生。,称被挂起的进程是,静止的,静止就绪(Readys),静止,阻塞(Blockeds),称未被挂起的进程是,活动的,活动就绪(Readya),活动,阻塞(Blockeda),将进程,挂起的原因,:,1。系统工作负荷达到高峰,调整负荷,使系统正常运行。,2。人为挂起,停止某进程执行,以便研究分析。,3。系统需要,如系统故障,系统检测需要。,2.2,进程的描述,(六),10/7/2024,14,3、,细化的进程状态图,活动,阻塞,执行,状态,活动,就绪,静止,就绪,静止,阻塞,调度,释放,I/O请求,激活,激活,挂起,挂起,挂起,释放,2.2,进程的描述,(七),10/7/2024,15,2.2 进程的描述(八),1、进程的描述,对进程的描述应该反映进程的存在及其变化,反映进程的动态特性。,进程,由,程序,,相应的,数据集合,进程控制块,三部分组成。,进程的程序,静态文本,描述进程所要完成的功能。,数 据 集 合,程序运行时所需的数据和工作区。,静态描述,动态描述,进程控制块,PCB,(Process Control Block),记录和描述进程的动态特性,描述进程的执行情况和状态变化。,四、进程控制块,10/7/2024,16,2.2 进程的描述(九),进程标识信息,外部标识信息 内部标识信息 进程家族标识,处理机状态信息,通用寄存器,指令计数器 程序状态字(PSW)用户栈指针,进程调度信息,进程状态 进程优先级 其他调度信息 等待事件,进程控制信息,程序数据地址 进程同步及通信 资源清单 链接指针,2、,PCB,块包含的信息,10/7/2024,17,不同操作系统,PCB所包含的信息类型及数量可能有所不同,但一般包括两类信息。,1),调度信息,描述进程的当前状况,供进程调度使用。,2),现场信息,刻划了进程运行的情况;记录在进程运行过程中会改变的信息,以便进程中断后,再次被调度时能够继续运行。,PCB,块,是一个进程存在的唯一标志,当系统创建一个进程时,为该进程设置一个 PCB,再利用PCB对进程进行控制和管理。当进程撤消时,系统回收它的,PCB,。,3、PCB块的组织方式,链接方式 链接成各种就绪,阻塞及空白等各种队列。,索引方式 建立不同状态的索引表。,2.2 进程的描述(十),10/7/2024,18,2.3 进程控制(一),操作系统中,为了防止用户进程对OS及PCB等关键信息的破坏。一个进程在其生命期中有两种机器运行状态:,系统态,(核心态,管态)具有较高的访问权,可访,问核心模块。,用户态,(目态)限制访问权。,是机器指令的延伸,是非进程模块,不能并发执行。,执行过程不可中断,用微代码实现。,2、原 语(primitive),一、操作系统的内核,1、进程运行状态,10/7/2024,19,2.3 进程控制(二),内核是OS的控制和协调中心,由它组织,启动和协调系统中各种活动。通常由各种原语构成。,操作系统内核,内核是OS中最重要最核心的部分。OS的内核紧靠硬件,由那些使用频率高,与硬件紧密相关的模块构成;如中断处理程序,设备驱动程序等。,10/7/2024,20,2.3 进程控制(三),二.内核的功能,1)中断处理,中断是OS内核最重要的功能之一。系统中的所有中断 都由内核响应。中断是进程并发执行的基础,OS是由中断驱动的。,2)原语操作,原语操作包括涉及CPU管理,存储管理,设备管理,文件管理的各种,基本操作。,3)时钟管理,OS的许多重要操作,如:按时间片轮转调度,实时系统中的截止时间控制等,都依赖于时钟管理。,10/7/2024,21,2.3 进程控制(四),中 断 源,引起中断的异步事件(如:系统调用,I/O,请求,进程调度,设备驱动,文件处理等)。,中断请求,向CPU发出中断信号。,中断响应,CPU停止执行当前进程,分辨中断请求的类型。,中断处理,CPU将请求交相关的中断处理程序处理。,中断返回,众多处理结束,返回断点。,内核对中断的,有限,处理方式,中断源,中断请求,中断响应,转中断,处理程序,退出中断,向CPU,保护CPU现场,识别中断源,恢复CPU现场,10/7/2024,22,2.3 进程控制(五),创建原语 create(),撤消原语 destroy(),阻塞原语 block(),唤醒原语 wakeup(),挂起原语 suspend(),激活原语 active(),三.进程控制原语,10/7/2024,23,2.3 进程控制(四),创建进程有两种方式:由系统程序模块创建,或由父进程创建。,算法步骤:,1.向PCB集合申请一个空闲的PCB,并获取其内部标识;,2.将有关信息填入PCB;,3.将该进程置为就绪状态,并插入就绪队列。,创建原语,create(),对进程的控制一般通过原语操作实现,。,10/7/2024,24,创建原语(create),创,建,原,语,算,法,查PCB集,有空PCB,N,创建失败,Y,取空表PCB(i),将参数填入PCB(i),将PCB(i)插入就绪队列,10/7/2024,25,2.3 进程控制(四),算法步骤:,1.根据外部标识检索PCB集,找到要撤消的PCB;,2.从队列中撤消该进程 及其子孙进程,通常在一个递归过程中实现;,3.释放被撤消进程所占有的资源,撤消进程控制块。,撤消原语 destroy(),当进程完成或产生异常中断时,应立即撤消,并释放其所有资源,。,10/7/2024,26,撤消原语(,destroy),撤,消,原,语,算,法,查PCB集和进程家族,有此PCB?,N,出错处理,Y,释放进程所占资源,释放PCB(i)结构,该PCB有子进程?,Y,N,10/7/2024,27,2.3 进程控制(五),进程在执行过程中,需要等待某些条件发生时,由该进程调用阻塞原语把进程从执行状态转换为阻塞状态。,算法步骤:,中断,CPU,执行,将,CPU,的当前状态保存到,PCB,的现场信息。,2.,将进程的当前状态置为阻塞状态;,3.,将进程的,PCB,插入到该事件的阻塞队列中。,阻塞原语 block(),10/7/2024,28,2.3 进程控制,(五),算法步骤:,1.在等待队列中找到该进程,将其P的当前状态置
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!