店铺推荐
【推荐语】
198张图解+大量实验程序,直击Linux核心工作原理

如果你想知道在操作系统启动后,CPU、内存、文件系统等在内部是如何工作的。

如果你只知道Linux的基本命令或者一些零散的知识,想形成完整的脉络。

如果你在遇到操作系统或硬件相关的问题时,不知道如何处理。

那么不妨读一读这本书,系统地掌握操作系统的基础知识!

1.原富士通一线Linux内核开发工程师基于十余年经验执笔,专业实用

2.聚焦Linux核心功能,简明易懂地讲解操作系统是怎样工作的

3.198张示意图帮助理解,详略得当,为读懂大部头开路

4.结合大量实验程序,边动手操作边学习,真实体验系统运行过程

本书适合:

1.菜鸟程序员入门进阶

2.中级程序员查漏补缺

3.高手程序员/教师讲解操作系统基础知识
【作者】
武内觉(作者) 2005年~2017年就职于日本富士通公司,负责商用Linux,特别是Linux内核的开发与支持工作。2017年后在Cybozu公司担任技术顾问。 曹栩(译者) 出生于中国广东省。毕业于天津理工大学。曾从事系统维护工作,长期参与开源贡献。目前在日本求学,专攻通信协议与网络安全方向。
【内容】
本书结合大量实验程序和图表,通俗易懂地介绍了Linux操作系统的运行原理和硬件的基础知识,涉及进程管理、进程调度器、内存管理、存储层次、文件系统和外部存储器等。实验程序使用C语言和Python编写,读者可亲自动手运行程序,来确认系统的行为。另外,以图解的方式介绍各知识点,简明且直观,能够帮助读者加深理解。读者只需对Linux基本命令有所了解,即可轻松阅读。本书适合应用程序开发人员、系统设计师、运维管理人员和技术支持人员等人士阅读。
【目录】
第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
返回顶部