在三态模型中,进程状态分为三个基本状态,即运行态,就绪态,阻塞态。
在五态模型中,进程分为初始态,终止态,运行态,就绪态,阻塞态。
运行态:该时刻进程实际占用CPU
就绪态:可运行,但因为其他进程正在运行而暂时停止
阻塞态:除非某种外部事件发生,否则进程不能运行
当一个进程在逻辑上不能继续运行时,它就会被阻塞,典型的例子是它在等待可以使用的输入,如:
cat file |grep xxx
grep被阻塞
转换2,3是由进程调度程序引起的。(内核调度算法)
每个进程有一个进程表项。(也称为进程控制块)进程的相关信息都放在这里面,这是一个task_struct的结构,放在/usr/src/linux-headers.../include/linux/sched.h中。