Linux 内核揭密
简介
引导
从引导加载程序内核
在内核安装代码的第一步
视频模式初始化和转换到保护模式
过渡到 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 内核开发
内核编译方法
链接器
用户空间的程序启动过程
书写并提交你第一个内核补丁
内核数据结构
中断描述符表
有帮助的链接
贡献者
主页
资讯
文章
代码
有帮助的链接
Linux 启动
Linux/x86 boot protocol
Linux kernel parameters
保护模式
64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf
串口编程
8250 UART Programming
Serial ports on OSDEV
VGA
Video Graphics Array (VGA)
IO
IO port programming
GCC and GAS
GCC type attributes
Assembler Directives
重要的数据结构
task_struct definition
其他框架
PowerPC and Linux Kernel Inside
有帮助的链接
Linux x86 Program Start Up
Memory Layout in Program Execution (32 bits)