第1章Linux安装与访问 1
1.1安装Linux 1
1.1.1下载CentOS 7 1
1.1.2 CentOS 7安装 3
1.2虚拟机安装Linux 9
1.2.1 VirtualBox安装 9
1.2.2虚拟机配置 17
1.2.3虚拟机安装Linux 19
1.3 ssh远程终端访问 21
1.4初次接触Linux 24
1.4.1简单操作 24
1.4.2运行HelloWorld程序 29
1.4.3操作系统接口 32
1.5阅读注意事项 33
1.6本章小结 34
第2章 进程控制 35
2.1进程基本概念 35
2.1.1进程实体 37
2.1.2进程间组织关系 38
2.1.3进程控制命令 42
2.2创建与撤销进程 44
2.2.1 fork()创建子进程 44
2.2.2孤儿进程和僵尸进程 47
2.2.3 exec 函数族 49
2.2.4通过kill()撤销进程 51
2.2.5创建守护进程 51
2.3创建pthread线程 56
2.3.1进程与线程 57
2.3.2创建方法 58
2.4进程和线程资源开销 60
2.4.1 PCB开销 60
2.4.2内存描述符开销 63
2.5本章小结 64
2.6练习 65
第3章 进程调度 66
3.1调度与均衡 66
3.1.1调度与均衡框架 71
3.1.2全系统的调度统计 72
3.2进程状态及其转变 75
3.2.1进程状态 75
3.2.2状态转换 80
3.2.3进程的调度统计 83
3.3进程的调度 88
3.3.1普通进程的CFS调度 88
3.3.2实时进程调度 93
3.4进程迁移与负载均衡 103
3.4.1 CFS进程的负载均衡 104
3.4.2实时进程的负载均衡 111
3.5本章小结 114
3.6练习 114
第4章 进程间通信与同步 115
4.1进程间通信 115
4.1.1管道 115
4.1.2 System V IPC 120
4.2进程间同步 133
4.2.1 System V IPC信号量集 133
4.2.2 POSIX信号量 145
4.3本章小结 154
4.4练习 154
第5章 内存管理 156
5.1虚存空间管理 156
5.1.1进程映像 156
5.1.2堆区 161
5.1.3文件映射区 168
5.1.4栈区 171
5.1.5访问任意进程的虚存 176
5.1.6虚存使用的物理页帧 179
5.2分页机制与页表 181
5.2.1分页机制 182
5.2.2进程页表 186
5.3物理内存组织管理 193
5.3.1页帧、节点、内存域 193
5.3.2空闲页帧管理——buddy系统 200
5.3.3物理内存分配与回收 204
5.3.4内存回收 215
5.4本章小结 227
5.5练习 228
第6章 综合——新进程创建到运行 229
6.1 shell读入命令 229
6.1.1用户空间与内核空间 229
6.1.2读入命令 231
6.2创建进程 237
6.2.1 fork()复制进程 237
6.2.2替换进程映像 238
6.2.3开始运行新进程 239
6.2.4进程映像与缺页 240
6.3本章小结 240
6.4练习 241
第7章VFS文件系统 242
7.1 VFS 242
7.1.1 VFS对象 243
7.1.2文件系统类型 245
7.2文件基本操作 246
7.2.1命令行基本操作 246
7.2.2编程接口 248
7.3目录结构 253
7.3.1树形结构 253
7.3.2软/硬链接 254
7.3.3文件系统创建与安装 258
7.4页缓存 264
7.4.1页缓存基本概念 265
7.4.2页缓存动态变化 266
7.5非文件功能 268
7.5.1交换 268
7.5.2设备接口 273
7.5.3 proc文件系统 279
7.6本章小结 280
7.7练习 280
第8章EXT2文件系统 281
8.1 EXT2磁盘数据的组织 281
8.1.1整体布局 281
8.1.2超级块 283
8.1.3块组描述符 285
8.1.4索引节点 286
8.1.5目录结构 289
8.2 EXT2文件系统的创建 291
8.2.1分配磁盘空间 291
8.2.2创建环回设备 292
8.2.3创建EXT2文件系统 293
8.2.4安装文件系统 293
8.3查看EXT2磁盘数据 294
8.3.1布局信息 294
8.3.2块组描述符 299
8.3.3索引节点与文件内容 300
8.3.4目录结构 304
8.4本章小结 309
8.5练习 310
附录vi编辑命令 311