操作系统之进程
1,定义
进程是进程实体的简称,进程实体由程序段和其相关数据及PCB(process controle block)进程控制块组成,创建进程实质上是创建进程实体中的PCB,进程控制块是专门为程序分配的一种数据结构,系统用它来描述进程的基本情况和活动过程。
进程是程序的一次执行。
2,进程的创建
进程的创建是一个比较复杂的过程,一般要通过多个步骤才能完成:比如操作系统首先为程序及其数据申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息,然后为该进程分配运行时所必须的资源;最后把该进程转入就绪状态并插入到就绪队列之中。如果进程所需的资源尚不能得到满足,比如系统尚无足够内存使进程无法装入其中,此时创建工作尚未完成,进程不能被调度运行,此时进程所处的状态称为创建状态。
3,程序的状态
进程的状态有三种基本状态和两种特殊状态(创建状态和终止状态),基本状态为就绪,执行,阻塞。进程在运行过程会经常发生状态的转换,例如,处于就绪状态的进程在调度程序为之分配了CPU之后便可执行,其状态由就绪状态变为执行状态;正在执行的进程如果因分配给它的时间片已用完而被剥夺CPU暂停执行时,致使当前进程的执行受阻,使之无法继续执行,则该进程由执行状态变为阻塞状态。
当一个进程执行I/O请求时,该进程的状态会由执行状态转变为阻塞状态,直到I/O请求完成再由阻塞状态转为执行状态继续执行,所以大量的IO请求开销会拖慢整个应用的响应速度
进程的终止也要通过两个步骤:首先等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。进入终止状态的进程以后不能再执行,但在操作系统中依然保留一个记录,其中保存状态码和一些计时统计数据,供其他进程收集。一旦其他进程收集完信息,操作系统将删除该进程,既将PCB清零,并将该空白PCB返还系统。