这一篇在干嘛?

这是「Linux内核」大分类的入口。《深入理解 Linux 内核》第三版(Understanding the Linux Kernel, 3rd Edition,俗称 ULK3)是内核入门的经典教材,以 Linux 2.6 内核为蓝本,把内核的每个子系统从硬件机制讲到代码实现。本系列按原书章节逐章精讲,面向初学者展开——不逐句翻译原文,而是讲清「是什么 / 为什么 / 不懂会怎样」。

📚 章节目录

《深入理解 Linux 内核》第三版(ULK3)全书 22 章逐章精讲,每章独立成篇,含原书插图、数据结构图解、代码走读、常见坑与自测题。以 Linux 2.6 内核为蓝本讲透内核工作原理,入门建议按 lk01 → lk12 顺序通读,13 章之后可按子系统按需选读。

章节主题重点
lk01导论操作系统与 Unix 基础概念、内核架构、进程/内存/文件管理总览
lk02内存寻址段机制与分页、GDT/LDT、TLB、内核页表的建立
lk03进程进程描述符 task_struct、进程切换 switch_to、fork/clone、内核线程
lk04中断和异常APIC/IDT 硬件机制、异常处理、软中断/tasklet/work queue
lk05内核同步自旋锁、信号量、RCU、seqlock 与竞态条件防范
lk06时间测量RTC/TSC/PIT 时钟源、jiffies、动态定时器与延时函数
lk07进程调度O(1) 调度器、时间片与动态优先级、实时调度、SMP 负载均衡
lk08内存管理页框管理、NUMA/内存区域、伙伴系统、slab 分配器
lk09进程地址空间mm_struct 与内存区域、缺页异常处理、写时复制与堆管理
lk10系统调用int 0x80/sysenter 进入路径、参数校验、异常表与内核包装函数
lk11信号信号产生/交付/捕捉全流程、信号队列数据结构、相关系统调用
lk12虚拟文件系统VFS 四大对象 superblock/inode/dentry/file、路径查找与挂载
lk13I/O 体系结构和设备驱动sysfs/kobject 设备模型、字符设备驱动、I/O 共享内存与 DMA
lk14块设备驱动程序通用块层与 bio、I/O 调度器四种电梯、gendisk 与请求队列
lk15页缓存address_space 与 radix tree、buffer head、pdflush 脏页回写
lk16访问文件文件读写路径、预读算法、mmap 内存映射、直接 I/O 与异步 I/O
lk17回收页框PFRA 算法、反向映射、LRU 链表、kswapd、swap 与 OOM killer
lk18Ext2 和 Ext3 文件系统Ext2 磁盘/内存数据结构、块寻址与文件洞、Ext3 日志 JBD
lk19进程通信管道与 FIFO、System V IPC(信号量/消息队列/共享内存)
lk20程序执行execve 全流程、ELF 可执行格式、动态链接与进程凭据
lk21系统启动从 BIOS 到 GRUB、setup( )、startup_32( ) 到 start_kernel( )
lk22模块module 加载/卸载、符号导出、模块依赖与 kmod 按需加载