首页 理论教育 操作系统原理中程序的并发执行以及效果

操作系统原理中程序的并发执行以及效果

时间:2023-10-17 理论教育 版权反馈
【摘要】:I3、C2和P1的重叠表示作业1计算完后,在输出打印的同时,若作业2已输入完毕,则立即对它进行计算,并对作业3进行输入。如图4-3所示的三个程序段就是并发执行的程序段。;Sn能够并发执行。为了确定这一语句的效果,应该把在给定程序中该并发语句的前、后两个语句S0及Sn+1也加以考虑。

操作系统原理中程序的并发执行以及效果

为了增强计算机系统的处理能力和提高机器的利用率,在现代计算机中广泛采用同时性操作技术。之所以并发操作是可能实现的,是因为人们看到了这样的事实:大多数计算问题只要求操作在时间上是偏序的,即有些操作必须在其他操作之前执行,这是有序的;但其中有的操作却可以同时进行。

如图4-1所示的输入操作、计算操作和打印操作这三者必须顺序执行,因为这是一个作业的三个处理步骤,它们从逻辑上要求顺序执行。虽然系统具有输入机、中央处理机和打印机这三个物理部件,且它们实际上是可以同时操作的,但由于作业本身的特点,这三个操作还是只能顺序执行。但是,当有一批作业要求处理时,情况会不一样。比如,现有作业1,作业2,……,作业n要求处理,对每个作业的处理都有相应的三个步骤,描述如下。

对作业1的处理:I1,C1,P1

对作业2的处理:I2,C2,P2

对作业n的处理:In,Cn,Pn

当系统中存在着大量的操作时,就可以进行并发处理。例如,在输入完作业1的程序和数据后,即可进行该作业的计算工作;与此同时,可输入作业2的程序和数据,这就使作业1的计算操作和作业2的输入操作得以同时进行。图4-2说明了系统对一批作业进行处理时,各程序段执行的先后次序。

图4-2 程序段执行的先后次序

从图4-2中可以看出如下规律。

(1)有的程序段执行是有先后次序的。如I1先于I2和C1,C1先于P1和C2,P1先于P2;I2先于I3和C2等。

(2)有的程序段可以并发执行。如I2和C1,I3、C2和P1,I4、C3和P2等。

I2和C1重叠表示输入完作业1的程序和数据后,在对第一个作业进行计算的同时,又输入第二个作业的程序。I3、C2和P1的重叠表示作业1计算完后,在输出打印的同时,若作业2已输入完毕,则立即对它进行计算,并对作业3进行输入。(www.xing528.com)

所谓程序的并发执行是指:若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的。如图4-3所示的三个程序段就是并发执行的程序段。

图4-3 三个并发程序段

可以用语句

来表示语句S1;S2;…;Sn能够并发执行。这是由Dijkstra首先提出来的。为了确定这一语句的效果,应该把在给定程序中该并发语句的前、后两个语句S0及Sn+1也加以考虑。即

这一段程序可用如图4-4所示并发语句的先后次序来表示。人们所期望的效果:先执行S0,再并发执行S1;S2;…;Sn;当S1;S2;…;Sn全部执行完毕后,再执行随后的语句Sn+1

图4-4 并发语句的先后次序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈