- 操作系统教程
- 操作系统 - 首页
- 操作系统 - 需求
- 操作系统 - 概述
- 操作系统 - 历史
- 操作系统 - 组成部分
- 操作系统 - 结构
- 操作系统 - 架构
- 操作系统 - 服务
- 操作系统 - 属性
- 操作系统 - 周转时间 & 等待时间
- 操作系统进程
- 操作系统 - 进程
- 操作系统 - 进程调度
- 操作系统 - 调度算法
- 先来先服务调度算法 (FCFS)
- 最短作业优先调度算法 (SJF)
- 轮转调度算法
- 最高响应比优先调度算法 (HRRN)
- 优先级调度算法
- 多级队列调度
- 上下文切换
- 进程操作
- 彩票进程调度
- 预测 SJF 调度算法的突发时间
- 竞争条件漏洞
- 临界区同步
- 互斥同步
- 进程控制块
- 进程间通信
- 抢占式和非抢占式调度
- 操作系统同步
- 进程同步
- 操作系统内存管理
- 操作系统 - 内存管理
- 操作系统 - 虚拟内存
- 操作系统存储管理
- 操作系统 - 文件系统
- 操作系统类型
- 操作系统 - 类型
- 操作系统杂项
- 操作系统 - 多线程
- 操作系统 - I/O 硬件
- 操作系统 - I/O 软件
- 操作系统 - 安全
- 操作系统 - Linux
- 考试题库及答案
- 考试题库及答案
- 操作系统有用资源
- 操作系统 - 快速指南
- 操作系统 - 有用资源
- 操作系统 - 讨论
操作系统 - 进程控制块
进程控制块 (PCB) 是一种数据结构,包含与进程相关的各种信息。进程控制块也称为进程描述符或任务控制块。不同进程的 PCB 存储在操作系统内核的进程表中。
当创建一个新进程时,操作系统会为其初始化一个进程控制块,该块存储与进程相关的参数值,并跟踪进程状态(例如:新建、就绪、运行、等待或终止)。
PCB 对于几乎所有与进程相关的活动中的进程管理都非常重要。调度程序和资源管理器等许多实用程序都会访问和/或更新它们。由于 PCB 跟踪进程状态信息,因此它们在上下文切换中发挥着至关重要的作用。
进程控制块的结构
进程控制块存储许多有效进程管理所需的数据项。以下将通过图表解释其中一些数据项:
以下是一些数据项:
- 进程号或 ID - 显示特定进程的标识号。
- 进程状态 - 指定进程状态,例如新建、就绪、运行、等待或终止。
- 程序计数器 - 包含进程中需要执行的下一条指令的地址。
- 寄存器 - 指定进程使用的寄存器。包括累加器、索引寄存器、堆栈指针、通用寄存器等。
- 打开文件列表 - 与进程关联的不同文件。
- CPU 调度信息 - PCB 中包含的 CPU 调度信息包括进程优先级、调度队列指针等。这也可能包括任何其他调度参数。
- 内存管理信息 - 内存管理信息包括页表或段表(取决于所使用的内存系统)。它还包含基寄存器、界限寄存器等的值。
- I/O 状态信息 - 此信息包括进程使用的 I/O 设备列表、文件列表等。
- 会计信息 - 时间限制、帐号、使用的 CPU 量、进程号等都是 PCB 会计信息的一部分。
- 进程控制块的位置 - 进程控制块保存在一个受保护的内存区域中,防止普通用户访问。这是因为其中包含重要的进程信息。一些操作系统将 PCB 放在进程的内核堆栈的开头,因为它是一个安全的位置。
利用 PCB 的进程管理任务
进程控制块在执行各种进程管理活动中发挥着重要作用,因为它们存储与进程相关的关键信息。以下是经常访问 PCB 中存储的详细信息的一些主要操作:
上下文切换
在上下文切换期间,正在执行进程的进程状态保存在 CPU 寄存器中,并将其副本存储在相应的 PCB 中。下一个被选中执行的进程的状态从其 PCB 中获取,以便它可以执行。
进程调度
操作系统使用 PCB 的内容(例如进程优先级、进程状态和使用的资源)来调度就绪队列中的进程。通过评估优先级和其他相关信息,调度程序确定进程执行的顺序。
多任务处理
操作系统可以借助 PCB 中存储的信息(如资源分配、进程调度和进程同步)来同时运行多个进程。
资源共享
PCB 中存储的信息包括分配给进程的资源,例如打开的文件、共享变量、公共表和内存空间。当新进程请求资源时,操作系统会在 PCB 中搜索已分配的进程,检查它们是否可共享,并相应地分配资源。因此,PCB 在资源共享中起着重要作用。
广告