Summary 简介 引导 从引导加载程序内核 在内核安装代码的第一步 视频模式初始化和转换到保护模式 过渡到 64 位模式 内核解压缩 初始化 内核解压之后的首要步骤 早期的中断和异常控制 在到达内核入口之前最后的准备 内核入口 - start_kernel 体系架构初始化 进一步初始化指定体系架构 最后对指定体系架构初始化 调度器初始化 RCU 初始化 初始化结束 中断 中断和中断处理第一部分 深入 Linux 内核中的中断 初步中断处理 中断处理 异常处理的实现 处理不可屏蔽中断 深入外部硬件中断 IRQs的非早期初始化 Softirq, Tasklets and Workqueues 最后一部分 系统调用 系统调用概念简介 Linux 内核如何处理系统调用 vsyscall and vDSO Linux 内核如何运行程序 open 系统调用的实现 Linux 资源限制 定时器和时钟管理 简介 时钟源框架简介 The tick broadcast framework and dyntick 定时器介绍 Clockevents 框架简介 x86 相关的时钟源 Linux 内核中与时钟相关的系统调用 同步原语 自旋锁简介 队列自旋锁 信号量 互斥锁 读者/写者信号量 顺序锁 RCU Lockdep 内存管理 内存块 固定映射地址和 ioremap kmemcheck 控制组 控制组简介 SMP 概念 每个 CPU 的变量 CPU 掩码 initcall 机制 Linux 内核的通知链 Linux 内核中的数据结构 双向链表 基数树 位数组 理论 分页 ELF 文件格式 內联汇编 CPUID MSR Initial ram disk initrd 杂项 Linux 内核开发 内核编译方法 链接器 用户空间的程序启动过程 书写并提交你第一个内核补丁 内核数据结构 中断描述符表 有帮助的链接 贡献者