四、 程序的并发执行

宏观上看是多个程序同时执行,微观上看是多个程序分时占用CPU。这种程序的运行方式为并发执行。

方法执行时的新特征:

间断性:程序在比并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系。(当图中C1已经数据处理完毕时,I2还没有输入那么C2就得进入暂停,当使C2暂停的因素消失后(I2输入),程序继续执行)由此可见,相互制约将导致并发程序具有“执行—暂停—执行”这种间断性的活动规律

失去封闭性:当系统中存在多个可以并发执行的程序时,系统中的各个资源将为它们做所共享,而这些资源的状态也有这些程序来改变,致使在其中任一程序在运行时,其环境都必然会收到其它程序的影响。Eg,当处理机已分配给某个进=进程运行时,其他的程序必须等待。

不可再现性:当程序并发执行时,由于失去了封闭性,也导致失去了不可再现性。Eg,有两个循环程序A,B它们共享一个变量N。程序A每执行一次都要执行N=N+1操作,程序每执行一次都要print(N),然后把N置成0,程序AB以不同的速度运行。这样的话会出现三种不同的结果,多以程序在并发执行时,由于失去了封闭性,其计算结果必将与并发程序的执行速有关,从而使程序失去了可再现性。

对并发执行的程序如果加以管理就能保证程序的可再现性

你可能感兴趣的:(计算机操作系统)