内容简介
本书是一本以图解和实验程序为核心的Linux操作系统入门书,旨在帮助读者从底层理解Linux的运行原理。全书共分为9章,通过198张直观的插图和大量可直接运行的实验程序,将抽象的操作系统概念具象化。从进程管理、内存管理、文件系统、输入输出、网络通信等核心主题入手,逐步深入探讨Linux内核的工作机制。
作者武内觉以简洁易懂的语言,结合丰富的图示,带领读者亲手运行实验程序,观察系统行为。例如,通过实验演示进程创建、上下文切换、虚拟内存分页、文件描述符操作、套接字通信等底层过程。书中还涵盖了同步与互斥、中断处理、系统调用、设备驱动等进阶内容,帮助读者建立完整的操作系统知识体系。
本书适合具备一定编程基础的Linux初学者、计算机专业学生以及希望深化对操作系统理解的开发者阅读。通过动手实验,读者不仅能知道“Linux是怎样工作的”,更能理解“为什么要这样工作”,从而在系统调优、问题排查或开发高性能应用时更加得心应手。
目录
推荐序
注意事项
第 1 章 计算机系统的概要
第 2 章 用户模式实现的功能
2.1 系统调用
2.2 系统调用的包装函数
2.3 C 标准库
2.4 OS 提供的程序
第 3 章 进程管理
3.1 创建进程
3.2 fork() 函数
3.3 execve() 函数
3.4 结束进程
第 4 章 进程调度器
4.1 关于实验程序的设计
4.2 实验程序的实现
4.3 实验
4.4 思考
4.5 上下文切换
4.6 进程的状态
4.7 状态转换
4.8 空闲状态
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 变更优先级
第 5 章 内存管理
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 标准大页
第 6 章 存储层次
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 超线程
第 7 章 文件系统
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
第 8 章 外部存储器
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 总结
作者简介
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
⚠ 网盘链接如果失效了请尝试其他网盘,不再补链,因为补了也会再次失效。
免责申明:
1. 本站分享的所有书籍均来源于自互联网,部分书籍中可能有压制者放置的广告,这并不是本站所为,请注意甄别。
2. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
3. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
4. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
5. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。