|       |   定义和过程   |   对应事件   | 
|   创建   |  - 允许一个进程创建另一个进程
 - 允许子进程继承父进程所拥有的资源
 - 创建进程的过程如下: 
- 申请一个空白的 PCB,并向 PCB 中填写一些控制和管理进程的信息,比如进程的唯一标识等;
 - 为该进程分配运行时所必需的资源,比如内存资源;
 - 将 PCB 插入到就绪队列,等待被调度运行;
 
  
  |   Ps:设备分配不需要创建进程【通过在系统中设置相应的数据结构实现】  - 登陆系统【系统为此创建一个用户管理的进程,包括用户桌面、环境等,所有用户进程都会在该进程下创建和管理】
 - 作业调度
 - 系统提供服务
 - 用户程序的应用请求
 
  | 
|   终止   |  - 当子进程被终止时,其在父进程处继承的资源应当还给父进程
 - 终止进程的过程如下: 
- 查找需要终止的进程的 PCB,读取该进程的状态;
 - 如果处于执行状态,则立即终止该进程的执行,然后将 CPU 资源分配给其他进程;
 - 如果其还有子进程,则应将该进程的子进程终止;
 - 将该进程所拥有的全部资源都归还给操作系统;
 - 将其从 PCB 所在队列中删除;
 
  
  |  - 正常结束
 - 异常结束 
- 存储越界
 - 保护错
 - 非法指令
 - 特权指令错
 - 运行超时
 - 算术运算错
 - I/O故障
 
  - 外界干预
 
  | 
|   阻塞   |  - 当进程需要等待某一事件完成时,它可以调用阻塞语句把自己阻塞等待(主动)
 - 一旦被阻塞等待,只能由另一个进程唤醒(被动)
 - 阻塞进程的过程如下: 
- 找到将要被阻塞进程标识号对应的 PCB;
 - 如果该进程为运行状态,则保护其现场,将其状态转为阻塞状态,停止运行;
 - 将该 PCB 插入到阻塞队列中去;
 
  
  |  - 请求系统资源失败
 - 等待某种操作的完成
 - 新数据尚未到达或无新任务可做
 
  | 
|   唤醒   |  - 唤醒进程的过程如下: 
- 在该事件的阻塞队列中找到相应进程的 PCB;
 - 将其从阻塞队列中移出,并置其状态为就绪状态;
 - 把该 PCB 插入到就绪队列中,等待调度程序调度;
 
  
  |   |