![]()
作者简介 陈华才,博士,不错工程师。现任江苏航天龙梦信息技术有限公司副总工程师,负责龙芯3号处理器的内核开发。 目录 第01 章 基础知识 1.1 龙芯处理器简介 1.1.1 龙芯3 号功能特征 1.1.2 龙芯3 号处理器核 1.1.3 龙芯电脑基本结构 1.2 Linux 内核简介 1.2.1 Linux 内核发展简史 1.2.2 Linux 内核的开发模式 1.2.3 关于长期维护稳定版 1.2.4 龙芯的内核版本选型 1.3 如何高效阅读代码 1.3.1 找准入口点 1.3.2 理清主脉络 1.3.3 顾名思义看功能 1.3.4 理解补丁文件 1.4 如何开发健壮内核 1.4.1 内核代码风格 1.4.2 合理生成补丁 1.4.3 谨慎对待创新 第02 章 内核启动解析 2.1 内核源代码目录结构 2.2 内核启动过程:主核视角 2.2.1 第一入口:kernel_entry 2.2.2 第二入口:start_kernel() 2.2.3 重要函数:setup_arch() 2.2.4 重要函数:trap_init() 2.2.5 重要函数:init_IRQ() 2.2.6 重要函数:time_init() 2.2.7 1 号进程:kernel_init() 2.3 内核启动过程:辅核视角 2.3.1 第一入口:smp_bootstrap 2.3.2 第二入口:start_secondary() 2.4 本章小结 第03 章 异常与中断解析 3.1 寄存器操作 3.2 异常处理解析 3.2.1 复位异常和NMI 3.2.2 缓存错误异常 3.2.3 TLB XTLB 异常 3.2.4 其他通用异常 3.3 中断处理解析 3.3.1 中断处理的入口 3.3.2 中断处理的分派 3.4 软中断、小任务与工作队列 3.4.1 软中断softirq 3.4.2 小任务tasklet 3.4.3 工作队列workqueue 3.5 本章小结 第04 章 内存管理解析 4.1 内存管理相关概念 4.1.1 龙芯3 号的高速缓存 4.1.2 龙芯3 号的TLB 4.1.3 龙芯的虚拟地址空间 4.2 物理内存页帧管理 4.2.1 物理地址空间 4.2.2 伙伴系统算法 4.3 内核内存对象管理 4.3.1 数据结构与API 4.3.2 核心函数解析 4.4 分页映射内存管理 4.4.1 持久内核映射 4.4.2 临时内核映射 4.4.3 非连续内存管理 4.5 进程地址空间管理 4.5.1 数据结构与API 4.5.2 内存映射 4.5.3 堆区管理 4.5.4 缺页异常处理 4.6 内存管理其他话题 4.6.1 反向映射 4.6.2 内存回收 4.6.3 巨页机制 4.7 本章小结 第05 章 进程管理解析 5.1 进程描述符 5.1.1 运行状态相关 5.1.2 标识调度相关 …… 内容推荐 这是一本基于龙芯平台,结合Linux-5.4.x 版本的内核源代码来解析Linux 内核的书籍。本书首先介绍了有关龙芯处理器和Linux 内核的基础知识,然后重点讲解了内核启动、异常与中断、内存管理、进程管理、显卡驱动、网卡驱动和电源管理这7 大板块的内容。本书甚少涉及代码的细枝末节,而是重点关注代码实现的主干流程,并且创造性地引入了树形视图和链式视图这两种比流程图更好用的代码解析方法。 本书适合Linux 系统相关的开发人员,特别是基于龙芯处理器做内核开发的技术人员学习参考。 |