内容简介
《Linux是怎样工作的》是一本深入浅出地讲解Linux操作系统运行原理的图解入门书。全书通过198张精心绘制的图表和大量可动手操作的实验程序,帮助读者直观理解Linux内核的核心机制。作者武内觉凭借丰富的教学和实践经验,将复杂的操作系统概念拆解为易于消化的知识模块。
本书从“现代计算机操作系统”的视角出发,首先介绍Linux的基本结构和用户态与内核态的区别,然后逐步深入到进程管理、内存管理、文件系统、设备驱动、网络通信等关键主题。每一章都配有图示和实验,让读者不仅知道“是什么”,更能亲手验证“为什么”。例如,通过编写简单的C程序观察系统调用的过程,或者利用/proc文件系统查看内核状态。
书中还涵盖了虚拟内存、页面缓存、中断处理、并发控制等进阶内容,并解释了Linux如何实现多任务、内存保护、硬件抽象等特性。无论是计算机专业的学生,还是刚接触Linux的开发者,都能通过本书建立对操作系统整体运作的系统性认识,为后续的性能调优、内核开发或嵌入式开发打下坚实基础。
目录
注意事项
第 1 章 计算机系统的概要
2.1 系统调用
2.2 系统调用的包装函数
2.3 C 标准库
2.4 OS 提供的程序
第 2 章 用户模式实现的功能
3.1 创建进程
3.2 fork() 函数
3.3 execve() 函数
3.4 结束进程
第 3 章 进程管理
4.1 关于实验程序的设计
4.2 实验程序的实现
4.3 实验
4.4 思考
4.5 上下文切换
4.6 进程的状态
4.7 状态转换
4.9 各种各样的状态转换
4.10 吞吐量与延迟
4.11 现实中的系统
4.12 存在多个逻辑 CPU 时的调度
4.13 实验方法
4.14 实验结果
4.15 吞吐量与延迟
4.16 思考
4.17 运行时间和执行时间
4.18 进程睡眠
4.19 现实中的进程
4.20 变更优先级
第 4 章 进程调度器
5.1 内存相关的统计信息
5.2 内存不足
5.3 简单的内存分配
5.4 虚拟内存
5.5 页表
5.6 实验
5.7 为进程分配内存
5.8 实验
5.9 利用上层进行内存分配
5.10 解决问题
5.11 虚拟内存的应用
5.12 文件映射
5.13 请求分页
5.14 写时复制
5.15 Swap
5.16 多级页表
5.17 标准大页
第 5 章 内存管理
6.1 高速缓存
6.2 高速缓存不足时
6.3 多级缓存
6.4 关于高速缓存的实验
6.5 访问局部性
6.6 总结
6.7 转译后备缓冲区
6.8 页面缓存
6.9 同步写入
6.10 缓冲区缓存
6.11 读取文件的实验
6.12 写入文件的实验
6.13 调优参数
6.14 总结
6.15 超线程
第 6 章 存储层次
7.1 Linux 的文件系统
7.2 数据与元数据
7.3 容量限制
7.4 文件系统不一致
7.5 日志
7.6 写时复制
7.7 防止不了的情况
7.8 文件系统不一致的对策
7.9 文件的种类
7.10 字符设备
7.11 块设备
7.12 各种各样的文件系统
7.13 基于内存的文件系统
7.14 网络文件系统
7.15 虚拟文件系统
7.16 Btrfs
第 7 章 文件系统
8.1 HDD 的数据读写机制
8.2 HDD 的性能特性
8.3 HDD 的实验
8.4 实验程序
8.5 顺序访问
8.6 随机访问
8.7 通用块层
8.8 I/O 调度器
8.9 预读
8.10 实验
8.11 SSD
8.12 总结
第 8 章 外部存储器
作者简介
本书由书友@gueson1989发布分享,仅供学习交流使用,版权归原作者所有。如有侵权,请联系我们删除。
📖 支持知识自由流动
每一本书的稳定访问,都离不开服务器、存储与带宽的长期维护。

