|
在计算机系统上运行的程序是指令的集合,每一个程序完成特定的任务。在只允许一个程序运行的系统(称为单道系统)中,这个程序独占系统资源,而系统按程序的指令顺序运行,程序的顺序执行有两个基本特征:程序的封闭性和程序的可再现性。
|
|
|
.封闭性:指程序运行时独占系统资源,只有程序本身能改变系统的状态。
|
|
|
.可再现性:指程序运行不受外部因素的影响,只要初始条件相同,运行结果就相同。
|
|
|
多道程序系统让多个程序在系统中轮流运行,当一个程序不用处理机时,另一个程序就使用。也就是说,处理机在程序间来回切换,从而获得宏观上的并行(微观上的串行),以提高处理机的利用率。这种切换,通常是由中断引起的。由于中断以不可预测的次序发生,即程序的指令执行序列也以不可预测的次序前进,这样就会产生操作系统的另一个特性一一不确定性。即在多道程序系统中,顺序程序的封闭性和可再现性消失了,需要采用一个新的概念——进程来描述程序的执行。进程是运行中的程序,是系统进行资源分配和调度的独立单位。
|
|
|
|
进程是一个程序关于某个数据集的一次运行。进程是一个动态的概念,而程序是静态的概念,是指令的集合。因此,进程具有动态性和并发性。
|
|
|
进程通常由程序、数据和进程控制块(PCB)组成。程序是进程运行所对应的运行代码,一个进程对应于一个程序,一个程序可以同时对应于多个进程,代码在运行过程中不会被改变的程序,常称为纯码程序或可重入程序,这类程序是可共享的程序。
|
|
|
进程控制块是进程动态特性的集中反映,也是进程存在的唯一标志。在操作系统中,进程是进行系统资源分配、调度和管理的最小单位。现代操作系统中还引入了线程,线程是比进程更小的、能独立运行的基本单位,在引入线程的操作系统中,线程是进程中的一个实体,是CPU调度和分派的基本单位,是处理机分配的最小单位。
|
|
|
|
在多道系统中,进程的运行是走走停停的,在处理机上的交替运行,使它的运行状态不断变化。进程的状态主要有三态模型和五态模型。三态模型中最基本的状态有3种:运行、就绪和阻塞。
|
|
|
|
|
.阻塞(blocked):也称等待或挂起状态,正等待某个事件(如I/O完成)的发生。
|
|
|
在进程运行的过程中,由于自身进展情况及外界环境的变化,这3种基本状态可以在一定的条件下相互转换,进程的状态及转换如下图所示。
|
|
|
|
|
五态模型比三态模型更加复杂,在三态模型的基础上增加了新建态和终止态。新建态对应于进程刚刚被创建还没有被提交时的状态,此时应在等待系统完成创建进程的所有必要信息。创建进程时分两个阶段:第一个阶段为一个新进程创建必要的管理信息;第二个阶段让该进程进入就绪状态。有了新建态,操作系统往往因系统的性能和内存容量的限制推迟新建态进程的提交。进程的终止态也可分为两个阶段:第一个阶段等待操作系统进行善后处理;第二个阶段释放内存。
|
|
|