内核空间+用户空间
通过
系统调用和硬件中断完成从用户空间到内核空间的转移
内核七大组成
SCI: 为用户空间提供
标准的系统调用函数
PM: 进程调度(fork, exec, kill, exit, 通信)
MM: 内存管理
VFS: 为文件操作提供统一的接口
Network Stack: 网络协议栈
Arch: 特定的CPU体系架构
DD: 设备驱动
编译内核
1 清理
make clean 清除生成的文件, 但保存配置
make mrproper 清除生成的文件和配置
make distclean mrproper+删除编辑器的bak文件和补丁文件
2 确定目标系统的软硬件配置
3 配置内核
make config 文本模式
make menuconfig 菜单模式
make oldconfig 文本模式配置新特性
make xconfig 图形化配置
4 编译内核
make zImage
make bzImage
区别: 在X86平台, zImage只能用于小于512K的内核
编译选项为*的文件
编译好的内核位于arch/<cpu>/boot/目录下
本机正在运行的内核的配置文件是/boot/config-版本.el5
5 编译内核模块
make modules
编译选项为m的文件
6 安装内核模块
make modules_install
将编译好的内核模块复制到/lib/modules下
7 制作int ramdisk
mkinitrd initrd-$version $version
例如:
mkinitrd initrd-2.6.29 2.6.29
$version可以到/lib/modules下的目录得到
内核安装(X86平台)
1 cp arch/x86/boot/bzImage /boot/vmlinuz=$version
2 cp $initrd /boot/
3 修改/etc/grub.config