进程
定义
进程(又称“任务”)是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位
程序的一次执行过程
是正在运行程序的抽象
将一个CPU变幻成多个虚拟的CPU
系统资源以进程为单位分配,如内存、文件、……
每个具有独立的地址空间
操作系统将CPU调度给需要的进程
进程控制块PCB:Process Control Block
又称 进程描述符、进程属性
操作系统用于管理控制进程的一个专门数据结构
记录进程的各种属性,描述进程的动态变化过程
PCB是系统感知进程存在的唯一标志,进程与PCB是一一对应的
进程表:所有进程的PCB集合
PCB 的内容
进程描述信息
进程标识符(process ID),唯一,通常是一个整数
进程名,通常基于可执行文件名, 不唯一
用户标识符(user ID)
进程组关系
进程控制信息
当前状态
优先级(priority)
代码执行入口地址
程序的磁盘地址
运行统计信息(执行时间、页面调度)
进程间同步和通信
进程的队列指针
进程的消息队列指针
所拥有的资源和使用情况
虚拟地址空间的状况
打开文件列表
CPU现场信息
寄存器值(通用寄存器、程序计数 器PC、程序状态字PSW、栈指针)
指向该进程页表的指针
进程的三状态模型
运行态(Running)
占有CPU,并在CPU上运行
就绪态(Ready)
已经具备运行条件,但由于没有空闲CPU,而暂时不能运行
等待态(Waiting/Blocked)
因等待某一事件而暂时不能运行
阻塞态、封锁态、睡眠态
状态转换
进程的其它状态
创建(new)
已完成创建一进程所必要的工作 – PID、PCB
但尚未同意执行该进程 – 因为资源有限
终止(Terminated)
终止执行后,进程进入该状态
可完成一些数据统计工作
资源回收
挂起(suspend)
用于调节负载
进程不占用内存空间,其进程映像交换到磁盘上
进程的五状态模型
状态转换
进程的七状态模型
状态转换
进程队列
操作系统为每一类进程建立一个或多个队列
队列元素为PCB
伴随进程状态的改变,其PCB从一个队列进入另一个队列
最后更新于