第二讲 进程管理之进程的基本概念.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二讲 进程管理之进程的基本概念 还是基本概念 一、前趋图 前趋图 1、作用:为了描述进程之间执行的前后关系,我们常常采用前趋图方式。 2、定义:前趋图是一个有向无循环图DAG(Directed Acyclic Graph)。图中每个节点表示一条语句、一个程序段或进程。 有向边表示在两节点之间存在的偏序或前趋关系,表示为“→”,描述为: →={(Pi,Pj)|在Pj开始前Pi必须完成} 如果(Pi,Pj)∈→,也就是Pi和Pj存在偏序或前趋关系,那么可写成Pi→Pj,其中我们说Pi是Pj的直接前趋,Pj是Pi的直接后继。 每个节点有一个重量,也就是权值,表示节点所含的程序量或者节点的执行时间。 *从前趋图的概念我们可知,前趋图中一定没有循环。 在该前趋图中:存在下面的前趋关系: P1→P2,P1→P3,P1→P4,P2→P5,P3→P5, P4→P6,P4→P7,P5→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)} (二)程序的顺序执行 程序在执行时,把一个程序分成若干个程序段,它们必须按照某种先后次序顺序执行,也就是前一个操作完成,后面的操作才能执行。前趋图如下 顺序执行前趋图 说明:I:输入操作 C:计算操作 P:打印操作;在进行计算时,总是先输入用户的程序和数据,然后进行计算,最后将结果打印出来。 语句的顺序执行:语句顺序执行 说明:S1,S2,S3这三条语句顺序执行。这个我们经常见到。 程序顺序执行的特征: 顺序性:前一操作完成,后一操作才能进行。 封闭性:程序在封闭的环境下运行,即程序运行时独占全部系统资源。 可再现性:只要程序执行时的环境相同,程序每次运行结果相同。 (三)程序并发执行 概念:程序的并发执行:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上相互重叠。 现在来理解这个概念:从两点来理解。 首先,程序段在逻辑上是没有关联的。例如一个是A程序的打印程序段,一个是B程序的计算程序段。 其次,这几个不关联的程序段在执行时间上是重叠的。也就是一个程序段的执行尚未结束,另一个程序段的执行已经开始的执行方式。例如A程序的打印程序段尚未执行完,B程序的计算程序段已经开始执行。 注意:并发和并行的区别:我们来仔细理解一下 我们知道并发是宏观上同时,微观上分时。 程序的并行执行是指一组程序按独立的、异步的速度执行。是多道程序在同一时刻执行。一般要多硬件支持实现,并行执行不等于时间上的重叠。 看课本的例子讲一下,如下图 说明:这里我们可以看到,第三个程序的输入I3和第二个程序的计算C2和第一个程序的打印P1,正在并发执行。 并发执行的特征: 1、间断性:是指程序在执行中一般是“执行—暂停执行—执行”,间断执行的。间断性产生的原因是,程序执行时的相互制约,这种制约是由于程序并发执行而产生的,因为程序在并发执行中可能会对共享资源或为同一项任务的执行而产生制约。是有点太抽象了那么看课本的例子。就明白了,程序A将使用打印机,可是它却被程序B占用。那么程序A就必须等待这个就是典型的因为共享资源而造成的间断。 2、失去封闭性:封闭性是指程序运行时独占资源,只有本程序能改变它。但是在并发执行时,各程序都可共享资源,因此失去封闭性。 3、不可再现性:程序并发执行时,失去可再现性。例如当两个程序共享一个变量时,可能造成不可再现性。程序的并发执行破坏了程序的可再现性。见课本例子。 4、通信性:对于相互合作的程序,为了更有效地协调运行,相互之间需要进行通信。 5、独立性:并发程序在运行过程中,既然是作为一个独立的运行实体,它也必然具有作为一个单位去获得资源的独立性。 程序并发执行条件(Bernstein条件) 程序并发执行时的不可再现性是不允许的,因此必须采取措施保证其再现性。 读集:R(Pi)={a1,a2,...,am},为程序Pi在执行期间所需参考的所有变量的集合 写集:W(Pi)={b1,b2,...,bn},为程序Pi在执行期间所要改变的所有变量的集合 两个程序是否能并发执行,可根据Bernstein条件来判断,该条件是: R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={ } 满足伯恩斯坦条件则能并发执行。 例如:四条语句:S1:a:=x+y S2:b:=z+1 S3:c:=a-b S4:w:=c+1 读集和写集是:R(S1)={x,y} R(S2)={z} R(S3)={a,b} R(S

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档