内容简介
《Linux内核设计与实现(第三版)》是一本深入探讨Linux内核设计和实现的经典书籍。本书详细介绍了Linux内核的各个核心组件,包括进程管理、内存管理、文件系统、设备驱动等。作者Robert Love以其丰富的经验和深入的理解,为读者提供了清晰、简洁的讲解。
本书不仅适合Linux内核开发人员,也适合对操作系统原理感兴趣的读者。通过本书,读者可以深入了解Linux内核的工作原理,并掌握内核开发的基本技能。
目录
译者序
作者简介
第1章 Linux内核简介
1.1 Unix的历史
1.2 追寻Linus足迹:Linux简介
1.3 操作系统和内核简介
1.4 Linux内核和传统Unix内核的比较
1.5 Linux内核版本
1.6 Linux内核开发者社区
1.7 小结
第2章 从内核出发
2.1 获取内核源码
2.2 内核源码树
2.3 编译内核
2.4 内核开发的特点
2.5 小结
第3章 进程管理
3.1 进程
3.2 进程描述符及任务结构
3.3 进程创建
3.4 线程在Linux中的实现
3.5 进程终结
3.6 小结
第4章 进程调度
4.1 多任务
4.2 Linux的进程调度
4.3 策略
4.4 Linux调度算法
4.5 Linux调度的实现
4.6 抢占和上下文切换
4.7 实时调度策略
4.8 与调度相关的系统调用
4.9 小结
第5章 系统调用
5.1 与内核通信
5.2 API、POSIX和C库
5.3 系统调用
5.4 系统调用处理程序
5.5 系统调用的实现
5.6 系统调用上下文
5.7 小结
第6章 内核数据结构
6.1 链表
6.2 队列
6.3 映射
6.4 二叉树
6.5 数据结构以及选择
6.6 算法复杂度
6.7 小结
第7章 中断和中断处理
7.1 中断
7.2 中断处理程序
7.3 上半部与下半部的对比
7.4 注册中断处理程序
7.5 编写中断处理程序
7.6 中断上下文
7.7 中断处理机制的实现
7.8 /proc/interrupts
7.9 中断控制
7.10 小结
第8章 下半部和推后执行的工作
8.1 下半部
8.2 软中断
8.3 tasklet
8.4 工作队列
8.5 下半部机制的选择
8.6 在下半部之间加锁
8.7 禁止下半部
fnbsp; 8.8 小结
fnbsp; 第9 章 内核同步介绍
9.1 临界区和竞争条件
9.2 加锁
9.3 死锁
9.4 争用和扩展性
9.5 小结
第10章 内核同步方法
10.1 原子操作
10.2 自旋锁
10.3 读一写自旋锁
10.4 信号量
10.5 读一写信号量
10.6 互斥体
10.7 完成变量
10.8 BLK:大内核锁
10.9 顺序锁
10.10 禁止抢占
10.11 顺序和屏障
10.12 小结
第11章 定时器和时间管理
11.1 内核中的时间概念
11.2 节拍率:HZ
11.3 jiffies
11.4 硬时钟和定时器
11.5 时钟中断处理程序
11.6 实际时间
11.7 定时器
11.8 延迟执行
11.9 小结
第12章 内存管理
12.1 页
12.2 区
12.3 获得页
12.4 kmallocO
12.5 vmallocO
12.6 slab层
12.7 在栈上的静态分配
12.8 高端内存的映射
12.9 每个CPU的分配
12.10 新的每个CPU接口
12.11 使用每个CPU数据的原因
12.12 分配函数的选择
12.13 小结
第13章 虚拟文件系统
13.1 通用文件系统接口
13.2 文件系统抽象层
13.3 Unix文件系统
13.4 VFS对象及其数据结构
13.5 超级块对象
13.6 超级块操作
13.11 文件对象
13.12 文件操作
13.13 和文件系统相关的数据结构
13.14 和进程相关的数据结构
13.15 小结
第14章 块I/O层
14.1 剖析一个块设备
14.2 缓冲区和缓冲区头
14.3 bio结构体
14.4 请求队列
14.5 I/O调度程序
14.6 小结
第15章 进程地址空间
15.1 地址空间
15.2 内存描述符
15.3 虚拟内存区域
15.4 操作内存区域
15.5 mmapO和do_mmapO:创建地址区间
15.6 mummapO和do_mummapO:删除地址区间
15.7 页表
15.8 小结
第16章 页高速缓存和页回写
16.1 缓存手段
16.2 Linux页高速缓存
16.3 缓冲区高速缓存
16.4 fiusher线程
16.5 小结
第17章 设备与模块
17.1 设备类型
17.2 模块
17.3 设备模型
17.4 sysfs
17.5 小结
第18章 调试
18.1 准备开始
18.2 内核中的bug
18.3 通过打印来调试
18.4 oops
18.5 内核调试配置选项
18.6 引发bug并打印信息
18.7 神奇的系统请求键
18.8 内核调试器的传奇
18.9 探测系统
18.10 用二分查找法找出引发罪恶的变更
18.11 使用Git进行二分搜索
18.12 当所有的努力都失败时:社区
18.13 小结
第19章 可移植性
19.1 可移植操作系统
19.2 Linux移植史
19.3 字长和数据类型
19.4 数据对齐
19.5 字节顺序
19.6 时间
19.7 页长度
19.8 处理器排序
19.9 SMP、内核抢占、高端内存
19.10 小结
第20章 补丁、开发和社区
20.1 社区
20.2 Linux编码风格
20.3 管理系统
20.4 提交错误报告
20.5 补丁
20.6 小结
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。