多道程序的并发执行是指在内存中存放多道程序,它们在操作系统的控制下,在CPU上交替进行(因此我们前面说的是,宏观上程序并发执行,微观上轮流执行)。
在计算问题中,有些操作必须在其他操作之后完成,有些操作却可以并发执行。比如有下面的程序段:
S1: a = x + 2;
S2: b = y +3;
S3: c = a + b;
S4: d = c + 1;
其中,操作S3必须在a,b被赋值之后进行计算,但是S1和S2两者却可以并发进行,因为他们不会用到共有的一个变量。而S4又需要用到S3的值。这种结构我们在学习数据结构的图中遇到过,称为先决条件图。这里我们称这种关系为前驱图。这个程序的前驱图如下:
系统的吞吐量是指系统在单位时间内能完成的作业数量。显然多道程序设计能显著地提高系统的吞吐量和系统的执行效率。