操作系统(二):1.进程、进程的状态与转换


一、进程

操作系统(二):1.进程、进程的状态与转换

1.进程和程序的区别

操作系统(二):1.进程、进程的状态与转换

2.进程的定义

操作系统(二):1.进程、进程的状态与转换
操作系统(二):1.进程、进程的状态与转换

3.进程的组成

操作系统(二):1.进程、进程的状态与转换
【PCB 是给操作系统用的。 程序段、数据段是给进程自己用的。】

  • 程序段:程序对应的代码存放在硬盘上,在程序运行时将其调入内存中,这段内存就是程序段。

  • 数据段:程序运行时在内存中产生的数据信息。如变量(全局变量、局部变量、宏定义的常量)

  • PCB:操作系统对进程进行管理工作所需的信息都存在PCB中。
    每个进程都会有一个PCB。
    PCB是进程存在的唯一标志
    所谓创建进程就是创建进程实体中的PCB,撤销进程就是撤销进程实体中的PCB。

    • PID:进程的“身份证”,唯一的、不重复的,用于区分进程
    • UID:所属的用户是谁
    • CPU相关信息:当进程切换时,就把进程当前的运行情况保存在这里

【例子】:
同时挂三个QQ号,会对应三个QQ
进程,它们的PCB、数据段各不相同,但程序段的内容都是相同的 (都是运行着相同的QQ程序)

4.进程的组织方式

操作系统(二):1.进程、进程的状态与转换
操作系统(二):1.进程、进程的状态与转换
操作系统(二):1.进程、进程的状态与转换

5.进程的特征

操作系统(二):1.进程、进程的状态与转换

二、进程的状态与转换

1.进程的状态与转换

操作系统(二):1.进程、进程的状态与转换

  • 运行态 Running:
    注意:单核CPU上,每一时刻最多只有一个进程处于运行态。双核CPU上,每一时刻最多只有两个进程处于运行态。

  • 就绪态 Ready:

  • 阻塞态/等待态 Blocked/Waiting:
    理解:比就绪态更差,连获得CPU资源的资格都没有。(因为即使有CPU资源也不能运行,还需要等待某一事件完成,这就是大大的浪费,所以剥夺了获得CPU资源的资格)。只有等待的事件完成后,才后有获得CPU资源的资格。所以阻塞态要变成就绪态才能到达运行态

2.转换

操作系统(二):1.进程、进程的状态与转换
操作系统(二):1.进程、进程的状态与转换
注意:

  1. 阻塞态不能直接到运行态
  2. 创建态是到就绪态,不是直接就运行
  3. 为什么不能从就绪态→阻塞态?因为陷入阻塞要执行特权指令的,而就绪态没有CPU资源,无法执行指令。