操作系统之程观察
罗秋明
出版时间: 2018
内容简介
本书弥合了操作系统理论课程和操作系统码实现之间的断层。以Linux真实操作系统为观察对象,主要利用proc文件系统展示出来的内核行为数据来讲述操作系统的核心概念。
目录
目录
第1章Linux安装与访问1
1.1安装Linux1
1.1.1下载CentOS 71
1.1.2CentOS 7安装3
1.2虚拟机安装Linux9
1.2.1VirtualBox安装9
1.2.2虚拟机配置17
1.2.3虚拟机安装Linux19
1.3ssh远程终端访问21
1.4初次接触Linux24
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.1fork()创建子进程44
2.2.2孤儿进程和僵尸进程47
2.2.3exec函数族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.1PCB开销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.1CFS进程的负载均衡104
3.4.2实时进程的负载均衡111
3.5本章小结114
3.6练习114
第4章进程间通信与同步115
4.1进程间通信115
4.1.1管道115
4.1.2System V IPC120
4.2进程间同步133
4.2.1System V IPC信号量集133
4.2.2POSIX信号量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.1shell读入命令229
6.1.1用户空间与内核空间229
6.1.2读入命令231
6.2创建进程237
6.2.1fork()复制进程237
6.2.2替换进程映像238
6.2.3开始运行新进程239
6.2.4进程映像与缺页240
6.3本章小结240
6.4练习241
第7章VFS文件系统242
7.1VFS242
7.1.1VFS对象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.3proc文件系统279
7.6本章小结280
7.7练习280
第8章EXT2文件系统281
8.1EXT2磁盘数据的组织281
8.1.1整体布局281
8.1.2超级块283
8.1.3块组描述符285
8.1.4索引节点286
8.1.5目录结构289
8.2EXT2文件系统的创建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