进程的描述
进程:
进程与程序的区别
- 进程是动态的,程序是静态的;程序是有序代码的集合;进程是程序的执行,且具有核心态以及用户态
- 进程是暂时的,程序是永久的
- 进程与程序的组成不同:进程组成包含程序、数据和进程控制块
进程的特点
- 动态性
- 并发性
- 独立性
- 制约性
进程控制块
- 进程的数据结构(PCB),描述进程的基本情况以及运行变化过程,是进程存在的唯一标识
- PCB含以下三类信息
- 进程标识信息: 本进程的标识(PID),父进程标识(FPID),用户标识(UPID)
- 处理及状态信息,保存进程运行现场信息:
- 用户可见寄存器,用户可以使用的数据,地址等寄存器
- 控制和状态寄存器,如程序技术器(PC),程序状态字(PSW)
- 栈指针,过程调用/系统调用/中断处理和返回时需要用到
- 调度和状态信息,用于操作系统调度进程并占用处理机状态
- 进程间的通信信息
- 存储管理信息,指向本进程映像存储空间的数据结构
- 进程所用资源,由本进程打开、使用的系统资源
- 有关数据结构连接信息,进程可以连接到一个进程队列,连接到其他相关进程的PCB
- PCB的组织方式
进程的状态
进程的生命期管理
- 创建
- 系统初始化
- 用户请求创建
- 正在运行的进程执行率创建进程的系统调用
- 运行
- 选择就绪状态的进程运行
- 等待
- 请求并等待系统服务,无法马上完成
- 启动某种操作,无法马上完成
- 需要的数据没有到达
- 唤醒
- 被阻塞进程需要的资源可被满足
- 被阻塞进程等待的事件到达
- 将该进程的PCB插入到就绪队列
- 被其他进程,或操作系统唤醒
- 结束
- 进程退出
- 错误退出
- 致命退出
- 被其他进程所杀
- 创建
进程状态变化模型
- 就绪状态
- 阻塞状态
- 运行状态
- 创建状态
- 结束状态
进程挂起
挂起状态
状态队列
由操作系统维护不同状态的状态队列,用来标识当前所有进程的状态
