进程

定义

进程(又称“任务”)是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位

  • 程序的一次执行过程

  • 是正在运行程序的抽象

  • 将一个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从一个队列进入另一个队列

最后更新于