Linus前两天发布了Linux 5.0-rc1版本,那最快在今年3月就发布Linux 5.0内核了。笨叔的《奔跑吧Linux内核》也马上准备更新到Linux 5.0内核,也就是会更新第二版啦。
目前笨叔对第二版的更新大致有如下想法:
完全抛弃ARM32,拥抱ARM64
每一章增加背景知识和概念
每章尽量增加调试和使用办法
计划增加如下内容:
Meltdown和Specter的解读
异构内存HMM和SVM
IOMMU (ARM的SMMU)
VFIO
内存管理实战案例
Kdump-crash分析实战案例
ARM的GIC V3
初步选择QEMU和树莓派作为实战平台,也期待有国内厂商可以免费为笨叔提供ARM64的开发板。
笨叔期待大家贡献和分享意见和建议。特别是有意义的实际案例的抽象。比如下面的一个案例:
中间件里用malloc分配一个虚拟的buffer,要求把这个buffer的虚拟地址传给内核,然后在内核启动某个设备的DMA进行传输,如何去做?需要思考 1. 这个虚拟buffer是否page对齐? 不对齐怎么办? 2. DMA传输需要的连续物理内存怎么解决 3. 假设这个虚拟buffer和其他进程的buffer同在一个 page里,怎么办?
笨叔期待各位Linux大神和小伙伴给《奔跑吧Linux内核》多提意见和实际案例,可以给笨叔留言或者发邮件,笨叔对有意思的意见和建议会赠送《奔跑吧*入门酱香篇》表示感激!