OS02-1进程管理

上传人:飞****9 文档编号:143970208 上传时间:2020-09-04 格式:PPT 页数:137 大小:428.50KB
返回 下载 相关 举报
OS02-1进程管理_第1页
第1页 / 共137页
OS02-1进程管理_第2页
第2页 / 共137页
OS02-1进程管理_第3页
第3页 / 共137页
OS02-1进程管理_第4页
第4页 / 共137页
OS02-1进程管理_第5页
第5页 / 共137页
点击查看更多>>
资源描述

《OS02-1进程管理》由会员分享,可在线阅读,更多相关《OS02-1进程管理(137页珍藏版)》请在金锄头文库上搜索。

1、2020/9/4,第三章 进程的描述与控制,1,2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典的进程同步问题 2.5 2.6 进程通信 2.7 线程,第二章 进程管理(1),2020/9/4,第三章 进程的描述与控制,2,2.1 进程的基本概念,2.1.1 程序的顺序执行及其特征 2.1.2 前趋图 2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态 2.1.5 进程控制块,2020/9/4,第三章 进程的描述与控制,3,1、程序的顺序执行,可以把一个应用程序分为若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行,仅当前操作执行完后,才能执行后继

2、操作。例:I代表输入操作, C代表计算操作, P代表打印操作,2.1.1 程序的顺序执行及其特征,2020/9/4,第三章 进程的描述与控制,4,2、程序顺序执行的特征,顺序性:一个程序开始执行必须要等到前一个程序已执行完成; 封闭性:程序运行时独占全机资源,程序一旦开始执行,其计算结果不受外界因素影响; 可再现性:程序的结果与它的执行速度无关(即与时间无关),只要给定相同的输入,一定会得到相同的结果;,2020/9/4,第三章 进程的描述与控制,5,前趋图是一个有向无循环图,用于描述进程之间执行的前后关系。图中每个节点描述一个进程或一条语句。节点间的有向边用于表示两个结点间存在的前驱关系:

3、=(Pi,Pj)|Pimust complete befor Pj may Start 如果(Pi,Pj),可写成PiPj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。,2.1.2 前趋图,初始结点,终止结点,2020/9/4,第三章 进程的描述与控制,6,2.1.3 程序的并发执行及其特征,所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。 例:输入程序I、计算程序C、打印程序P的并发执行情况。,1、程序的并发执行,存在以下前驱关系:Ii Ci, Ii Ii+1, CiPi, Ci Ci+1, Pi P

4、i+1,2020/9/4,第三章 进程的描述与控制,7,2、程序并发执行的特点,间断性:程序在并发执行时,由于它们共享系统资源以及为完成同一项任务而相互合作,使这些并发程序之间形成了相互制约的关系。例:输入程序I、计算程序C、打印程序P的相互制约。 失去封闭性:程序在并发执行时,是多个程序共享系统资源,因而这些资源的状态将由多个程序来改变,使程序运行失去了封闭性(程序间的语句可能交叉执行)。 不可再现性:程序在并发执行时,由于失去了封闭性,也将导致再失去可再现性(程序的运行结果可能每次不同) 。,2020/9/4,第三章 进程的描述与控制,8,例:有两个循环程序A和B,它们共享一个变量N。 程

5、序A:每执行一次时都要做N=N+1操作; 程序B:每执行一次都要做PRINT(N)和 N=0; 程序A和B以不同的速度运行,可能出现下述3种情况(假定某时刻N=n): (1)N=N+1在PRINT(N)和N=0之前,此时得到N的值分别是: n+1,n+1,0; (2)N=N+1在PRINT(N)和N=0之后,此时得到N的值分别是: n,0,1; (3)N=N+1在PRINT(N)和N=0之间,此时得到N的值分别是: n, n+1 ,0;,2020/9/4,第三章 进程的描述与控制,9,上述情况说明, 程序在并发执行时, 由于失去了封闭性(程序间的语句可能交叉执行) ,其结果已与并发执行的速度有

6、关,从而使程序的执行失去了可再现性:程序多次执行后, 虽然它们执行时的环境和初始条件都相同, 但结果却不同。 由此可知, 在多道程序环境下, 让通常的程序直接参与并发执行是不行的, 为使程序能并发执行,必须引进“进程”概念,对并发执行的程序加以描述与控制。,2020/9/4,第三章 进程的描述与控制,10,2.1.4 进程的特征与状态,进程的特征: 1)结构特征:由程序段 、数据段、进程控制块(PCB)三部分组成进程实体; 2)动态性:进程是程序的执行,动态性是进程的基本特征; 3)并发性:多个进程可同存于内存中,能在一段时间内同时运行; 4)独立性:进程是独立运行的基本单位,独立获得资源和调

7、度的基本单位; 5)异步性:各进程按各自独立的不可预知的速度向前推进;,1、进程的特征和定义,2020/9/4,第三章 进程的描述与控制,11,进程的定义,进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。进程有很多各式各样的定义,如: 行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程。 一个具有一定功能的程序关于某个数据集合的一次运行活动。 进程是一个程序与其数据一道通过处理机的执行所发生的活动。,2020/9/4,第三章 进程的描述与控制,12,进程同程序的比较,程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的

8、概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。 进程更能真实地描述并发,而程序不能。 进程具有创建其他进程的功能,而程序则没有。 同一程序在内存中可以被创建成多个进程 。,2020/9/4,第三章 进程的描述与控制,13,2、进程的状态及转换,进程有三种基本状态,在生命消亡前处于且仅处于三种基本状态之一 不同系统设置的进程状态数目不同,有: 三种基本状态系统; 五种基本状态系统; 七种基本状态系统;,2020/9/4,第三章 进程的描述与控制,14,进程的三种基本状态,就绪状态(Ready

9、):存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行。这些进程所处的状态为就绪状态。 运行状态(Running):已获得CPU,而正在运行的进程所处的状态为运行状态。 等待状态(Wait):若一进程正在等待某一事件发生(如等待输入输出工作完成),这时,即使给它CPU,它也无法运行,称该进程处于等待状态(或阻塞状态、 睡眠状态、封锁状态)。,2020/9/4,第三章 进程的描述与控制,15,进程的状态变迁图,2020/9/4,第三章 进程的描述与控制,16,3、挂起状态,1)引入挂起状态的原因 (1)终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时

10、,希望使自己的程序禁止下来,暂停执行(挂起); (2)父进程请求。有时父进程希望挂起自己的子进程,以便考查和修改; (3)负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时可由系统把一些不重要的进程挂起,保证系统的正常运行; (4)操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或记帐;,2020/9/4,第三章 进程的描述与控制,17,2)进程状态的转换 在引入挂起状态后又将增加从挂起状态(静止状态)到非挂起状态(活动状态)的转换,有以下几种情况:,2020/9/4,第三章 进程的描述与控制,18,(1)活动就绪静止就绪。 (2)活动阻塞静止

11、阻塞 (3)静止就绪活动就绪 (4)静止阻塞活动阻塞,2020/9/4,第三章 进程的描述与控制,19,【思考题】,1如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个,最少几个;阻塞进程最多几个,最少几个? 2. 有没有这样的状态转换,为什么? 阻塞运行; 就绪阻塞,2020/9/4,第三章 进程的描述与控制,20,4、创建状态和终止状态,在目前实际的系统中,为了管理的需要,还存在着两种比较常见的进程状态,即创建状态和终止状态。 1)创建状态 创建一个完整的进程一般要通过3个步骤:,为一个新进程创建PCB;把该进程转入就绪状态并插入到就绪队列中; 分配该进程所必需的内存等资

12、源等; 如果只完成了一个进程创建的前两个步骤而未完成第三个步骤,即进程自身还未进入内存,则进程还不能被调度运行,其所处的状态就是创建状态。,2020/9/4,第三章 进程的描述与控制,21,引入创建状态,是为了保证进程的调度必须在创建工作完成后进行,以确保对进程控制块操作的完整性。 同时,创建状态的引入,也增加了管理的灵活性,操作系统可以根据系统性能或内存容量的限制,推迟创建状态进程的提交。 对于处于创建状态的进程,获得了其所必需的资源,以及对其PCB初始化工作完成后,进程状态就可转入就绪状态。,2020/9/4,第三章 进程的描述与控制,22,2)终止状态 进程的终止也要通过两个步骤:首先等

13、待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还给系统。 当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。 进入终止态的进程以后不能再执行,但在操作系统中依然保留一个记录,供其它进程收集。一旦其它进程完成了对终止状态进程的信息提取后,操作系统将删除该进程。,2020/9/4,第三章 进程的描述与控制,23,增加了创建状态和终止状态后,进程的三种基本状态就变为五种,其状态及转换关系如下图所示:,2020/9/4,第三章 进程的描述与控制,24,引进了创建状态和终止状态后,包含挂起状态的进程状态就变成了七种

14、状态,其状态及转换关系如下图所示:,在进程状态转换时需要增加考虑下面几种情况。 (1)NULL创建:一个新进程产生时,该进程处于创建状态。 (2)创建 活动就绪:在当前系统的性能和内存的容量允许的情况下,完成对进程创建的必要操作,操作系统将该进程的状态转换为活动就绪状态。,2020/9/4,第三章 进程的描述与控制,25,(3)创建 静止就绪:考虑到系统当前资源状况和性能要求,操作并不分配给新建进程所需的内存等资源,并将该进程状态转为静止就绪状态,对换到外存,此时进程创建工作尚未完成。 (4)执行 终止:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,该进程即进入终

15、止状态。,2020/9/4,第三章 进程的描述与控制,26,2.1.5 进程控制块(Process Control Block),1、进程控制块的作用 为了描述和控制进程的运行,系统为每个进程定义了一个数据结构-进程控制块(PCB),它是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。 进程控制块的作用是使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其它进程并发运行的进程。 OS是利用PCB来控制和管理进程的,所以PCB是系统感知进程存在的唯一标志; 进程与PCB是一一对应的,

16、2020/9/4,第三章 进程的描述与控制,27,例: 当OS要调度某进程执行时,要从该进程的PCB中查出进程的运行状态和优先级; 当OS要在调度到某进程后,要根据PCB中保存的CPU状态信息,恢复该进程运行的现场,并根据PCB中程序和数据的地址,找到程序入口; 进程在执行的过程中,需要与合作的其它进程实现同步、通信或访问文件时也需要访问PCB; 当进程由于某种原因暂停执行时,又需将其断点的CPU环境保存在PCB中; 当OS创建一个进程时就为它建立一个PCB,而当进程结束时又回收其PCB;,2020/9/4,第三章 进程的描述与控制,28,2、进程控制块(PCB)中的信息,1)进程标识符: 内部标识符(process ID)。唯一,通常是一个整数。 外部标识符。进程名,通常基于可执行文件名(不唯一) 用户标识符(user ID);指示拥有该进程的用户,2020/9/4,第三章 进程的描述与控制,29,2)CPU状态: 通用寄存器值。用户程序可访问的所有CPU寄存器。 指令计数器PC。存放了要访问的下一条指令地址。 程序状态字PSW。含有状态信

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号