news 2026/4/18 22:29:58

[嵌入式系统-257]:如何理解进程是任务资源分配的最小单位,线程是CPU调度的最小单位

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[嵌入式系统-257]:如何理解进程是任务资源分配的最小单位,线程是CPU调度的最小单位

要理解“进程是资源分配的最小单位,线程是CPU调度的最小单位”这句话,关键在于将程序的“资源所有权”和“执行权”分离开来看。

我们可以通过一个生动的比喻来理解,然后深入其技术原理。

🏢 一个生动的比喻:工厂与工人

想象一个进程就是一个工厂

  • 资源分配的最小单位(工厂)
    这个工厂拥有独立的生产资料,比如厂房、机器设备、原材料仓库、水电供应等。这些都是完成生产任务所必需的资源。操作系统在为程序分配资源时,就是以“工厂”为单位,给它分配独立的内存空间、文件句柄、I/O设备等。一个工厂的资源与其他工厂是严格隔离的,这保证了它们之间的独立性和安全性。

  • CPU调度的最小单位(工人)
    工厂里有很多线程,他们就是工人。工人本身不拥有生产资料,他们共享工厂的机器、材料和场地。真正干活、执行具体生产任务的是工人。CPU(相当于生产队长)在调度工作时,是直接指派给一个个具体的“工人”,让他们去执行任务。工人是真正被调度、被分配CPU时间片来运行的实体。

这个比喻清晰地展示了:工厂(进程)是拥有资源的容器,而工人(线程)是在这个容器内真正执行工作的单元。

💻 深入技术原理

从操作系统的角度来看,进程和线程的职责划分如下:

进程:资源分配的独立容器

进程是操作系统进行资源分配的基本单位。当你启动一个程序(如微信、浏览器),操作系统就会为它创建一个进程,并分配一整套独立的资源。

  • 独立的内存空间每个进程都拥有自己独立的虚拟地址空间,包括代码段、数据段和堆。这意味着一个进程无法直接访问另一个进程的内存,从而实现了进程间的强隔离。一个进程崩溃,通常不会影响到其他进程。
  • 独立的系统资源:进程还拥有一组独立的系统资源,如文件描述符、环境变量、信号处理函数等。
线程:轻量级的执行单元

线程是进程内部的一个执行单元,是CPU调度和分派的基本单位。它必须依附于进程而存在。

  • 共享进程资源:同一个进程内的所有线程,共享该进程的全部资源,包括内存空间(堆、全局变量)和文件描述符等。这使得线程间的数据通信非常高效,可以直接通过读写共享变量来实现。
  • 独立的执行上下文:为了能独立运行,每个线程必须拥有自己私有的、用于维持执行流的资源,主要包括:
    • 程序计数器 (PC):记录线程下一条要执行的指令地址。
    • 一组寄存器:保存线程运行时的中间状态。
    • 栈 (Stack):存储线程的局部变量、函数参数和调用返回地址

⚖️ 核心区别对比

下表总结了进程和线程在关键维度上的区别,这有助于理解为何它们被设计为不同的“最小单位”。

表格

维度进程 (Process)线程 (Thread)
资源分配拥有独立的内存空间和系统资源共享所属进程的资源
CPU调度传统的调度单位,但现在更多是作为资源容器CPU调度的基本单位
创建/销毁开销高(需分配独立的地址空间和资源)低(只需分配少量私有资源,如栈)
切换开销高(需切换整个内存映射、刷新TLB等)低(只需切换寄存器和栈指针)
通信方式复杂,需使用进程间通信(IPC)机制简单,可直接读写共享内存
健壮性高,一个进程崩溃不影响其他进程低,一个线程崩溃可能导致整个进程崩溃

总而言之,这种设计是现代操作系统为了在资源隔离的安全性并发执行的效率之间取得平衡。进程提供了坚固的“围墙花园”,保证了程序的稳定运行;而线程则是在花园内部署的灵活“园丁”,能够高效、并发地执行各种任务。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 22:28:27

第七篇 串口(实战篇)- 从局域网到广域网:WIFI与4G模块的远程控制实现

1. 从局域网到广域网的远程控制架构设计 第一次尝试用51单片机做远程控制时,我踩过一个典型误区:以为只要把WIFI模块连上路由器就能实现远程控制。实际上局域网和广域网的控制方案存在本质区别。以控制一盏LED灯为例,在局域网内用ESP-01S模块…

作者头像 李华
网站建设 2026/4/18 22:19:10

威布尔拟合方式优选工具

在采用秩回归法进行威布尔参数估值时,可以采用垂直拟合和水平拟合两种方法,因其拟合出的相关系数相同,拟合优劣需要通过计算两种方式方式的残差平和来评估,残差平方和越小,拟合方法越优:①程式支持Excel表格…

作者头像 李华
网站建设 2026/4/18 21:45:30

lsix终极指南:如何在终端中快速预览图像文件

lsix终极指南:如何在终端中快速预览图像文件 【免费下载链接】lsix Like "ls", but for images. Shows thumbnails in terminal using sixel graphics. 项目地址: https://gitcode.com/gh_mirrors/ls/lsix lsix是一款革命性的终端图像预览工具&…

作者头像 李华
网站建设 2026/4/18 21:45:04

从‘黑盒’到‘白盒’:深入理解sklearn StandardScaler的inverse_transform,让你的模型预测结果‘看得见’也‘回得去’

从‘黑盒’到‘白盒’:深入理解sklearn StandardScaler的inverse_transform,让你的模型预测结果‘看得见’也‘回得去’ 在机器学习项目中,数据标准化是预处理阶段不可或缺的一环。然而,许多从业者往往只关注如何将数据转换为标准…

作者头像 李华
网站建设 2026/4/18 21:27:20

Qwen3.5-9B-AWQ-4bit操作系统知识问答与故障解决指南

Qwen3.5-9B-AWQ-4bit操作系统知识问答与故障解决指南 1. 前言:为什么需要AI操作系统助手 在日常系统管理和开发工作中,我们经常会遇到各种操作系统相关的问题:某个服务突然崩溃了却找不到原因,配置参数改了但效果不明显&#xf…

作者头像 李华