跳到主要内容

进程模型

进程三态模型

进程是资源分配(CPU、内存)的基本单位,它是程序执行时的一个实例,在程序运行时创建;线程是程序执行的最小单位,是进程的一个执行流,一个进程由多个线程组成的。

在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化。进程一般有3种基本状态:运行、就绪和阻塞。

运行

运行:当一个进程在处理机上运行时,则称该进程处于运行状态处于运行次状态的进程数目小于等于处理器的 CPU 线程(超线程技术)。对于单处理机系统,处于运行状态的线程只有一个,在没有其它进程可以执行时(比如所有进程都在阻塞状态),会自动执行系统的空闲线程。

就绪:当一个进程获得了除处理机以外的一切所需资源,一旦得到处理机就可以运行,则称此进程处于就绪状态。就绪状态可以安多个优先级来划分队列,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列,当进程由 I/O 操作完成而进入就绪状态时,排入高优先级队列。

阻塞:也称为等待或睡眠状态,一个进程正在等待某一事件发生(请求 I/O 而等待 I/O 的完成)而暂停停止运行时,这是即使把处理机分配给进程也无法运行,故称之为阻塞状态。