进程是现代操作系统的核心概念,它用来描述程序的执行过程,是实现多任务操作系统的基础。操作系统的其他所有内容都是围绕着进程展开的。
1.1.1程序的顺序执行与并发执行
1.程序的顺序执行
如果程序的个操作步骤之间是以序执行的,程序与程序之间是串行执行的,这种执行程序的方式就称为顺序执行。顺序执行是单道程序系统中的程序的运行方式。
程序的顺序执行具有如下特点:
(1)顺序性:CPU严格按照程序规定的顺序执行,只有当一个操作结束后,下一个操作才能执行。多个程序要运行时,只有当一个程序全部执行结束后另一个程序
才能开始。
(2)封闭性:程序在封闭的环境中运行,即程序运行时独占全部系统资源,只有程序本身才能改变程序的运行环境。因而程序的执行过程不受外界因素的影响,结
果只取决于程序自身。
(3)可再现性:程序执行的结果与运行的时间和速度无关,结果总是可再现的,即无论何时重复执行该程序都会得到同样的结果。
这种执行程序的方式简单,且便于调试。但由于顺序程序在运行时独占全部系统资源,因而系统资源利用率很低。DOS程序就是采用顺序方式执行的。
2.程序的并发执行
单道程序、封闭式运行是早期操作系统的标志,而多道程序并发运行是现代操作系统的基本特征。由于同时有多个程序在系统中运行,是系统资源得到充分的利用,系统效率大大提高。
程序的并发执行是指若干个程序或程序段同时运行。它们的执行在时间上是重叠的。程序的并发执行有以下特点:
(1)间断性:并发程序之间因竞争资源而相互制约,导致程序运行过程的间断。
(2)没有封闭性:当多个程序共享资源时,一个程序的运行受其他程序的影响,其运行过程和结果不完全由自身决定。
(3)不可再现性:由于没有了封闭性,并发程序的执行结果与执行的时机以及执行的速度有关,结果往往不可再现。
可以看出,并发执行程序虽然可以提高系统的资源利用率和吞吐量,但程序的行为变得复杂和不确定。这使得程序难以调试,若处理不当还会带来许多潜在问题。