操作系统中的进程是什么?

17 Mar 2025 | 6 分钟阅读

在本教程中,我们将学习操作系统中的进程。这是操作系统中最重要的概念。这非常重要,因为我们在操作系统这个主题中随处都会听到“进程”这个词。

操作系统的主要职责或工作是在规定的时间内完成给定的进程。因此,“进程”一词对于操作系统这个主题非常重要。现在,让我们深入了解进程的方方面面。

进程的定义

基本上,进程是一个简单的程序。

当前在操作系统上运行的活动程序称为进程。进程是所有计算活动的基础。尽管进程与计算机代码相对相似,但其方法与计算机代码不同。进程是“活动”实体,而程序则有时被视为一种“被动”实体。进程所拥有的属性包括硬件状态、RAM、CPU 以及其他属性。

操作系统中的进程

进程是正在积极运行的软件或计算机代码。任何过程都必须按精确的顺序执行。一个有助于描述任何系统中必须实现的基本工作单元的实体称为进程。

换句话说,我们创建的计算机程序以文本文件的形式存在,当它们被执行时,会创建进程来执行程序中列出的所有任务。

当程序被加载到内存中时,它可能被分成堆栈、堆、文本和数据这四个部分,以形成一个进程。下图显示了主内存中进程的简化表示。

What is the Process in Operating Systems

Stack

进程堆栈存储临时信息,如方法或函数参数、返回地址和局部变量。

这是进程在运行时动态分配的内存。

文本

这包括存储在处理器寄存器中的信息以及由程序计数器值指示的最新活动。

数据

在本节中,讨论了全局变量和静态变量。

程序

程序是一组指令,当允许完成特定任务时执行。程序通常用 C、C++、Python、Java、R、C# 等编程语言编写。

计算机程序是一组指令,当由计算机执行时,可以完成特定任务。

进程与程序的区别

序号过程程序
1进程是正在积极运行的软件或计算机代码。任何过程都必须按精确的顺序执行。一个有助于描述任何系统中必须实现的基本工作单元的实体称为进程。程序是一组指令,当允许完成特定任务时执行。
2进程是动态的程序是静态的
3进程是主动的程序是被动的
4进程在执行过程中创建,并直接加载到主内存中。程序已存在于内存中,并存在于二级存储器中。
5进程拥有自己的控制系统,称为进程控制块。程序没有控制系统。它只是在被指定时调用,并在被调用时执行整个程序。
6进程会随着时间的推移而自行改变。程序不能自行改变。必须由程序员修改。
7进程需要除了程序数据之外的额外数据,用于管理和执行。程序基本上分为两部分。一部分是代码部分,另一部分是数据部分。
8进程具有显著的资源需求;它们需要内存地址、中央处理单元、输入或输出等资源,直到它们在操作系统中存在。程序只需要内存空间来存储其指令;不需要其他资源。

进程控制块

操作系统通过进程控制块 (PCB) 来帮助进程的创建、调度和终止。进程控制块 (PCB) 是操作系统的一部分,有助于管理进程的运行方式。每个 OS 进程都有一个与之关联的进程控制块。通过保存诸如状态、I/O 状态和 CPU 调度等信息,PCB 会跟踪进程。

现在,让我们通过进程控制块中存在的组件来理解进程控制块。

进程控制块包括:

  1. 进程 ID
  2. 进程状态
  3. 程序计数器
  4. CPU 寄存器
  5. CPU 调度信息
  6. 会计与业务信息
  7. 内存管理信息
  8. 输入输出状态信息

现在,让我们详细了解每个组件。

1) 进程 ID

它是进程的标识符。这对于查找进程非常有用。它对于识别进程也很有用。

2) 进程状态

What is the Process in Operating Systems

现在,让我们详细了解每种进程状态。让我解释一下每种状态。

i) 新建状态

即将被操作系统直接加载到主内存中的程序称为新建进程状态。

ii) 就绪状态

就绪状态是指进程在被分配 CPU 之前等待的状态,这是它在创建后进入的第一个状态。操作系统从二级存储器中提取新进程,并将它们全部放入主内存。

“就绪状态进程”是指位于主内存中并准备好执行的进程。此时可能有很多进程正在运行。

iii) 运行状态

操作系统将根据调度机制从就绪状态中选择一个进程。因此,如果我们的系统只有一个 CPU,那么在任何给定时刻只会有一个进程在运行。如果我们有 n 个处理器,我们可以在系统中同时执行 n 个进程。

iv) 等待或阻塞状态

根据调度机制或进程的内在行为,进程可以从运行状态转变为阻塞或等待状态。

当进程等待分配特定资源或等待用户输入时,操作系统会将其切换到阻塞或等待状态,并将 CPU 分配给其他进程。

v) 终止状态

进程完成执行后进入终止状态。操作系统将终止该进程,并清除进程的整个上下文(进程控制块)。

3) 程序计数器

程序计数器 (PC) 是计算机处理器中的一个 CPU 寄存器,它存储要从内存中执行的下一条指令的地址。它是一个数字计数器,对于任务执行速度和监控执行的当前阶段都很重要。

程序计数器的其他名称包括指令计数器、指令指针、指令地址寄存器或序列控制寄存器。

4) CPU 寄存器

当进程处于运行状态时,这里存储着处理器寄存器的内容。累加器、索引寄存器、通用寄存器、指令寄存器和条件码寄存器是 CPU 寄存器的不同类别。

5) CPU 调度信息

有必要安排一个过程来执行。此计划决定了它何时从就绪状态转换为运行状态。CPU 调度信息包含进程优先级、调度队列指针(指示执行顺序)以及其他各种调度参数。

6) 会计与业务信息

业务寻址和信息状态包含有关 CPU 使用情况、进程在实际时间中使用的时间量、作业或进程数量等信息。

7) 内存管理信息

内存管理信息部分包含有关页表、段表以及基址寄存器和限长寄存器值的信息。它依赖于操作系统的内存系统。

8) 输入输出状态信息

此输入输出状态信息部分包含与输入输出相关的信息,包括进程状态等。


下一个主题内核内存分配