系统进入内核态的途径:
- 系统调用门
- 中断门
- 异常门
进程与执行路径:
- 进程对应于一个进程描述符,执行路径不需要有进程描述符
- 进程一定是执行路径,执行路径不一定是进程
执行路径的分类:
- 用户进程运行于用户态
- 用户进程运行于内核态
- 内核线程运行于内核态(内核线程是没有用户地址空间的特殊线程)(线性地址在0xC0000000~0xFFFFFFFF为内核地址空间,在0x00000000~0xBFFFFFFF为用户地址空间)
- 系统处于中断上下文中
在编译内核的过程中,首先会建立一个名称为include/asm的符号链接,该链接指向目标体系结构在include中的子目录,使得与体系结构无关的内核代码可以使用如下简介的形式来引用与体系结构相关的代码:
#include "linux/asm/xxx.h"
Linux 2.6内核的新特性:
- 新的调度算法
- 新的线程模型
- 支持内核态抢占
内核探索工具:
- lxr
- kscope(安装需要qt库的支持)
- qemu
一些缩写:
- BSP ~ Board Support Package
- initrd ~ initial ramdisk
- GPL ~ General Public License