linux内核原理--进程,线程

发布时间:2026/10/9 22:39:48

linux内核原理--进程,线程 进程进程组会话线程父子进程线程组孤儿进程兄弟进程兄弟线程1.核心概念逐个解释进程Process操作系统资源分配的最小单位。拥有独立的虚拟地址空间、打开文件表、信号处理等资源。进程是程序的一次执行实例。线程Thread操作系统CPU 调度的最小单位。线程依附于进程共享进程的地址空间和资源但拥有独立的栈、寄存器、程序计数器。一个进程至少包含一个线程主线程。父子进程父进程通过 fork() 创建子进程。子进程继承父进程的部分属性环境变量、文件描述符、信号处理等但拥有独立的 PID 和地址空间写时复制 COW。子进程终止时父进程应通过 wait() 回收其资源否则子进程变为僵尸进程。兄弟进程由同一父进程创建的多个子进程互为兄弟进程。兄弟进程之间彼此独立无直接层级关联不共享地址空间通信需通过 IPC。孤儿进程父进程先于子进程终止子进程失去父进程。操作系统会将孤儿进程的 PPID 重新设置为 init 进程PID 1或 systemd 收养。孤儿进程不是异常状态被收养后可正常执行直至终止。进程组Process Group一个或多个进程的集合用于批量信号管理。每个进程组有一个进程组 IDPGID通常等于组长进程的 PID。同一管道线如 ls | grep | wc中的命令通常属于同一进程组。向进程组发送信号如 kill -9 -pgid可同时影响组内所有进程。会话Session一个或多个进程组的集合用于终端控制。会话首进程Session Leader通常是登录 Shell。一个会话可包含一个前台进程组和多个后台进程组。终端断开会向会话首进程发送 SIGHUP导致会话内进程默认终止。线程组Thread GroupLinux 特有的概念。同一进程内的所有线程属于同一个线程组。线程组 IDTGID等于主线程的 PID。用户态调用 getpid() 实际返回的是 TGID。线程组内的线程通过 clone() 创建共享 mm_struct地址空间、files_struct文件表等。kill -9 pid 会终止整个线程组即整个进程。兄弟线程同一进程内的多个线程互为兄弟线程。它们共享进程的地址空间、全局变量、堆、文件描述符等是最紧密的协作关系。通信成本极低直接内存读写但需通过锁、原子操作等机制同步。2.关系总览┌─────────────────────────────────────────────────────────────┐ │ 操作系统 │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ 会话Session │ │ │ │ ┌─────────────────┐ ┌─────────────────────────┐ │ │ │ │ │ 进程组1│ │ 进程组2│ │ │ │ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ │ │ │ │ │ 进程 A │ │ │ │ 进程 B │ │ │ │ │ │ │ │ ┌───────┐ │ │ │ │ ┌───────┐ │ │ │ │ │ │ │ │ │ 线程1│ │ │ │ │ │ 线程1│ │ │ │ │ │ │ │ │ ├───────┤ │ │ │ │ └───────┘ │ │ │ │ │ │ │ │ │ 线程2│ │ │ │ └───────────┘ │ │ │ │ │ │ │ └───────┘ │ │ └─────────────────────────┘ │ │ │ │ │ └───────────┘ │ │ │ │ │ └─────────────────┘ │ │ │ └───────────────────────────────────────────────────────┘ │ │ │ │ 进程 A 和进程 B无亲缘关系通过 IPC 通信 │ │ 进程 A 的线程1/2兄弟线程共享地址空间 │ └─────────────────────────────────────────────────────────────┘3.层级关系与归属层级组成单位关键标识作用会话一个或多个进程组SID会话 ID终端控制、作业管理进程组一个或多个进程PGID进程组 ID信号批量分发进程一个或多个线程PID进程 ID资源分配、地址空间隔离线程组一个或多个线程TGID 主线程 PIDLinux 内核对线程的归类线程执行单元TID线程 IDCPU 调度4.Linux 中的 ID 辨析在 Linux 中这些概念通过不同的 ID 区分PID进程/线程的唯一标识。对主线程而言PID TGID对子线程而言PID 是其独立 TID。TGID线程组 IDgetpid() 的返回值。同一进程内所有线程 TGID 相同。PGID进程组 IDgetpgrp() 的返回值。SID会话 IDgetsid() 的返回值。PPID父进程 ID。
延伸阅读

更多相关文章

2026/10/8 20:28:06

Android Selinux详解[四]--新增服务标签相关

在工作过程中,SElinux常用的有以下几个文件可用于新增标签 可用于加标签的文件名含义对应的声明文件名(一般会声明的地方,根本上放哪里都可以)file_contexts给 文件/目录/节点 新增标签file.tegenfs_contexts给节点新增标签,与上一个不同的是…

2026/10/5 11:43:26

猿人学 第四题 雪碧图、样式干扰

看了一圈发现返回值被加密,但是我们看不懂不知道这几个返回值是干什么用的,还得逆向 如上图点击这里进去看返回值 如上图进来之后发现这里就是返回值的位置,看看他是怎末处理的,他先用k和v生成了j,再用j去匹配出想…

2026/10/5 11:43:28

碳硅共生认知场模型(CSS-CFT)耦合常数Φ尺度依赖性重整化群严格证明(深入研究技术版)

碳硅共生认知场模型(CSS-CFT)耦合常数\boldsymbol{\Phi}尺度依赖性重整化群严格证明(深入研究技术版) 作者:方见华 单位:世毫九实验室 研究基准框架:世毫九实验室碳硅共生认知场论(CSS-CFT) + 对话量子场论(DQFT)重整化范式,有效场论粗粒化逻辑,区分认知能量标度\mu(替…

2026/10/9 22:39:46

服务端与客户端职责边界:信任边界与能力边界的双重切割

1. 这不是概念辨析,而是系统协作的底层逻辑“服务端和客户端的区别及介绍”——看到这个标题,很多人第一反应是教科书里的定义题:一个在服务器上跑,一个在用户手机或电脑上跑。但干了十多年全栈开发、带过几十个跨平台项目后&…

2026/10/9 22:39:46

Matplotlib堆积图实战:从数据准备到自动化出图的完整指南

1. 从一张“糊成一团”的图说起:堆积图到底解决什么问题很多人第一次接触 Matplotlib 的堆积图,都是被一个很具体的需求逼出来的:手头有几组数据,它们共享同一个横轴,比如一周七天、十二个月、几个渠道,你想…

2026/10/9 22:39:46

Python与MySQL学生选课管理系统:数据库设计到实现与答辩

简介:面向计算机专业课程设计与期末大作业场景,该基于Python和MySQL的学生选课管理系统提供完整可运行的源码、数据库脚本与课程报告。项目结构清晰,适合正在完成选课、信息管理类课题的本科生参考或二次开发。压缩包共8个文件,包…

2026/10/9 22:39:46

用Python turtle画一棵会呼吸的圣诞树

1. 为什么一棵“会呼吸”的圣诞树比截图更有温度圣诞节快到了,朋友圈里又开始刷屏各种圣诞树——有手绘的、有3D建模的、有LED灯串拼成的,甚至还有用咖啡渣和松果做的实物装置。但你有没有发现,真正让人多看两眼、忍不住截图保存、甚至想自己…

2026/10/9 22:39:46

电影院售票系统并发设计:从超卖到ACID落地的完整实践

简介:本资源是山东大学《数据库系统》课程设计的完整实现项目——电影院售票系统(cinema-ticketing),面向计算机专业本科生及数据库初学者,聚焦数据库设计、前后端协同开发与真实业务场景建模能力训练。项目涵盖需求分…

2026/10/9 22:34:46

从零手写小型编译器:词法分析、AST、字节码与虚拟机实现

简介:一份编译原理课程设计“实现一个小型编译程序”的完整资源包,适合计算机专业本科生或需要完成SLR(1)语法分析实验的开发者。项目基于C语言在Win10VS2019环境下开发,实现将高级语言源程序翻译为四元式程序(必做阶段&#xff0…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/9 20:15:56

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:04:27

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略当数万字的学位论文初稿经历开题、实验、问卷与多轮文献梳理最终成形时,绝大多数研究生都会面临一道全新的形式审查关卡:AIGC 疑似度排查。在高校毕业审核流程中,盲审前的文本检测通…

2026/10/9 0:04:27

食堂节能改造源头工厂,商用厨房设备焕新方案广受好评

商用厨房作为餐饮经营、单位供餐的核心后勤阵地,其设备配置、动线规划与运维体系直接决定后厨作业效率、运营成本与合规性。从基础的灶具、制冷存储设备,到油烟净化、水处理等配套系统,每一个环节的合理性都与食品安全、能耗管控、消防安全挂…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑