进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。进程存在的唯一标志是进程控制块(PCB)。进程与程序的根本区别在于进程是动态的,程序是静态的。

特征

  • 动态性:进程最重要的特征
  • 并发性
  • 独立性
  • 异步性
  • 结构性

进程的状态与转换

  • 运行态、就绪态、阻塞态为三种基本状态,另有创建态、结束态
  • 就绪态 → 运行态:被调度获得 CPU
  • 运行态 → 就绪态:时间片用完 / 被剥夺 CPU
  • 运行态 → 阻塞态:主动行为(等待 I/O 等事件)
  • 阻塞态 → 就绪态:被动行为,需要其他相关进程的协助(如 I/O 完成)

单处理机系统中若有 n 个进程,处于就绪队列的进程最多 n - 1 个。

进程控制

  • 进程的创建:创建原语
  • 进程的终止:撤销原语(正常结束、异常结束、外界干预)
  • 进程的阻塞和唤醒:阻塞原语(Block)、唤醒原语(Wakeup)
  • 进程切换

进程的组织

进程控制块 PCB(Process Control Block)

  • 进程描述信息:进程描述符 PID、用户描述符 UID
  • 进程控制和管理信息:当前状态、优先级等
  • 资源分配清单
  • 处理机相关信息(寄存器现场)

程序段与数据段

  • 程序段:能被进程调度程序调度到 CPU 执行的程序代码段
  • 数据段:程序加工处理的原始数据、中间或最终结果

进程通信

  • 低级通信方式:PV 操作
  • 高级通信方法:
    • 共享存储
    • 消息传递:直接通信方式和间接通信方式
    • 管道通信:消息传递的一种特殊方式,限制管道大小;从管道读数据是一次性操作,数据一旦被读取就被管道抛弃;类似半双工通信,同一时刻最多一个方向的传输