奔跑吧Linux内核 - (EPUB全文下载)

文件大小:8.86 mb。
文件格式:epub 格式。
书籍内容:

目 录
版权信息
内容提要
推荐序一
推荐序二
推荐序三
推荐序四
对本书的赞誉
前言
Linux内核奔跑卷
第1章 处理器体系结构
第2章 内存管理
2.1 物理内存初始化
2.1.1 内存管理概述
2.1.2 内存大小
2.1.3 物理内存映射
2.1.4 zone初始化
2.1.5 空间划分
2.1.6 物理内存初始化
2.2 页表的映射过程
2.2.1 ARM32页表映射
2.2.2 ARM64页表映射
2.3 内核内存的布局图
2.3.1 ARM32内核内存布局图
2.3.2 ARM64内核内存布局图
2.4 分配物理页面
2.4.1 伙伴系统分配内存
2.4.2 释放页面
2.4.3 小结
2.5 slab分配器
2.5.1 创建slab描述符
2.5.2 分配slab对象
2.5.3 释放slab缓冲对象
2.5.4 kmalloc分配函数
2.5.5 小结
2.6 vmalloc
2.7 VMA操作
2.7.1 查找VMA
2.7.2 插入VMA
2.7.3 合并VMA
2.7.4 红黑树例子
2.7.5 小结
2.8 malloc
2.8.1 brk实现
2.8.2 VM_LOCK情况
2.8.3 小结
2.9 mmap
2.9.1 mmap概述
2.9.2 小结
2.10 缺页中断处理
2.10.1 do_page_fault()
2.10.2 匿名页面缺页中断
2.10.4 写时复制
2.10.5 小结
2.11 page引用计数
2.11.1 struct page数据结构
2.11.2 _count和_mapcount的区别
2.11.3 页面锁PG_Locked
2.11.4 小结
2.12 反向映射RMAP
2.12.1 父进程分配匿名页面
2.12.2 父进程创建子进程
2.12.3 子进程发生COW
2.12.4 RMAP应用
2.12.5 小结
2.13 回收页面
2.13.1 LRU链表
2.13.2 kswapd内核线程
2.13.3 balance_pgdat函数
2.13.4 shrink_zone函数
2.13.5 shrink_active_list函数
2.13.6 shrink_inactive_list函数
2.13.7 跟踪LRU活动情况
2.13.8 Refault Distance算法
2.13.9 小结
2.14 匿名页面生命周期
2.14.1 匿名页面的诞生
2.14.2 匿名页面的使用
2.14.3 匿名页面的换出
2.14.4 匿名页面的换入
2.14.5 匿名页面销毁
2.15 页面迁移
migrate_pages()函数
2.16 内存规整(memory compaction)
2.16.1 内存规整实现
2.16.2 小结
2.17 KSM
2.17.1 KSM实现
2.17.2 匿名页面和KSM页面的区别
2.17.3 小结
2.18 Dirty COW内存漏洞
2.19 总结内存管理数据结构和API
2.19.1 内存管理数据结构的关系图
2.19.2 内存管理中常用API
2.20 最新更新和展望
2.20.1 页面回收策略从zone迁移到node
2.20.2 OOM Killer改进
2.20.3 swap优化
2.20.4 展望
第3章 进程管理
本章思考题
3.1 进程的诞生
3.1.1 init进程
3.1.2 fork
3.1.3 小结
3.2 CFS调度器
3.2.1 权重计算
3.2.2 进程创建
3.2.3 进程调度
3.2.4 scheduler tick
3.2.5 组调度
3.2.6 PELT算法改进
3.2.7 小结
3.3 SMP负载均衡
3.3.1 CPU域初始化
3.3.2 SMP负载均衡
3.3.3 唤醒进程
3.3.4 调试
3.3.5 小结
3.4 HMP调度器
3.4.1 初始化
3.4.2 HMP负载调度
3.4.3 新创建的进程
3.4.4 小结
3.5 NUMA调度器
3.5.1 node和page的关系
3.5.2 扫描进程
3.5.3 NUMA缺页中断
3.5.4 进程迁移
3.5.5 小结
3.6 EAS绿色节能调度器
3.6.1 能效模型
3.6.2 WALT算法
3.6.3 唤醒进程
3.6.4 CPU动态调频
3.6.5 小结
3.7 实时调度
低延迟例子
3.8 最新更新与展望
3.8.1 进程管理更新
3.8.2 展望
第4章 并发与同步
本章思考题
4.1 原子操作与内存屏障
4.1.1 原子操作
4.1.2 内存屏障
4.2 spinlock
4.2.1 spinlock实现
4.2.2 spinlock变种
4.2.3 spinlock和raw_spin_lock
4.3 信号量
4.3.1 信号量
4.3.2 小结
4.4 Mutex互斥体
4.4.1 MCS锁机制
4.4.2 Mutex锁的实现
4.4.3 小结
4.5 读写锁
4.5.1 读者信号量
4.5.2 写者锁
4.5.3 小结
4.6 RCU
4.6.1 经典RCU和Tree RCU
4.6.2 Tree RCU设计
4.6.3 小结
4.7 内存管理中的锁
4.8 最新更新与展望
4.8.1 Queued Spinlock
4.8.2 读写信号量优化
4.8.3 展望
4.8.4 推荐书籍
第5章 中断管理
本章思考题
5.1 Linux中断管理机制
5.1.1 ARM中断控制器
5.1.2 硬件中断号和Linux中断号的映射
5.1.3 注册中断
5.1.4 ARM底层中断处理
5.1.5 高层中断处理
5.1.6 小结
5.2 软中断和tasklet
5.2.1 SoftIRQ软中断
5.2.2 tasklet
5.2.3 local_bh_disable/local_bh_enable
5.2.4 小结
5.3 workqueue工作队列
5.3.1 初始化工作队列
5.3.2 创 ............

书籍插图:
书籍《奔跑吧Linux内核》 - 插图1
书籍《奔跑吧Linux内核》 - 插图2

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 奔跑吧Linux内核 - (EPUB全文下载)