继承和线程

进程是"资源分配的最小单位",
线程是"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 调度的最小单位,只保存执行上下文,

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

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

相关推荐
Bruce_kaizy3 天前
c++ linux环境编程——linux信号(signal)
linux·c++·操作系统·环境编程
橙子也要努力变强3 天前
Linux I/O 缓冲区、inode、软硬链接与磁盘结构全解析
linux·c++·操作系统
Byte不洛3 天前
手写一个C++ TCP服务器实现自定义协议(顺便解决粘包问题)
linux·c++·操作系统·网络编程·tcp
棉花糖超人5 天前
【操作系统】三、线程
java·开发语言·操作系统
橙子也要努力变强6 天前
进程间通信基础
c++·操作系统
橙子也要努力变强6 天前
共享内存通信
网络·c++·操作系统
ErizJ7 天前
面试 | 操作系统
linux·面试·职场和发展·操作系统·os
柏木乃一7 天前
Linux线程(8)基于单例模式的线程池
linux·运维·服务器·c++·单例模式·操作系统·线程
CS创新实验室7 天前
从硬件抽象到意图对齐:论 AI 时代操作系统演进的逻辑必然与 OpenClaw 的范式价值
人工智能·操作系统·策略模式
香水5只用六神7 天前
【RTOS快速入门】07_同步互斥与通信概述
单片机·嵌入式硬件·学习·操作系统·freertos·rtos·嵌入式软件