资源描述:
《《进程管理传》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.1进程的概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.5管程机制2.6进程通信2.7线程第二章进程管理2021/8/241计算机系统中,最宝贵的资源是CPU。为了提高它的利用率,需要引入多道程序设计的概念。当内存储器中同时有多个程序存在时,如果不对人们熟悉的“程序”概念加以扩充,就无法刻画多个程序共同运行时系统呈现出的特征。因此,在本章将给出操作系统中的重要概念:“进程”。它将是在多道程序运行环境下,系统资源分配和独立运行的基本单位。退出2021/8/2422.1进程的概念2.1.1程序的顺序执行及其特点2.1.2前
2、趋图2.1.3程序并发执行及其特征2.1.4进程的特征与状态2.1.5进程控制块2021/8/2432.1.1程序的顺序执行程序的顺序执行如图在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。2021/8/2442.1.1程序的顺序执行仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a∶=x+y;S2:b∶=a-5;S3:c∶=b+1;2021/8/245程序顺序执行的特点顺序性:
3、一个程序开始执行必须要等到前一个程序已执行完成。绝对不可能出现在一个程序运行过程中,又夹杂进另一个程序执行的现象存在。2021/8/246程序顺序执行的特点封闭性:程序一旦开始执行,其计算结果不受外界因素影响。任何时候,位于内存中的程序可以使用系统中的一切资源,不可能有其他程序与之竞争。2021/8/247程序顺序执行的特点可再现性:程序的结果与它的执行速度无关(即与时间无关),只要执行环境和初始条件相同,当多次重复执行一个程序时,无论不停的执行还是“走走停停”,一定会得到相同的结果。2021/8/2482.1.2前趋图概念:前趋图是
4、一个有向无循环图。要求每个结点可用于表示一条语句、一个程序段或进程等结点间的有向边表示在两个结点之间存在的前趋关系->={(Pi,Pj)
5、Pi必须在Pj开始之前完成}用途:表示程序的执行顺序2021/8/249前趋图把没有前趋的结点称为初始结点(InitialNode),把没有后继的结点称为终止结点(FinalNode)。每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。2021/8/2410前趋图P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→
6、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→S2这种前趋关系是不可能满足的。对于图2-2(a)所示的前趋图,存在下述前趋关系:2021/8/2411练习习题2S1:a:=x+y;S2:b:=z+1;S3:c:=
7、a-b;S4:w:=c+1;S1S3S2S42021/8/24122.1.3程序的并发执行及其特征所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。并发与并行概念的区别?Concurrency,parallel2021/8/2413程序并发执行的特征间断性失去程序的封闭性不可再现性任何并发执行都是不可再现的吗?2021/8/2414间断性:“执行的顺序性”被打破了。例:从上图中可以看出,时刻6程序A打印完毕,按说应该继续执行,但是CPU已经分配给了程序
8、B,因此程序A只能等到时刻9在程序B请求打印时,才能重新获得CPU。这就是说,在程序A执行过程时,夹杂进了程序B的执行,打破了程序执行的顺序性,内存中多个程序的执行过程被交织在一起。从宏观上看,好几个程序都在运行着(比如,在时间区间4~12,程序A和程序B都在做着自己的事情;在时间区间12~17,程序B和程序C都在做着自己的事情);而从微观上看,每个时刻CPU只能为一个程序服务,因此运行着的程序都是走走停停。总之,在程序并发执行时,各个程序的执行已经不再可能完全依照自己的执行次序执行了。2021/8/2415封闭性被打破:程序并发执行
9、时,多个程序共享系统中的资源,其状态可有多个程序来改变。因此,某程序在执行时必然受其他程序的影响。如可能有多个程序竞争cpu。2021/8/2416不可再现性:“结果的再现性”被打破了。举例:有两个循环程序A和B,它们共