




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章,进程的描述与控制,进程是操作系统最重要,最基本的概念之一,这个概念对操作系统的理解,描述和设计都具有极其重要的意义。,本章讨论的主要问题,1、什么是进程?为什么要引入进程?2、如何描述进程?3、进程具哪些状态?这些状态之间如何进行转换?4、如何控制进程状态的转换?,2.1程序的执行与特征(一),一、程序的顺序执行及特征,如:有三条语句:s1:a:=x+ys2:b:=a-5s3:c:=b+1,程序顺序执行的特征:,执行顺序用有向图表示:,s1,s2,s3,1.顺序性:处理机操作严格按照程序所规定的顺序执行。,2.封闭性:程序独占资源,除初始状态外,只有程序本身规定的操作才能够改变资源状况,即程序在封闭环境下运行。,3.可再现性:程序的运行结果与它执行的速度无关。,一个具有独立功能的程序独占CPU直到完成的过程称为程序的顺序执行。,2.1程序的执行与特征(二),1.前趋图(PrecedenceGraph)用前趋图来描述并发执行的程序的特征。前趋图DAG(DirectedAcyclicGraph)结点表示一条语句,一段程序或进程。有向边表示两结点间的偏序或前趋关系。前趋定义:(Pi,Pj)记为:PiPj,二、程序的并发执行及特征,其中:Pi称为Pj的直接前趋。,2.程序的并发执行,程序的并发执行是指在逻辑上相互独立的一组程序在执行时间上的相互重叠,即一个程序段的执行尚未结束,另一程序段的执行已经开始。,Pi,Pj,2、程序的并发执行,例:有三类程序并发执行:Ii输入程序Ci计算程序Pi打印程序,I1,I2,I3,I4,C1,C2,C3,C4,P1,P2,P3,P4,IiCiPi,IiCiCiPi,前趋关系:,Pi-1,Ci,Ii+1可并发执行。,2.1程序的执行与特征(三),IiIi+1,CiCi+1,PiPi+1,问题程序的顺序执行与程序的并发执行有那些不同的特征?,2.1程序的执行与特征(四),执行过程中可能有多个程序同时申请同一资源,带来了资源的动态分配。多道程序共享资源共同决定和影响资源的状态。因此,并发程序的执行结果与其执行的相对速度有关。,(1)并发执行的程序间相互约束,相互依赖,显然,程序的并发执行与程序的顺序执行具有完全不同的特征,主要表现在:,各并发执行的程序共享资源,使本来并无逻辑关系的程序之间产生了相互制约的关系。而需要相互通信共同协作完成同一任务的程序之间相互依赖又相互制约。使各道程序走走停停,动态执行。,(2)对系统资源争夺与共享,3、程序并发执行的特征,程序顺序执行程序并发执行顺序性间断性封闭性无封闭性可再现性不可再现性,2.1程序的执行与特征(五),不可再现性是程序并发执行时的间断性及失去封闭性的必然结果,即程序的执行结果与其执行速度有关。例:程序A程序B.N:=N+1PRINT(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进程的描述(一),本节讨论关于进程的基本概念:,进程的定义进程的特征进程的状态进程控制块,进程是可并发执行的程序在给定数据集合上的一次执行过程,是系统进行资源分配和调度的一个独立的基本单位和实体,是执行一个映象程序的总环境,是一个动态的概念。,一.进程的定义进程的引入是为了更好地描述程序并发执行的动态特征。,1.定义,2.2进程的描述(二),进程是执行程序的动态过程动态概念。程序是进程运行的静态文本静态概念。,2.2进程的描述(三),一个进程可以执行一个或多个程序。一个程序可以被多个进程执行。,程序可以作为一种资源以文件的形式长期保存。进程只是一次执行过程,具有生命期。,2.进程与程序的区别、联系,2.2进程的描述(四),进程是程序的一次执行过程具有生命期;它可以由系统创建并独立地执行,直至完成而被撤消。,进程是可以并发执行的基本单位,从宏观上看,它们可以“同时”执行。由于共享资源,进程间相互约束,相互依赖。,动态性,并发性,独立性,异步性,各个进程之间相互独立,是系统分配资源和能够被处理机调度的基本单位。,各个进程按照各自独立的、不可预知的速度异步向前推进。即进程按异步方式执行。,二.、进程的特征,2.2进程的描述(五),1、三种基本状态:执行状态(Executing)就绪状态(Ready)阻塞状态(Blocked)或等待(Wait),阻塞状态,就绪状态,执行,状态,调度,I/O请求,进程,释放,时间片到,新状态,结束,后备队列,新状态结束状态,三、进程的基本状态,2、进程状态的细化,挂起状态(Suspend):对正在执行的进程,则停止执行。对就绪状态的进程,则停止调度,并回收资源。对阻塞状态的进程,则停止条件的发生。,称被挂起的进程是静止的,静止就绪(Readys),静止阻塞(Blockeds),称未被挂起的进程是活动的,活动就绪(Readya),活动阻塞(Blockeda),将进程挂起的原因:1。系统工作负荷达到高峰,调整负荷,使系统正常运行。2。人为挂起,停止某进程执行,以便研究分析。3。系统需要,如系统故障,系统检测需要。,2.2进程的描述(六),3、细化的进程状态图,活动阻塞,执行状态,活动就绪,静止就绪,静止阻塞,调度,释放,I/O请求,激活,激活,挂起,挂起,挂起,释放,2.2进程的描述(七),2.2进程的描述(八),1、进程的描述对进程的描述应该反映进程的存在及其变化,反映进程的动态特性。进程由程序,相应的数据集合,进程控制块三部分组成。,进程的程序静态文本,描述进程所要完成的功能。数据集合程序运行时所需的数据和工作区。,静态描述,动态描述,进程控制块PCB(ProcessControlBlock)记录和描述进程的动态特性,描述进程的执行情况和状态变化。,四、进程控制块,2.2进程的描述(九),进程标识信息外部标识信息内部标识信息进程家族标识,处理机状态信息通用寄存器指令计数器程序状态字(PSW)用户栈指针,进程调度信息进程状态进程优先级其他调度信息等待事件,进程控制信息程序数据地址进程同步及通信资源清单链接指针,2、PCB块包含的信息,不同操作系统,PCB所包含的信息类型及数量可能有所不同,但一般包括两类信息。,1)调度信息描述进程的当前状况,供进程调度使用。,2)现场信息刻划了进程运行的情况;记录在进程运行过程中会改变的信息,以便进程中断后,再次被调度时能够继续运行。,PCB块是一个进程存在的唯一标志,当系统创建一个进程时,为该进程设置一个PCB,再利用PCB对进程进行控制和管理。当进程撤消时,系统回收它的PCB。,3、PCB块的组织方式,链接方式链接成各种就绪,阻塞及空白等各种队列。索引方式建立不同状态的索引表。,2.2进程的描述(十),2.3进程控制(一),操作系统中,为了防止用户进程对OS及PCB等关键信息的破坏。一个进程在其生命期中有两种机器运行状态:系统态(核心态,管态)具有较高的访问权,可访问核心模块。用户态(目态)限制访问权。,是机器指令的延伸,是非进程模块,不能并发执行。执行过程不可中断,用微代码实现。,2、原语(primitive),一、操作系统的内核,1、进程运行状态,2.3进程控制(二),内核是OS的控制和协调中心,由它组织,启动和协调系统中各种活动。通常由各种原语构成。,操作系统内核,内核是OS中最重要最核心的部分。OS的内核紧靠硬件,由那些使用频率高,与硬件紧密相关的模块构成;如中断处理程序,设备驱动程序等。,2.3进程控制(三),二.内核的功能1)中断处理中断是OS内核最重要的功能之一。系统中的所有中断都由内核响应。中断是进程并发执行的基础,OS是由中断驱动的。,2)原语操作原语操作包括涉及CPU管理,存储管理,设备管理,文件管理的各种基本操作。,3)时钟管理OS的许多重要操作,如:按时间片轮转调度,实时系统中的截止时间控制等,都依赖于时钟管理。,2.3进程控制(四),中断源引起中断的异步事件(如:系统调用,I/O请求,进程调度,设备驱动,文件处理等)。中断请求向CPU发出中断信号。中断响应CPU停止执行当前进程,分辨中断请求的类型。中断处理CPU将请求交相关的中断处理程序处理。中断返回众多处理结束,返回断点。,内核对中断的有限处理方式,中断源,中断请求,中断响应,转中断处理程序,退出中断,向CPU,保护CPU现场识别中断源,恢复CPU现场,2.3进程控制(五),创建原语create(),撤消原语destroy(),阻塞原语block(),唤醒原语wakeup(),挂起原语suspend(),激活原语active(),三.进程控制原语,2.3进程控制(四),创建进程有两种方式:由系统程序模块创建,或由父进程创建。,算法步骤:1.向PCB集合申请一个空闲的PCB,并获取其内部标识;2.将有关信息填入PCB;3.将该进程置为就绪状态,并插入就绪队列。,创建原语create(),对进程的控制一般通过原语操作实现。,创建原语(create),创建原语算法,查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进程控制(五),进程在执行过程中,需要等待某些条件发生时,由该进程调用阻塞原语把进程从执行状态转换为阻塞状态。,算法步骤:中断CPU执行,将CPU的当前状态保存到PCB的现场信息。2.将进程的当前状态置为阻塞状态;3.将进程的PCB插入到该事件的阻塞队列中。,阻塞原语block(),2.3进程控制(五),算法步骤:1.在等待队列中找到该进程,将其P的当前状态置为就绪;2.将进程从等待队列中撤消,并插入到就绪队列中。,唤醒原语wakeup(),当处于阻塞状态的进程所等待的事件发生后,使用唤醒原语将进程从等待状态转换为就绪状态。,2.3进程控制(六),进程在执行过程中,根据用户或系统的某种需要,调用挂起原语将进程从活动状态转换为静止状态。,算法步骤:1.根据外部标识检索PCB集,找到要挂起的PCB块;2.检查被挂进程的当前状态:执行态静止就绪,并转调度程序,重新调度。活动就绪静止就绪活动阻塞静止阻塞,挂起原语suspend(),2.3进程控制(六),算法步骤:1.检查被挂进程的当前状态:2.将进程从相应的静止状态活动状态。,激活原语active(),当外于静止状态的进程所等待的激活事件发生后,使用激活原语将进程从静止状态转换为活动状态。,一.UNIX系统的核心结构UNIX系统分为三个层次:核心、用户接口及实用程序、应用程序。,2.4UNIX系统中的进程(一),UNIX核心:包括四大资源管理功能。由以下部分组成:,1、进程控制子系统负责处理机管理和存储管理,包括进程控制、进程通信、进程调度及段页式存储管理。,2、文件子系统将慢速外设备看作广义的文件。文件子系统功能包括:文件管理、高速缓冲机制及设备驱动。,3、两个接口核心与硬件的接口(一组驱动程序,基本例程)核心与SHELL的接口(系统调用,命令解释程序),2.4UNIX系统中的进程(二),3。两个接口核心与硬件的接口(一组驱动程序,基本例程)核心与SHELL的接口(系统调用,命令解释程序),文件子系统,进程控制子系统,系统调用接口,硬件,硬件控制,用户程序,核心级,用户级,硬件级,2.4UNIX系统中的进程(三),PCB块数据结构,1。进程表项(PROC结构):核心数据。2。U区(USER结构):PROC的扩充数据。3。系统区表项:段在物理存储器的位置等信息。4。本进程区表:本段起始虚地址,指向系统区表中的本进程区表项的指针。,2.4UNIX系统中的进程(四),进程的唯一标识。拥有该进程的用户标识。记录该进程的当前状态(九种)。记录使该进程进入睡眠状态的事件。进程及U区在内存或外存的位置。记录其它进程发来的软中断信号。进程执行时间及对资源的利用情况。用于内存分配。设置进程动态优先级。指向U区进程正文、数据及栈在内存区域的指针。,1.进程表项(PROC结构)包括进程最常用的基本控制信息,常驻内存。,进程标识符PID用户标识符UID进程状态事件描述符进程及U区位置软中断信号计时域进程大小偏置值指向U区内存区域的指针,二、PCB块的数据结构,2.4UNIX系统中的进程(五),指向当前执行进程的进程表项。(realuserID)由超级用户分配的户标识符,用于用户登录验证。(effectiveuserID)一般同上,可由系统调用改变。记录该进程已打开的所有文件。记录当前根及当前目录。对进程大小及读、写文件字节数,方式及缓冲区大小等的限制。记录进程(及其子进程)在核心态和用户态执行所用时间。记录系统调用过程中的错误。标识出该user结构所对应的proc结构。,USER结构所包含的信息只有在进程运行时才使用,不一定调入内存。,2、U区(USER结构),进程表项指针真正用户标识符URUID有效用户标识符UEUID文件描述表文件运行环境限制字段计时器出错字段指向U区内存区域的指针,2.4UNIX系统中的进程(六),UNIX系统中采用段页式储存管理,为了把虚地址映射到实际的物理地址,定义了两个表:进程区表,系统区表。储存管理是进程并发执行的基础,因此,PCB中也定义了有关储存管理的字段:3。系统区表项4。本进程区表,三、进程的上、下文进程是一个进程映象(ProcessImage)的执行过程,各进程并发执行,OS经常需要把控制从一个现行执行的进程转换到另一个进程,这个操作称为“关联转换”,或“上、下文转换”(context)。,进程上、下文是对进程执行活动全过程的描述。进程上、下文包括:寄存器上、下文,系统级上、下文,用户级上、下文。,2.4UNIX系统中的进程(七),存放进程在运行过程中所产生的数据。如R0、R1用于系统进程与用户进程间传递参数。存放CPU正常执行的下一条指令的虚地址。包括当前进程的访问方式(核心态、用户态)中断优先级,中断或陷入前的访问方式。指向核心栈或用户栈中下一项的当前地址。,1、寄存器上、下文又称硬件关联(HardwareContext),存放进程状态变化时进程运行所对应的各寄存器的值。,通用寄存器程序寄存器(计数器PC)处理机状态寄存器(状态字PSW)堆栈指针,2.4UNIX系统中的进程(七),进程的用户栈是进程在用户态下的工作区。进程的核心栈是进程在核心态下的工作区。栈在函数调用时用于传递参数、保护现场、存放返回地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《数图形的学问》(教案)四年级上册数学北师大版
- 五年级上册数学教案-3.2 除数是小数的除法 第二课时-西师大版
- 五年级下册数学教案-4 异分母分数加减法 ︳西师大版
- 《三角形的内角和》(教学设计)-2024-2025学年青岛版四年级数学下册
- (高清版)DB45∕T 808-2021 城镇建筑有线电视网络建设技术规范
- 2025年吉林省吉林市单招职业倾向性测试题库新版
- 2024年智能压力校验仪项目投资申请报告
- 历史-云南省三校2025届高三2月高考备考联考卷(六)试题和答案
- 2025年度荒山荒沟土地承包与林业生态补偿机制合同
- 2025年度工程尾款支付与质量保证协议书
- 服饰品设计PPT完整全套教学课件
- 颅脑横断层解剖09课件
- 2023年同等学力申硕英语真题
- 2023年04月广东深圳市市场监督管理局许可审查中心招考聘用医疗器械注册审评员(员额)笔试参考题库附答案解析
- 安捷伦N9020A频谱仪操作说明
- 孟氏骨折与盖氏骨折
- 我的妹妹-教学设计教案
- GB/T 30512-2014汽车禁用物质要求
- 五年级上册语文阅读理解附答案
- 小学一年级硬笔书法入门25839教学内容
- 心理测量学(全套教学课件)
评论
0/150
提交评论