前驱图和程序执行

前趋图

前趋图是一个有向无循环图,用于描述进程之间执行的前后关系。每个节点可以代表一段程序,一个进程或一条语句。无环是为了防止程序出现死锁。比如下图:

其前趋关系有两种表示:

{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)}

这里的p1称为起始终点,p9称为终止终点,这个图中的边上没有数据,如果有数据,这些数据叫做重量。重量有不同的含义,可以代表程序运行的时间,程序的大小等等。

前趋图必须不存在循环。假如s1->s2,s2->s1,互为前提,就无法表示进程之间的前后关系。检验是否存在环,可以使用拓扑排序。

 

程序执行

程序的顺序执行

一个程序又若干个程序段组成,程序段的执行是顺序的,那么程序的执行方式就是顺序执行。比如单道系统的工作,输入数据,金彗星加和,输出计算结果,这就是顺序执行的操作。

程序顺序执行有三个特征:顺序性、封闭性、可在现性。封闭性是指程序一开始执行,计算结果是不会受到外界影响的。身为操作者也无法直接控制内存cpu去改变结果。可再现性是指计算机可以再现本该出现的结果,程序执行的结果只与初始条件有关。

程序的并发执行

现在系统有n个作业,每个作业都有输入,计算,输出这三步,站在单个作业的角度上看,它仍然是顺序执行的。但是站在多个作业的角度看,每个作业不同的步骤是可以同时执行的。

程序并发执行有三个特征:间断性、失去封闭性、不可再现性。间断性是指程序对cpu进行竞争,不会一个进程执行完毕再执行下个进程,每个进程都是间断着完成的。失去封闭性是指一个程序的执行因为其他程序的资源竞争,导致受到其他进程的影响。不可再现性是指这时程序的结果不再唯一,无法直接由条件确定结果。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值