继承和线程

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

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

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

相关推荐
序属秋秋秋3 小时前
《Linux系统编程之进程控制》【进程替换】
linux·c语言·c++·操作系统·进程·系统编程·进程替换
lcreek4 小时前
Linux虚拟文件系统(VFS)核心架构解析
linux·操作系统
胡萝卜3.04 小时前
程序构建核心解析:从预处理到链接的完整指南
运维·服务器·c++·人工智能·操作系统·编译原理·系统编成
♛识尔如昼♛17 小时前
操作系统(1)第一章- 操作系统的概念和功能
操作系统
序属秋秋秋1 天前
《Linux系统编程之进程控制》【进程创建 + 进程终止】
linux·c语言·c++·操作系统·进程·进程创建·进程终止
rayylee1 天前
从零开始安装Asterinas NixOS操作系统
rust·操作系统·os
想做后端的小C3 天前
操作系统:Unix 系统的 13 个索引节点
操作系统
散修-小胖子3 天前
进程的概念、组成、特征—简单易懂
计算机网络·操作系统
怀民民民4 天前
双通道点光源追踪系统
单片机·嵌入式硬件·开源·操作系统·串口·硬件·frtos