【目录】
第pan>章简介和概述
1.pan>内核的任务
1.2实现策略
1.3内核的组成部分
1.3.pan>
1.3.2UNIX
1.3.3地址空间与
1.3.4页表
1.3.5物理内存的分配
1.3.6计时
1.3.7系统调用
1.3.8设备驱动程序、块设备和字符设备…
1.3.9网络…
1.3.10文件系统
1.3.1pan>模块和热插拔
1.3.12缓存…
1.3.13 链表处理…
1.3.14对象管理和引用·
1.3.15数据类型…
1.3.16本书的局限…
1.4为什么内核是的…
1.5行文注记
1.6小结
第2程管理和调度
2.pan>
2.2
2.3
2.3.pan>
2.3.2命名空间
2.3.3ID号
2.3.4
2.4
2.4.pan>
2.4.2内核线程
2.4.3启动新程序
2.4.4退程
2.5调度器的实现
2.5.pan>概观
2.5.2数据结构
2.5.3处理优先级
2.5.4核心调度器
2.6公平调度类
2.6.pan>数据结构
2.6.2CFS操作
2.6.3队列操作
2.6.4选择下一程
2.6.5处理周期调度器
2.6.6唤醒抢占
2.6.7处理程
2.7实时调度类
2.7.pan>质
2.7.2数据结构
2.7.3调度器操作
2.8调度器
2.8.1 SMP调度
2.8.2调度域和控制组
2.8.3内核抢占和低延迟相关工作…
2.9小结
第3章内存管理
3.pan>概述
3.2(N)UMA模型中的内存组织
3.2.1 概述
3.2.2数据结构
3.3页表…
3.3.pan>数据结构
3.3.2页表项的创建和操作
3.4初始化内存管理
3.4.pan>建立数据结构
3.4.2特定于体系结构的设置
3.4.3 启动过程期间的内存管理………pan>
3.5物理内存的管理
3.5.pan>伙伴系统的结构
3.5.2避免碎片
3.5.3初始化内存域和结点数据结构…
3.5.4分配器API·
3.5.5分配页
3.5.6释放页
3.5.7内核中不连续页的分配………
3.5.8·
3.6 分配器
3.6.pan>备选分配器
3.6.2内核中的内存管理·
3.6.3 分配的原理…
3.6.4实现
3.6.5通用缓存
3.7 处理器高速缓存和TLB控制………
3.8小结
第4程虚拟内存
4.pan>简介
4.2
4.2.pan>
4.2.2建立布局
4.3的原理
4.4数据结构
4.4.pan>树和链表
4.4.2虚拟内存区域的表示……
4.4.3优先查找树·
4.5对区域的操作
4.5.1 将虚拟地址关联到区域……
4.5.2区域合并
4.5.3插入区域
4.5.4创建区域
4.6地址空间
4.7
4.7.pan>创建映射
4.7.2删除映射
4.7.3非线映射
4.8反向映射
4.8.pan>数据结构
4.8.2建立逆向映射
4.8.3使用逆向映射
4.9堆的管理
4.10缺页异常的处理
4.1pan>用户空间缺页异常的校正
4.11.pan>按需分配/调页
4.11.2 匿名页
4.11.3写时
4.11.4获取非线映射
4.12内核缺页异常
4.13在内核和用户空间之间数据
4.14小结
第5章锁程间通信
5.pan>控制机制
5.1.pan>竞态条件
5.1.2临界区
5.2内核锁机制
5.2.pan>对整数的原子操作
5.2.2自旋锁
5.2.3信号量
5.2.4RCU机制
5.2.5内存和优化屏障
5.2.6 读者/写者锁
5.2.7大内核锁
5.2.8互斥量
5.2.9 近似的per-CPU器
5.2.10锁竞争与细粒度锁
5.3System V
5.3.1 System V 机制
5.3.2 信号量
5.3.3消息队列
5.3.4共享内存
5.4 其他IPC机制
5.4.1 信号
5.4.2管道和套接字
5.5小结
第6章设备驱动程序
6.1 I/O体系结构
6.2访问设备
6.2.pan>设备文件
6.2.2字符设备、块设备和其他设备…317
6.2.3使用ioctl
6.2.4主从设备号的表示
6.2.5 注册
6.3与文件系统关联
6.3.1inode中的设备文件成员
6.3.2标准文件操作
6.3.3用于字符设备的标准操作
6.3.4用于块设备的标准操作
6.4字符设备操作
6.4.pan>表示字符设备
6.4.2打开设备文件
6.4.3读写操作
6.5块设备操作
6.5.pan>块设备的表示
6.5.2数据结构
6.5.3向系统添加磁盘和分区
6.5.4打开块设备文件
6.5.5请求结构
6.5.6BIO
6.5.7提交请求
6.5.8I/O调度
6.5.9 ioctl的实现
6.6资源分配
6.6.pan>资源管理
6.6.2I/O内存
6.6.3I/O端口
6.7
6.7.pan>通用驱动程序模型
6.7.2 PCI
6.7.3 USB
6.8小结
……
18.10.2注册和删除收缩器
18.10.3 收缩缓存
18.1pan>小结
第19章审计
19.pan>概述
19.2审计规则
19.3实现
19.3.pan>数据结构
19.3.2初始化·
19.3.3处理请求
19.3.4记录事件
19.3.5系统调用审计
19.4小结
附录A体系结构相关知识
A.pan>概述
A.2数据类型
A.3对齐
A.4内存页面
A.5系统调用
A.6字符串处理
A.7线程表示
A.8 位操作和字节序
A.9页表·
A.10杂项
A.1pan>小结
附录B使用源代码
B.pan>内核源代码的组织
B.2 用Kconfig
B.3 用Kbuild 编译内核
B.4有用的工具
B.5调试和分析内核
B.6 用户模式Linux
B.7小结
附录C有关C语言的注记
C.1 GNU C编译器如何工作
C.2内核的标准数据结构和技术
C.3小结
附录D系统启动
D.1 IA-32系统上与体系结构相关的设置
D.2高层初始化
D.3小结
附录E ELF制格式
E.pan>布局和结构
E.2内核中的数据结构
E.3小结
附录F内核开发过程
F.pan>简介
F.2内核代码树和开发的结构
F.3补丁的结构
F.4 Linux和学术界
F.5小结
参考文献
返回顶部