第二章 linux内核探索工具集。内核中常见数据类型(链表,树,查找),汇编示例,内联汇编,内核探索工具(objdump/readelf、hexdump、nm、objcopy、ar)、printk、dmesg、var/log/messages、__init、likely()/unlikely()。
第三章 进程:程序执行的基本模型。讲了程序、进程描述符、进程创建(fork()/vfolk()/clone()/do_fork())、进程终止(sys_exit()/do_exit()/sys_wait4())、调度程序的基本架构、等待队列、中断异常。
第四章 内存管理。讲了页、页面、内存管理区(三个:ZONE_DMA/ZONE_NORMAL/ZONE_HIGHMEM,原因是为了简化与体系结构无关的代码、为了统一而保留、有些总线寻址范围有限等)、slab分配器及其生命周期(解决外部碎片问题,交给伙伴系统分配管理)、linux进程内存结构(进程地址空间被划分为不同的内存区,用于保护,如只读,可执行等,进程地址空间以及与之相关的所有信息都保存在mm_struct描述符中,它出现在task_strcut中,一个内存区由vm_area_struct描述符表示)、进程映像的分布及线性地址空间、页表、缺页。
第五章 I/O。总线/桥/接口、设备(块设备请求队列和IO调度、字符、网络、时钟、终端设备、DMA)
第六章 文件系统。VFS及其相关数据结构(fs_struct结构、files_struct结构)、页缓存