红联Linux门户
Linux帮助

Linux的Kernel工作特点

发布时间:2014-09-24 09:42:20来源:linux网站作者:leezqang

Kernel的任务
硬件探测
设备驱动程序的初始化(initrd,模块形式)
挂载根文件系统(以只读方式)
装载/sbin/init 启动系统的PID为1的进程
 

Kernel组成部分

一、kernel
平台架构
设备驱动管理
文件系统
网络相关
内存管理
#uname -r  查看内核版本
   

二、initrd
在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd 文件系统。在 boot loader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd 文件系统中的"某个文件",完成加载驱动模块等任务,第二阶段才会执行真正的根文件系统中的 /sbin/init 进程
cpio-initrd的处理过程 :kernel--->initrd--->根文件系统
相关命令
#zcat /boot/initrd-$(uname -r).img | cpio -id   将当前系统(内核版本2.6以上)的initrd文件展开
# find . | cpio -o -H newc --quiet | gzip -9 > ../initrd.gz  重新制作initrd文件
 

三、功能模块
/lib/modules/`uname -r`/
Linux的kernel是动态可装载的单内核系统 这使得kernel本身体积小,当需要完成某个功能时,就装载此功能模块
与模块相关命令:
#lsmod  查看已经装载的模块
手动装载和卸载模块
#modprobe MODULE  装载
#modprobe -r MODULE  卸载            
             
#insmod /path/MODULE  插入模块
#rmmod  MODULE  移除模块     

查看模块的信息
#modeinfo   MODULE
#depmod