📬 任务间通信 · 内核实现

30 章 · 从原理到实战
⚙️ 内核级 · 风格
01
引言 背景与IPC演进
多任务挑战 · 为什么需要任务间通信
02
共享内存·上 原理与数据结构
物理内存管理 · 内核设计
03
共享内存·下 同步机制实现
自旋锁 · 信号量 · 内核同步
04
消息队列·上 内核数据结构
msg_queue · msg_msg 设计
05
消息队列·中 msgsnd系统调用
消息发送内核路径
06
消息队列·下 msgrcv与阻塞唤醒
接收机制 · 等待队列
07
信号量·上 经典与内核信号量
struct semaphore 实现
08
信号量·下 PV原子性与等待队列
原子操作 · 阻塞唤醒
09
管道·上 无名管道与缓冲区
pipe创建 · 内核buffer
10
管道·下 FIFO与文件系统
有名管道 · 交互细节
11
信号·上 注册与递送机制
内核信号注册递送
12
信号·中 处理函数执行流程
用户态/内核态切换
13
信号·下 实时信号与可靠信号
区别 · 内核实现
14
Socket·上 协议栈与Socket创建
网络协议栈简介
15
Socket·中 TCP/UDP数据传输
内核数据传输路径
16
Socket·下 epoll内核实现
性能优化 · 事件驱动
17
内存映射 mmap内核实现
文件映射 · 匿名映射
18
文件锁 flock/fcntl实现
竞争条件处理
19
eventfd 轻量级事件对象
内核事件通知机制
20
timerfd 定时器与fd结合
内核定时器 · 通知
21
信号量集 semctl/semop
System V 复杂操作
22
共享内存 SysV shmget/shmat
内核实现细节
23
消息队列 SysV 对比POSIX
内核差异分析
24
RPC远程通信 内核RPC框架
SUN RPC 简介
25
D-Bus 桌面IPC与内核
D-Bus 内核支持
26
Binder·上 驱动核心数据结构
Android Binder驱动
27
Binder·下 线程池与事务传递
Binder事务机制
28
性能对比 IPC开销分析
不同机制内核开销
29
调试与追踪 ftrace/perf
分析IPC性能瓶颈
30
综合实战 混合IPC方案
共享内存+信号量+eventfd