1.进程的创建
- 引起创建进程的事件
- 用户登录
- 作业调度
- 提供服务
- 应用请求
- 进程的创建过程
- 申请空白PCB
- 为新进程分配资源
- 初始化进程控制块
- 将新进程插入到就绪队列
2.进程的终止
- 引起进程终止的事件
- 正常结束
- 异常结束
- 外界干预
- 进程的终止过程
- 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
- 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程,被终止后应重新进行调度。
- 若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。
- 将被终止进程所拥有的全部资源,或者归还给其父进程, 或者归还给系统。
- 将被终止进程(它的PCB)从所在队列(或链表)中移出, 等待其他程序来搜集信息。
3.进程的阻塞与唤醒
-
引起进程阻塞与唤醒的事件
- 请求系统服务
- 启动某种操作
- 新数据尚未到达
- 无新工作可做
-
进程阻塞过程
正在执行的进程,当发现上述某事件时,由于无法继续执行,于是进程便通过调用阻塞原语block把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为
-
进程唤醒过程
由有关进程(比如,用完并释放了该I/O设备的进程)调用唤醒原语wakeup( ),将等待该事件的进程唤醒
4.进程的挂起与激活
-
进程的挂起
系统将利用挂起原语suspend( )将指定进程或处于阻塞状态的进程挂起
-
进程的激活
系统将利用激活原语active( )将指定进程激活