进程执行时间的间断性决定了进程可能具有多种状态,事实上,运行上的进程可能有以下三种状态。
1)就绪状态
当进程已分配到除了CPU以外的所有必要资源后,只要再获得CPU,便可以立即执行,进程的这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。
2)执行状态
进程获得CPU资源,其程序正在执行,在单片机系统中,只有一个进程处于执行状态,在多处理机系统中,则有多个进程处于执行状态。
3)阻塞状态
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理剂而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。通常将这种处于阻塞状态的进程排成一个队列,有的系统则根据阻塞原因的不同把处于阻塞状态的进程排成多个队列。
处于就绪状态的进程,在调度程序为之分配了处理机后,该进程便可执行,响应的,它就由就绪状态转为执行状态。正在执行的进程也成为当前进程。如果因分配给它的时间片已完而被暂停执行,该进程便有执行状态又恢复到就绪状态;如果因某事件而使进程受阻(例如,进程请求访问某临界资源,而资源正在被其他进程访问,),使之无法继续执行,该进程由执行状态转变为阻塞状态。