类似推荐
编辑推荐
原富士通一线Linux内核开发工程师聚焦Linux核心功能,讲解了操作系统是怎样工作的。
内容简介
本书结合大量实验程序和图表,通俗易懂地介绍了Linux操作系统的运行原理和硬件的基础知识,涉及进程管理、进程调度器、内存管理、存储层次、文件系统和外部存储器等。实验程序使用C语言和Python编写,读者可亲自动手运行程序,来确认系统的行为。另外,以图解的方式介绍各知识点,简明且直观,能够帮助读者加深理解。读者只需对Linux基本命令有所了解,即可轻松阅读。本书适合应用程序开发人员、系统设计师、运维管理人员和技术支持人员等人士阅读。
作者简介
作者武内觉,2005年~2017年就职于日本富士通公司,负责商用Linux,特别是Linux内核的开发与支持工作。2017年后在Cybozu公司担任技术顾问。
章节目录
版权信息
版权声明
推荐序
前言
注意事项
第1章 计算机系统的概要
第2章 用户模式实现的功能
2.1 系统调用
CPU 的模式切换
发起系统调用时的情形
实验
执行系统调用所需的时间
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-A(进程数量=1)
实验 4-B(进程数量=2)
实验 4-C(进程数量=4)
4.4 思考
4.5 上下文切换
4.6 进程的状态
4.7 状态转换
4.8 空闲状态
4.9 各种各样的状态转换
4.10 吞吐量与延迟
4.11 现实中的系统
4.12 存在多个逻辑 CPU 时的调度
4.13 实验方法
4.14 实验结果
实验 4-D(进程数量=1)
实验 4-E(进程数量=2)
实验 4-F(进程数量=4)
4.15 吞吐量与延迟
实验 4-D
实验 4-E
实验 4-F
4.16 思考
4.17 运行时间和执行时间
逻辑 CPU 数量=1,进程数量=1
逻辑 CPU 数量=1,进程数量=2
逻辑 CPU 数量=2,进程数量=1
逻辑 CPU 数量=2,进程数量=4
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
关于 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 虚拟文件系统
procfs
sysfs
cgroupfs
7.16 Btrfs
多物理卷
快照
RAID
数据损坏的检测与恢复
第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
SSD 的实验
8.12 总结
后记
作者简介
Linux是怎样工作的是2022年由人民邮电出版社出版,作者[日] 武内觉。
得书感谢您对《Linux是怎样工作的》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。