os -- 进程的描述

来源:互联网 发布:淘宝用户需求分析 编辑:程序博客网 时间:2024/05/16 12:29

前序

  1. 进程概念的提出:多道程序技术的采用,多个程序同时装入内存中
  2. 概念:内存中,作为资源分布和独立运行的基本单位

前趋图

  1. 描述程序执行的顺序,是一个有向无循环图(DAG,Directed Acyclic Graph)
  2. 以下前趋图可以表示为 P = {p1,p2,p3,p4,p5} = {(p1,p3),(p2,p4),(p4,p5),(p3,p5)}
    os (1).png

Note

简而言之,前趋图就是一个顺序图而已,但是要保证有向无循环的特征


执行顺序

顺序执行

  1. 单道批处理系统
  2. 特征
    • 顺序性:只能按照一定的顺序执行
    • 封闭性:一个程序独占所有资源
    • 可再现性:只要条件允许,程序反复执行,结果都一致

并发执行

  1. 多道程序技术
  2. 特征
    • 间断性
    • 无封闭性
    • 不可再现性

进程的描述

程序进程块

  1. 程序进程快(PCB,Process Control Block):是一个配置的数据结构,用于控制和管理进程
  2. 进程实体(简称进程)= 程序段+相关数据段+PCB

进程的定义

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

进程的特征

  1. 动态性:进程是一次执行过程
  2. 并发性
  3. 独立性
  4. 异步性

Note:进程的特征可以看成是与程序的区别,程序是静态的,没有建立 PCB 的程序不能说是独立性,也就不能参与并发执行

三种基本状态和两种常用状态

基本状态
  1. 就绪(Ready)状态 : 只差获得 CPU,进入就绪队列排队
  2. 执行(Running)状态 : 获得 CPU 并执行
  3. 阻塞(Block)状态 :执行时因某些原因而暂停,进入阻塞队列排队
两种常用状态
  1. 创建状态 : 申请空白 PCB 并填写相关信息 –> 分配资源 –> 转入就绪状态
  2. 终止状态 :清零 PCB,返回其空间
五种状态之间的关系图

这里写图片描述

两种操作

  1. 挂起操作
  2. 激活操作

Note:这两种操作是相反的,挂起相当于进入阻塞状态,激活相当于取消阻塞状态


进程管理中的数据结构

管理控制的数据结构

  1. 在 os 中,用数据结构来表征每个资源和进程的实体,便于管理
  2. os 管理的这些数据结构一般分为:内存表,设备表,文件表和进程表
  3. 其中,进程表就是我们上面所说到的进程控制块 PCB,实打实的大佬

PCB 的作用

  1. 作为独立运行基本单位的标志 – 是进程存在的唯一标识
  2. 提供进程管理所需要的信息
  3. 能实现间断性的运行方式
  4. 实现与其他进程的同步和通信

PCB 中的信息

PCB 信息.png


PCB 的控制方式

线性方式

  1. 将所有的 PCB 都组织在一张线性表中,虽实现简单,开销小,但是每次查找需要遍历整张表,只适合进程数目不多的系统
    这里写图片描述

链接方式

  1. 将具有相同状态进程的 PCB 分别通过 PCB 中的链接字接成一个队列,形成若干个就绪队列,阻塞队列等,并根据优先级、阻塞原因等要素排好队
    这里写图片描述

索引方式

  1. 系统根据所有进程状态的不同,建立索引表,每个索引表记录具有相应状态的某个 PCB 在 PCB 表中的地址
    这里写图片描述

总结

  1. 前趋图表示程序执行的顺序
  2. 进程的特征是区别进程和程序的一个工具
  3. 进程有三种基本状态、两种常见状态,两种操作
  4. 程序块(PCB)是进程中重要的数据结构
  5. 了解 PCB 的作用,信息以及组织方式