进程就是计算机中已运行程序的实体。
为了使参与并发执行的程序(含数据)能独立地运行,必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block, PCB)。系统利用PCB来描述进程的基本情况和运行状态,进而控制和管理进程。相应地,由程序段、相关数据段和PCB三部分构成了进程映像(进程实体)。所谓创建进程,实质上是创建进程映像中的PCB;而撤销进程,实质上是撤销进程的PCB。值得注意的是,进程映像是静态的,进程则是动态的。
通常进程有五种状态,其中前面运行状态,就绪状态和阻塞状态是进程的基本状态
1)创建状态:进程正在被创建,尚未转到就绪状态。创建进程通常需要多个步骤:首先申请一个空白的PCB,并向PCB中填写一些控制和管理进程的信息;然后由系统为该进程分配运行时所必需的资源;最后把该进程转入到就绪状态。
2)就绪状态:进程已经处于准备运行的状态,即进程获得了除处理器之外的一切所需的资源,一旦得到处理器即可运行。
3)运行状态:进程正在处理器上面运行。在单处理器的情况下,每个时刻最多只有一个进程处于运行状态。
4)阻塞状态:又称为等待状态,进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理器)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。
5)结束状态:进程从系统中消失。可能是进程正常结束或其他原因中断退出运行。当进程需要结束运行时,系统首先必须置该进程为结束状态,然后再进一步处理资源释放和回收等工作。
当一个就绪进程获得处理器时,其状态就由就绪变为运行状态。
当一个运行的进程被剥夺处理器时,如用完系统分给它的时间片、出现更高级别的其他进程,其状态由运行变为就绪。
当一个运行进程因某事件受阻时,如所申请资源被占用、启动I/O传输未完成,其状态有运行变为阻塞
当等待事件发生时,如得到申请资源、I/O传输完成。其状态由阻塞变为就绪。