第1章 Linux系统内核分析 1
1.1 操作系统的概念和组成部分 1
1.2 Linux内核的重要组成部分 3
1.3 Linux系统的主要服务 6
1.4 目录树的标准布局 8
1.5 系统的引导与退出 11
1.6 系统运行 18
1.7 内核提供的各种系统调用 19
1.8 存取文件系统 20
1.9 内核代码的分析方法 20
第2章 系统进程 23
2.1 什么是进程 23
2.2 进程的结构 24
2.3 进程调度 31
2.4 进程的创建 34
2.5 执行程序 35
第3章 内存管理 38
3.1 虚拟内存 38
3.2 Linux的内存页表 40
3.3 内存页的分配和释放 41
3.4 内存映射和需求分页 46
3.5 Linux页缓存 47
3.6 内存交换 48
3.7 页换入 51
3.8 高速缓存 52
3.9 相关系统工具和系统调用 53
4.1 信号 56
第4章 进程间通信 56
4.2 管道 58
4.3 System V的IPC机制 60
4.4 相关系统工具及系统调用 64
4.5 进程使用的文件 67
第5章 硬件和设备驱动程序 68
5.1 处理器和总线 69
5.2 PCI总线 70
5.3 计算机和设备间的数据交换方式 72
5.4 中断及中断处理 74
5.5 设备驱动程序 76
5.6 硬盘 81
5.7 软盘 85
5.8 格式化和分区 86
5.9 其他存储设备 90
5.10 键盘和鼠标 90
5.11 打印机 94
5.12 其他外设 97
第6章 文件系统 98
6.1 Ext2文件系统 98
6.2 虚拟文件系统 104
6.3 缓冲区高速缓存 111
6.4 /Proc文件系统 114
6.5 特殊设备文件 114
6.6 相关系统工具和系统调用 114
7.1 TCP/IP协议 120
第7章 网络 120
7.2 Linux的TCP/IP网络层 123
7.3 BSD套接字接口 123
7.4 INET套接字层 126
7.5 IP层 129
7.6 地址解析协议 132
7.7 IP路由 133
7.8 相关系统工具和系统调用 135
第8章 其他内核机制 136
8.1 底半处理 136
8.2 任务队列 137
8.3 时间和定时器 138
8.4 等待队列 139
8.5 Buzz锁 140
8.6 信号量 140
8.7 模块 141
8.8 相关系统工具和系统调用 145
第9章 登录和注销 147
9.1 终端登录 147
9.2 网络登录 147
9.3 Login程序 148
9.4 xdm 149
9.5 访问控制 149
9.6 shell启动 150
block_dev_struct 151
buffer_head 151
第10章 常用数据结构 151
device 152
device_stuct 155
file 155
files_struct 156
fs_struct 156
gendisk 156
inode 157
ipc_perm 159
irqaction 159
linux_binfmt 159
mm_struct 160
mem_map_t 160
pci_bus 161
pci_dev 161
request 162
rtable 163
semaphore 163
sk_buff 164
sock 165
socket 170
task_struct 170
timer_list 173
tq_struct 173
vm_area_struct 173
参考文献 175