作 者:(日)武内觉 著 曹栩 译
定 价:69.8
出 版 社:人民邮电出版社
出版日期:2022年03月01日
页 数:296
装 帧:平装
ISBN:9787115581617
●第1章计算机系统的概要1
第2章用户模式实现的功能11
2.1系统调用12
2.2系统调用的包装函数22
2.3C标准库24
2.4OS提供的程序26
第3章进程管理27
3.1创建进程28
3.2fork()函数28
3.3execve()函数31
3.4结束进程38
第4章进程调度器41
4.1关于实验程序的设计43
4.2实验程序的实现44
4.3实验48
4.4思考53
4.5上下文切换54
4.6进程的状态55
4.7状态转换57
4.8空闲状态59
4.9各种各样的状态转换61
4.10吞吐量与延迟63
4.11现实中的系统69
4.12存在多个逻辑CPU时的调度70
4.13实验方法71
4.14实验结果72
4.15吞吐量与延迟76
4.16思考77
4.17运行时间和执行时间78
4.18进程睡眠84
4.19现实中的进程85
4.20变更优先级87
第5章内存管理95
5.1内存相关的统计信息96
5.2内存不足98
5.3简单的内存分配101
5.4虚拟内存106
5.5页表108
5.6实验110
5.7为进程分配内存111
5.8实验116
5.9利用上层进行内存分配118
5.10解决问题121
5.11虚拟内存的应用126
5.12文件映射127
5.13请求分页131
5.14写时复制145
5.15Swap151
5.16多级页表159
5.17标准大页163
第6章存储层次167
6.1高速缓存168
6.2高速缓存不足时173
6.3多级缓存175
6.4关于高速缓存的实验176
6.5访问局部性180
6.6总结181
6.7转译后备缓冲区181
6.8页面缓存181
6.9同步写入186
6.10缓冲区缓存187
6.11读取文件的实验187
6.12写入文件的实验194
6.13调优参数196
6.14总结198
6.15超线程199
第7章文件系统203
7.1Linux的文件系统207
7.2数据与元数据210
7.3容量211
7.4文件系统不一致212
7.5日志214
7.6写时复制218
7.7防止不了的情况221
7.8文件系统不一致的对策221
7.9文件的种类223
7.10字符设备224
7.11块设备225
7.12各种各样的文件系统228
7.13基于内存的文件系统228
7.14网络文件系统230
7.15虚拟文件系统231
7.16Btrfs233
第8章外部存储器241
8.1HDD的数据读写机制242
8.2HDD的性能特性244
8.3HDD的实验246
8.4实验程序247
8.5顺序访问251
8.6随机访问253
8.7通用块层254
8.8I/O调度器255
8.9预读256
8.10实验258
8.11SSD267
8.12总结279
后记280
本书结合大量实验程序和图表,通俗易懂地介绍了Linux操作系统的运行原理和硬件的基础知识,涉及进程管理、进程调度器、内存管理、存储层次、文件系统和外部存储器等。实验程序使用C语言和Python编写,读者可亲自动手运行程序,来确认系统的行为。另外,以图解的方式介绍各知识点,简明且直观,能够帮助读者加深理解。读者只需对Linux基本命令有所了解,即可轻松阅读。本书适合应用程序开发人员、系统设计师、运维管理人员和技术支持人员等人士阅读。
(日)武内觉 著 曹栩 译
武内觉(作者)
2005年~2017年就职于日本富士通公司,负责商用Linux,特别是Linux内核的开发与支持工作。2017年后在Cybozu公司担任技术顾问。
曹栩(译者)
出生于中国广东省。毕业于天津理工大学。曾从事系统维护工作,长期参与开源贡献。目前在日本求学,专攻通信协议与网络安全方向。