8. 进程

1. 进程的定义

进程

  • 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
  • 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
  • 动态性
  1. 程序段、数据段、PCB三部分组成了进程实体(进程映像)
  2. 一般情况下把进程实体简称为进程。如创建进程,就是创建进程实体中的PCB;而撤销进程,实质上就是撤销进程实体中的PCB
  3. PCB是进程存在的唯一标志

2. 进程的组成

进程(进程实体)由程序段、数据段、PCB三部分组成。

2.1 程序段

程序代码存放于此

2.2 数据段

程序运行时使用、产生的运算数据。
如:全局变量、局部变量、宏定义的常量等存放于此。

2.3 PCB(进程控制块或进程描述符)

操作系统通过PCB来管理进程,因此PCB中应该包含OS对其进行管理所需的各种信息。

在这里插入图片描述

3. 进程的组织

注意:

  • 进程的组成讨论的是一个进程内部由哪些部分构成
  • 进程的组织讨论的是多个进程之间的组织方式

在这里插入图片描述

4. 进程的特征

  • 动态性
    • 进程是程序的一次执行过程
    • 动态地产生、变化、消亡
    • 多态性是最基本特征
  • 并发性
    • 内存中有多个进程实体
    • 各进程可以并发执行
  • 独立性
    • 能独立运行
    • 独立获得资源
    • 独立接受调度
    • 进程是资源分配、接收调度的基本单位!
  • 异步性
    • 各进程按各自独立的、不可预知地速度向前推进
    • 异步性会导致并发程序执行结果的不确定性
    • OS要提供“进程同步机制”来解决异步问题
  • 结构性
    • 每个进程都会配置一个PCB
    • 结构上看,进程由程序段、数据段、PCB组成

5. 进程的状态

在这里插入图片描述
三种基本状态:

  • 运行态:
    1. 占有CPU,并在CPU上运行。
    2. 单核处理机情况下每个时刻只能有一个进程处于运行态。
  • 就绪态:
    1. 已经具备运行条件,但由于没有空闲的CPU而暂时不能运行。
    2. 即进程已经拥有了除处理机之外所有需要的资源,一旦获得处理机,马上进入运行态开始运行。
  • 阻塞态:
    1. 因等待某一事件而暂时不能运行。如等待OS分配打印机、等待读磁盘操作的结果等。

另外两种状态:

  • 创建态:
    1. 进程正在被创建,OS为进程分配资源、初始化PCB
  • 终止态(结束态):
    1. 进程正在从系统中撤销,OS会回收进程拥有的资源、撤销PCB

6. 进程状态间的切换

在这里插入图片描述
详细过程:
在这里插入图片描述

7. 进程控制

进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。


如何实现进程控制?

原语实现进程控制。

原语:

  • 特点:执行期间不允许中断。
  • 原子操作:这种不可被中断的操作。
  • 原语采用“关中断指令”和“开中断指令”实现。
  • 原语运行在核心态。

原语需要做的事情

  1. 更新PCB中的信息
    1. 所有的进程控制原语一定都会修改进程状态标志
    2. 剥夺当前运行进程的CPU使用权必然要保存其运行环境
    3. 某进程开始运行前必然要恢复其运行环境
  2. 将PCB插入合适的队列
  3. 分配/回收资源

进程的创建

创建原语:无 -> 创建态 -> 就绪态

在这里插入图片描述


进程的终止

撤消原语:就绪态 / 阻塞态 / 运行态 -> 终止态 -> 无

在这里插入图片描述


进程的阻塞和唤醒

阻塞原语:运行态 -> 阻塞态
唤醒原语:阻塞态 -> 就绪态

在这里插入图片描述
注意:进程由何时阻塞,就应由何事唤醒。二者成对出现。


进程的切换

切换原语:运行态 -> 阻塞态 / 就绪态;
就绪态 -> 运行态

在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页