进程概念、进程控制.ppt

上传人:牧羊曲112 文档编号:6146319 上传时间:2023-09-29 格式:PPT 页数:61 大小:541KB
返回 下载 相关 举报
进程概念、进程控制.ppt_第1页
第1页 / 共61页
进程概念、进程控制.ppt_第2页
第2页 / 共61页
进程概念、进程控制.ppt_第3页
第3页 / 共61页
进程概念、进程控制.ppt_第4页
第4页 / 共61页
进程概念、进程控制.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《进程概念、进程控制.ppt》由会员分享,可在线阅读,更多相关《进程概念、进程控制.ppt(61页珍藏版)》请在三一办公上搜索。

1、1,第三章 进程管理,OS的任务是使用户充分有效地利用系统资源,对于处理机而言则是如何把处理机分配给多任务用(处理机调度算法)。由于多数现代操作系统的设计都是基于进程的概念,处理机的分配对象也大都是进程,所以先介绍进程管理,再介绍处理机调度,2,采用进程的概念来描述计算机程序的执行过程和作为资源分配的基本单位,充分反映OS的执行并发、资源共享、用户随机的特点进程(process)是操作系统中最基本、重要的概念,3,第三章 进程管理,3.1进程的概念3.2进程的描述3.3进程状态及其转换3.4进程控制3.5进程互斥3.6进程同步3.7进程通信3.8死锁问题3.9线程的概念3.10线程分类与执行,

2、4,第三章 进程管理,进程(process)的引入,5,3.1 进程的概念,1 程序的顺序执行人们在使用计算机完成各自所要求的功能时,总是使用“程序”这个概念程序:是一个在时间上按严格次序前后相继的操作序列,是一个静态的概念程序的顺序执行:具有独立功能的程序独占处理机直至最终结束的过程,6,程序顺序执行的特点:顺序性:上一条指令的执行结束是下一条指令执行开始的充分必要条件;一个程序开始执行必须要等到前一个程序已执行完成封闭性:程序执行得到的最终结果由给定的初始条件决定,不受外界因素影响可再现性:程序的结果与它的执行速度、时间无关,只要给定相同的输入,一定会得到相同的结果,程序顺序执行的特点:顺

3、序性封闭性可再现性,7,2 程序的并发执行为了增强计算机系统的处理能力和提高资源利用率所谓程序的并发执行是指:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序或程序段的执行尚未结束,另一个程序或程序段的执行已经开始,会出现什么问题,8,程序并发执行的特点:充分利用了系统资源,提高了系统的处理能力由于资源有限,导致资源共享和竞争,从而改变程序的执行速度并发程序执行的结果与其执行的相对速度有关,是不确定的,失去程序的封闭性不可再现性举例(P41),9,例:有两个循环程序A和B.A每执行一次时,都要作mm1操作。B每执行一次时,先执行print(m)操作,然后再

4、将m置成“0”。可能出现以下三种情况(假定某时刻m的值为m),m=m+1 在print(m)和m0之前。此时得到的m值分别为m+1,m+1,0m=m+1 在print(m)和m0之后。此时得到的m值分别为m,0,1m=m+1 在print(m)和m0之间。此时得到的m值分别为m,m+1,0,10,程序并发执行的条件,任何并发执行都是不可再现的吗?,定义:R(Pi)=a1,a2,am 表示程序Pi在执行期间需引用的变量的集合,称为“读集”W(Pi)=b1,b2,bn 表示程序Pi在执行期间要改变的变量的集合,称为“写集”,11,有如下两条语句:P1:c=a-b P2:w=c+1则它们的读集和写集

5、分别是:R(P1)=a,b W(p1)=c R(P2)=c W(p2)=w,12,若两个程序P1和P2能满足下述条件,它们便能并发执行,否则不能。此条件称伯恩斯坦条件(Bernstein,1966)R(P1)W(P2)R(P2)W(P1)W(P1)W(P2)=。即P1读集与P2写集的交集,P2读集与P1写集的交集,P1写集和P2写集的交集,三者同时为空集,13,在一般情况下,系统要判断并发执行的各段程序段是否满足Bernstein条件是相当困难的,因此我们需要来解决程序并发执行所带来的问题,14,思考为什么要引入进程的概念?,应该有一个描述各程序段执行过程和共享资源的基本单位,以采取某些措施来

6、制约、控制各并发程序段,程序并不合适,15,操作系统引入进程的概念从理论角度看,是对正在运行的程序过程的抽象;从实现角度看,是一种数据结构,目的在于清晰地刻划动态系统的内在规律,有效管理和调度进入计算机系统运行的程序,16,3.1 进程的概念,进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。进程有很多各式各样的定义,如:进程是一个可以并行执行的计算部分进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源进程是一个独立的可以调度的活动等等,17,进程的定义:进程Process进程是一个具有独立功能的程序对某个数据集合在处理机上的执行

7、过程和分配资源的基本单位程序指一组操作序列,数据集合则是接受程序规定操作的一组存储单元的内容,18,进程的特征,动态性:进程是程序的执行具有生命周期。由系统“创建”而诞生,因被“调度”而执行,因得不到资源而暂停,最后因被“撤消”而消亡 并发性:多个进程可同存于内存中,能在一段时间内同时运行,19,进程的特征,独立性:独立获得资源和调度的基本单位异步性:各进程按各自独立的不可预知的速度向前推进结构特征:由程序段、数据段、进程控制块三部分组成,20,进程和程序的区别:程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。程序可以

8、作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。进程更能真实地描述并发,而程序不能,21,进程和程序的联系:同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程,22,进程和作业的关系:作业是用户向计算机提交的任务实体,进程则是完成用户任务的执行实体一个作业可由多个进程组成作业的概念主要用在批处理系统中,进程的概念用在几乎所有的多道、并发技术的操作系统中,23,3.2 进程的描述,进程的静态描述:由程序段、该程序段对其进行操作的数据结构集、进程控制块PCB三部分组成程序段部分描述进程所要完成的功能,数据结构集是程序在执行时

9、必不可少的工作区和操作对象,一般存放在外存中,直到该进程执行时再调入内存,24,进程控制块PCB Process Control Block,PCB包含一个进程的描述信息、控制信息以及资源信息,是进程动态特性的集中反映进程与PCB是一一对应的。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志,PCB结构是全部或部分常驻内存当一个进程完成其功能后,系统释放PCB,进程也随之消亡,25,PCB是进程存在的标志,当系统或父进程创建一个进程时,实际上就是为其建立一个进程控制块 PCB既能标识进程的存在,又能刻画出进程的动态特征,它是一个进程仅有的被系统真正感知的部分对操作系统而言

10、,所有进程控制块将构成并发执行控制和维护系统工作的依据,PCB的作用:,26,PCB的内容(不同系统不尽相同),27,PCB的内容,1.进程描述信息:进程标识符(process ID,唯一,通常是一个整数)或进程名用户名或用户标识符(user ID)家族关系2.进程控制信息:当前状态(就绪态、执行态、等待态)进程优先级(priority)进程开始地址运行统计信息,进程占有和利用资源的情况通信信息,28,3.资源管理信息:有关存储器的信息使用输入输出设备的信息有关文件系统的信息等4.CPU现场保护信息:存储退出执行时的进程现场数据,当该进程重新恢复运行时恢复处理器现场。包括通用寄存器内容、控制寄

11、存器内容、用户堆栈指针、系统堆栈指针等。,29,PCB是系统中最重要也是被频繁访问的数据结构,系统中的许多模块,如调度程序、资源分配程序、中断处理程序以及监督和分析程序等,特别是运行频率很高的进程分派程序,都要对它进行读或写操作,所以PCB常驻内存的系统区中,系统将所有的PCB组织成若干个链表(或队列),存放在操作系统中专门开辟的PCB区内,30,PCB表:系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度 有两种组织方式:链接和索引,PCB表,31,进程控制块的组织方式,1)链接方式,图 PCB链接队列

12、示意图,32,2)索引方式,图 按索引方式组织PCB,33,两类进程:系统进程和用户进程系统进程是在系统态下执行操作系统代码用户进程是在用户态下执行用户程序,34,管态与目态,管态指操作系统的管理程序在执行时CPU所处的状态,又名特权态、系统态、核心态目态指用户程序在执行时CPU所处的状态,又名用户态,35,为什么要区分管态与目态?,操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。因此,系统采用了区分处理机状态的办法,为操作系统程序建立一个保护环境。这样,用户程序只能在目态下运行,只能执行非特权指令,只能访问自己的存储区,从而保护了操作系统程序的正常运

13、行。,36,进程上下文,进程上下文实际上是进程执行活动全过程的静态描述OS中把进程物理实体和支持进程运行的环境合称为进程上下文(context),37,包括计算机系统中与执行该进程有关的各种寄存器的值、程序段在经过编译之后形成的机器指令代码集、数据集、各种堆栈值和PCB结构等当系统调度新进程占有处理器时,这时要做一次进程上下文切换、即保存老进程状态而装入被保护了的新进程的状态,以便新进程运行,38,已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为上文正在执行的进程指令和数据在相关寄存器与堆栈中的内容称为正文待执行的进程指令和数据在相关寄存器与堆栈中的内容称为下文,39,进程上下文的结构,

14、进程上下文可按一定的执行层次组合:用户级上下文:由进程的用户程序块、用户数据块和用户堆栈组成的进程地址空间。系统级上下文:包括系统进程的标识信息及系统堆栈等组成的进程地址空间寄存器上下文:由PSW寄存器和各类控制寄存器、地址寄存器、通用寄存器组成,40,进程切换的步骤,保存被中断进程的处理器现场信息修改被中断进程的进程控制块的有关信息,如进程状态等。把被中断进程的进程控制块加入有关队列选择下一个占有处理器运行的进程修改被选中进程的进程控制块的有关信息根据被选中进程恢复处理器现场,41,进程上下文切换,包括3个部分1.保存被切换进程的正文部分2.操作系统进程中有关调度和资源分配程序执行,选取新的

15、进程3.将被选中进程的原来被保存的正文部分恢复,42,进程空间与大小,每个进程都有自己的地址空间,该空间称为进程空间或虚空间进程空间的大小只与处理机的位数有关,16位长处理机的进程空间大小为216,程序的执行都在进程空间内进行可划分为:用户空间和系统空间,43,3.3 进程状态及其转换,3.3.1 进程状态3.3.2 进程状态转换,44,3.3.1 进程状态,一个进程的生命期可以划分为一组状态,系统根据PCB结构中的状态值控制进程进程在生命消亡前处于且仅处于三种基本状态之一三种状态:执行(Running)、等待(Wait)/阻塞(Blocked)、就绪(Ready),45,执行状态:进程正在处

16、理机上运行的状态,该进程已获得必要的资源,也获得了处理机,用户程序正在处理机上运行。等待(阻塞)状态:进程等待某种事件完成(例如,等待输入/输出操作的完成)而暂时不能运行的状态,处于该状态的进程不能参加竞争处理机,此时,即使分配给它处理机,它也不能运行。,46,就绪状态:该进程运行所需的一切条件都得到满足,但因处理机资源个数少于进程个数,所以该进程不能运行,而必须等待分配处理机资源,一旦获得处理机就立即投入运行在不少系统中,又增加了两种基本状态:新状态和终止状态,47,引入新状态和终止状态的原因:,由于OS在建立一个新进程时,通常分为2步:第一步是为新登录的用户程序创建进程,并为他分配资源,此

17、时进程即处于新状态。第二步是把新创建的进程送入就绪队列,一旦进程进入就绪队列,它便由新状态变为就绪状态 一个结束了的进程,其退出系统的过程也分为两步:第一步是将该进程从执行队列中移出,相应的进程处于终止状态。此时系统并不立即撤销它,而是将它暂时留在系统中,以便其它进程去收集该进程的有关信息,48,3.3.2 进程状态转换,进程的状态反映进程执行过程的变化,这些状态随着进程的执行和外界条件发生变化和转换。,49,典型的进程状态演变图,50,就绪,执行,阻塞,创建,完成,I/O完成或等待的事件发生,I/O请求或等待某事件,进程状态间的转换,51,挂起状态使进程不能继续执行,即使挂起后的进程处于就绪

18、状态,它也不能参与CPU的竞争,52,图 具有挂起状态的进程状态图,I/O完成,I/O完成,53,引入挂起状态的原因常被用在进程对换中,此时挂起(即换出)进程可以腾出内存空间给就绪进程使用调节系统的负荷方便用户考察自己的运行进程或父进程考查子进程方便操作系统检查运行中的资源使用情况或进行记账等,54,3.4 进程控制,3.4.1 进程创建与撤销3.4.2 进程的阻塞与唤醒,55,进程控制就是对系统中的所有进程实施管理,包括进程的创建、撤销以及完成进程各状态间的转换。,3.4 进程控制,56,进程控制一般用原语(Primitive)来实现。所谓原语是一种特殊的系统功能调用,它可以完成一个特定的功

19、能。其特点是原语执行时不可被中断,不允许并发执行,在操作系统中它是一个不可分割的基本单位。一个原语操作中的所有动作,要么全作,要么全不作。,57,原语在管态下执行,实现方法是以系统调用方式提供原语接口,且采用屏蔽中断的方式来实现原语功能,以保证原语操作不被打断的特性用于进程控制的原语有:创建原语撤销原语阻塞原语唤醒原语,为什么进程控制要用原语,58,1.进程创建原语Create()进程创建方式:由系统程序模块统一创建,进程之间的关系是平等的由父进程创建,存在隶属关系,构成家族关系,继承其父进程所拥有的资源创建过程:申请空白PCB为新进程分配资源,如内存初始化进程控制块 将新进程插入就绪队列,5

20、9,2.进程撤销原语Tenminat()进程撤销方式:该进程已完成所要求的功能而正常终止由于某种错误导致非正常终止父进程要求撤销某个子进程撤销过程:根据被终止进程的标识符,从PCB集合中检索出该进程的PCB将进程所拥有的资源交给父进程或系统进程释放PCB,60,3.进程阻塞原语Block()阻塞:运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入、等待磁盘数据传输完成等,当被等待的事件未发生时,由进程自己执行阻塞原语,使自己由运行态变为阻塞态阻塞过程:中断处理机并保存该进程的CPU现场为该进程置阻塞状态后插入等待队列转进程调度,将处理机分配给另一个就绪进程,61,4.进程唤醒原语Wakeup()唤醒:当等待队列中的进程等待的事件发生时,等待该事件的所有进程都将被唤醒。两种方法:系统进程唤醒、事件发生进程唤醒唤醒过程:从等待队列中摘下被唤醒进程将被唤醒进程置为就绪状态后送入就绪队列转进程调度或返回,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号