资源描述:
《计算机操作系统课件第2章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.5管程机制2.6进程通信2.7线程2.1.2前趋图1、前趋图:是一个有向无循环图,用于描述进程之间执行的前后关系。应当注意,前趋图中必须不存在循环。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(PartialOrder)或前趋关系(PrecedenceRelation)“→”。例如:→={(Pi,Pj)
2、PimustcompletebeforePj
3、maystart},如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(InitialNode),把没有后继的结点称为终止结点(FinalNode)。例如:下面两个图的区别图2-2前趋图P1P3P8P9P4P2P5P6P7S1S2S3(a)具有九个结点的前趋图(b)具有循环的图对于图2-2(a)所示的前趋图,存在下述前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→
4、P8,P6→P8,P7→P9,P8→P9或表示为:P={P1,P2,P3,P4,P5,P6,P7,P8,P9}→={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)}应当注意,前趋图中必须不存在循环,但在图2-2(b)中却有着下述的前趋关系:S2→S3,S3→S22.1进程的基本概念2.1.1程序的顺序执行及其特征1.程序的顺序执行(1)仅当前一操作(程序段)执行
5、完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a∶=x+y;S2:b∶=a-5;S3:c∶=b+1;图2-1程序的顺序执行(2)同一程序段中的多个语句,也是按先后顺序执行的2.程序顺序执行时的特征顺序性:(2)封闭性:(3)可再现性:2.1.3程序的并发执行及其特征1.程序的并发执行图2-3并发执行时的前趋图在该例中存在下述前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1而Ii+1和C
6、i及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a∶=x+2S2:b∶=y+4S3:c∶=a+bS4:d∶=c+b图2-4四条语句的前趋关系2.程序并发执行时的特征间断性2)失去封闭性3)不可再现性例如:有两个循环程序A和B,它们共享一个变量N(并假设N的初始值是n)。程序A每执行一次时,都要做N∶=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行(并发执行)。(1
7、)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。2.1.4进程的特征与状态一、进程的特征和定义1、进程的定义较典型的进程定义有:(1)进程是程序的一次执行过程。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行
8、资源分配和调度的一个独立单位。在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。2.进程的特征(与程序相区别)1)结构特征:程序段、数据、PCB2)动态性:最基本的特征3)并发性:多个进程可并发执行4)独立性:独立调度、分配资源、执行5)异步性:推进速度不可预知二、进程的三种基本状态就绪(Ready)状态2)执行状态3)阻塞状态图2-5进程的三种基本状态及其转换三、挂起状态(静止状态)1、引入挂起状态的原因终端用户
9、的请求。(2)父进程请求。(3)负荷调节的需要。(4)操作系统的需要。2、进程状态的转换活动就绪→静止就绪。(2)活动阻塞→静止阻塞。(3)静止就绪→活动就绪。(4)静止阻塞→活动阻塞。图2-6具有挂起状态的进程状态图2.1.5进程控制块PCB一、进程控制块的作用1、PCB使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。2、说明:1)当创建一个新的进程时,系统为它分配一个