继承和线程

进程是"资源分配的最小单位",
线程是"CPU 调度的最小单位"。

在内核里,只有结构体,没有概念。

比如,在32为操作系统中,一个进程的虚拟内存为4GB,这就是一个进程。进程是一个资源容器+至少一个线程。

Linux 中的"PCB"就是 task_struct 。

这是一个内核级结构体 ,Linux 里进程和线程本质上都是 task_struct(线程 = 共享资源的 task)。

  • 定义在:include/linux/sched.h

  • 一个 task_struct = 一个可调度实体

  • 进程 / 线程 没有结构体区别

    • 区别在于 是否共享资源

你可以把它理解成 5 大块信息:

task_struct
├── 1. 进程状态 & 调度信息
├── 2. 标识信息(PID / TGID)
├── 3. 内存管理(mm)
├── 4. 文件系统 & IO
├── 5. 关系 & 信号 & 安全

进程: 是资源分配与隔离的基本单位,

拥有独立的虚拟地址空间和系统资源;

线程: 是 CPU 调度的最小单位,只保存执行上下文,

多个线程共享进程的资源。

因此线程切换比进程切换开销小,但并发安全问题更复杂。

相关推荐
OpenAnolis小助手33 分钟前
多租户公有云共享 CXL 内存池场景下的内存卸载研究
人工智能·操作系统·龙蜥社区·risc-v·agentic os
OpenAnolis小助手2 天前
PHP 两个严重漏洞曝光,龙蜥社区 24 小时完成 3 版本修复
开发语言·操作系统·php·龙蜥社区
硅基手札3 天前
操作系统设计思想系列 13 · NuttX 深度 — POSIX 飞控底座 + RTOS 群像
架构·操作系统·嵌入式开发·ecos·sel4·nuttx
2CM_Embed4 天前
μC/OS-II 任务管理详解(三):任务创建、任务栈、删除、优先级修改与挂起恢复
操作系统
硅基手札4 天前
操作系统设计思想系列 11 · ThreadX 深度 — 预抢占阈值·认证型设计
操作系统·开源项目·嵌入式开发·嵌入式操作系统·设计思想·threadx
云计算练习生4 天前
什么是 Bash?Linux 默认 Shell 的核心功能
linux·操作系统·bash·shell·命令解释器
硅基手札5 天前
操作系统设计思想系列 10 · VxWorks 深度 — 硬实时旗舰·完全抢占内核
操作系统·实时操作系统·嵌入式开发·vxworks·设计思想
m0_547486665 天前
《Ubuntu Linux操作系统与实验教程》全套PPT课件2026
linux·ubuntu·操作系统
kyle~5 天前
C++ 原子操作、内存模型与无锁并发编程
linux·开发语言·c++·操作系统
硅基手札5 天前
Android 系统全景专栏 00 · 总目录
android·操作系统·嵌入式开发