奔跑吧Linux内核 作者:张天飞 人民邮电

本书内容基于Linux 4.x内核,主要选取了Linux内核中比较基本和常用的内存管理、进程管理、并发与同步,以及中断管理这4个内核模块进行讲述。全书共分为6章,依次介绍了ARM体系结构、Linux内存管理、进程调度管理、并发与同步、中断管理、内核调试技巧等内容。本书的每节内容都是一个Linux内核的话题或者技术点,读者可以根据每小节前的问题进行思考,进而围绕问题进行内核源代码的分析。 本书内容丰富,讲解清晰透彻,不仅适合有一定Linux相关基础的人员,包括从事与Linux相关的开发人员、操作系统的研究人员、嵌入式开发人员及Android底层开发人员等学习和使用,而且适合作为对Linux感兴趣的程序员的学习用书,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。

LINUX内核奔跑卷 1第1章 处理器体系结构 4本章思考题 4第2章 内存管理 32本章思考题 322.1 物理内存初始化 362.1.1 内存管理概述 362.1.2 内存大小 372.1.3 物理内存映射 382.1.4 zone初始化 402.1.5 空间划分 442.1.6 物理内存初始化 452.2 页表的映射过程 512.2.1 ARM32页表映射 512.2.2 ARM64页表映射 602.3 内核内存的布局图 672.3.1 ARM32内核内存布局图 672.3.2 ARM64内核内存布局图 702.4 分配物理页面 722.4.1 伙伴系统分配内存 722.4.2 释放页面 852.4.3 小结 892.5 slab分配器 902.5.1 创建slab描述符 912.5.2 分配slab对象 1032.5.3 释放slab缓冲对象 1082.5.4 kmalloc分配函数 1112.5.5 小结 1122.6 vmalloc 1132.7 VMA操作 1202.7.1 查找VMA 1222.7.2 插入VMA 1242.7.3 合并VMA 1292.7.4 红黑树例子 1312.7.5 小结 1332.8 malloc 1332.8.1 brk实现 1342.8.2 VM_LOCK情况 1382.8.3 小结 1482.9 mmap 1502.9.1 mmap概述 1512.9.2 小结 1532.10 缺页中断处理 1552.10.1 do_page_fault() 1572.10.2 匿名页面缺页中断 1652.10.3 文件映射缺页中断 1692.10.4 写时复制 1752.10.5 小结 1832.11 page引用计数 1842.11.1 struct page数据结构 1852.11.2 _count和_mapcount的区别 1882.11.3 页面锁PG_Locked 1922.11.4 小结 1922.12 反向映射RMAP 1922.12.1 父进程分配匿名页面 1932.12.2 父进程创建子进程 1982.12.3 子进程发生COW 2002.12.4 RMAP应用 2012.12.5 小结 2022.13 回收页面 2042.13.1 LRU链表 2042.13.2 kswapd内核线程 2162.13.3 balance_pgdat函数 2192.13.4 shrink_zone函数 2282.13.5 shrink_active_list函数 2332.13.6 shrink_inactive_list函数 2382.13.7 跟踪LRU活动情况 2442.13.8 Refault Distance算法 2442.13.9 小结 2492.14 匿名页面生命周期 2512.14.1 匿名页面的诞生 2512.14.2 匿名页面的使用 2522.14.3 匿名页面的换出 2522.14.4 匿名页面的换入 2542.14.5 匿名页面销毁 2542.15 页面迁移 254migrate_pages()函数 2552.16 内存规整(memory compaction) 2622.16.1 内存规整实现 2632.16.2 小结 2722.17 KSM 2732.17.1 KSM实现 2742.17.2 匿名页面和KSM页面的区别 2932.17.3 小结 2942.18 Dirty COW内存漏洞 2962.19 总结内存管理数据结构和API 3092.19.1 内存管理数据结构的关系图 3092.19.2 内存管理中常用API 3122.20 最新更新和展望 3152.20.1 页面回收策略从zone迁移到node 3152.20.2 OOM Killer改进 3162.20.3 swap优化 3172.20.4 展望 318第3章 进程管理 319本章思考题 3193.1 进程的诞生 3203.1.1 init进程 3213.1.2 fork 3253.1.3 小结 3443.2 CFS调度器 3453.2.1 权重计算 3463.2.2 进程创建 3583.2.3 进程调度 3693.2.4 scheduler tick 3793.2.5 组调度 3823.2.6 PELT算法改进 3863.2.7 小结 3873.3 SMP负载均衡 3893.3.1 CPU域初始化 3893.3.2 SMP负载均衡 4013.3.3 唤醒进程 4153.3.4 调试 4213.3.5 小结 4223.4 HMP调度器 4223.4.1 初始化 4233.4.2 HMP负载调度 4253.4.3 新创建的进程 4363.4.4 小结 4373.5 NUMA调度器 4383.5.1 node和page的关系 4393.5.2 扫描进程 4413.5.3 NUMA缺页中断 4423.5.4 进程迁移 4503.5.5 小结 4553.6 EAS绿色节能调度器 4573.6.1 能效模型 4593.6.2 WALT算法 4653.6.3 唤醒进程 4803.6.4 CPU动态调频 4913.6.5 小结 4943.7 实时调度 4963.8 最新更新与展望 5003.8.1 进程管理更新 5003.8.2 展望 500第4章 并发与同步 501本章思考题 5014.1 原子操作与内存屏障 5034.1.1 原子操作 5034.1.2 内存屏障 5064.2 spinlock 5084.2.1 spinlock实现 5094.2.2 spinlock变种 5114.2.3 spinlock和raw_spin_lock 5124.3 信号量 5134.3.1 信号量 5134.3.2 小结 5164.4 Mutex互斥体 5174.4.1 MCS锁机制 5184.4.2 Mutex锁的实现 5254.4.3 小结 5314.5 读写锁 5314.5.1 读者信号量 5324.5.2 写者锁 5384.5.3 小结 5444.6 RCU 5444.6.1 经典RCU和Tree RCU 5474.6.2 Tree RCU设计 5514.6.3 小结 5734.7 内存管理中的锁 5744.8 最新更新与展望 5844.8.1 Queued Spinlock 5844.8.2 读写信号量优化 5914.8.3 展望 5924.8.4 推荐书籍 593第5章 中断管理 594本章思考题 5945.1 Linux中断管理机制 5955.1.1 ARM中断控制器 5955.1.2 硬件中断号和Linux中断号的映射 5995.1.3 注册中断 6105.1.4 ARM底层中断处理 6185.1.5 高层中断处理 6265.1.6 小结 6365.2 软中断和tasklet 6375.2.1 SoftIRQ软中断 6385.2.2 tasklet 6425.2.3 local_bh_disable/local_bh_enable 6475.2.4 小结 6495.3 workqueue工作队列 6505.3.1 初始化工作队列 6525.3.2 创建工作队列 6595.3.3 调度一个work 6655.3.4 取消一个work 6755.3.5 和调度器的交互 6805.3.6 小结 682第6章 内核调试 6846.1 QEMU调试Linux内核 6846.1.1 QEMU运行ARM Linux内核 6846.1.2 QEMU调试ARM Linux内核 6876.1.3 QEMU运行ARMv8开发平台 6886.1.4 文件系统支持 6906.1.5 图形化调试 6916.1.6 实验进阶 6936.2 ftrace 6946.2.1 irqs跟踪器 6956.2.2 preemptoff跟踪器 6966.2.3 preemptirqsoff跟踪器 6976.2.4 function跟踪器 6986.2.5 动态ftrace 6996.2.6 事件跟踪 7006.2.7 添加tracepoint 7026.2.8 trace-cmd和kernelshark 7056.2.9 trace marker 7076.2.10 小结 7096.3 SystemTap 7106.4 内存检测 7146.4.1 slub_debug 7146.4.2 内存泄漏检测kmemleak 7186.4.3 kasan内存检测 7206.5 死锁检测 7226.6 内核调试秘籍 7286.6.1 printk 7286.6.2 动态打印 7306.6.3 RAM Console 7316.6.4 OOPS分析 7316.6.5 BUG_ON()和WARN_ON() 734

需要么?

发布了32 篇原创文章 · 获赞 12 · 访问量 1686

猜你喜欢

转载自blog.csdn.net/weixin_44402215/article/details/103796426
今日推荐