Linux kernel(内核)
Kernel是操作系统的核心,掌控着所有硬件设备的控制权。
内核就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的检测程序与驱动模块,在系统启动流程中,我们知道当系统读完BIOS并加载MBR的Boot Loader之后,就能够加载内核到内存中,然后去检测硬件设备,挂载根目录来获取内核模块来驱动所有的硬件设备,之后就开始会叫/sbin/init进程来完成系统的启动,同时内核文件就是/boot目录下一个以vmlinuz开头的文件,有时我们会发现/boot目录下好几个以vmlinum开头的文件,也就是说主机上可以有多个内核,但是启动时仅能选择一个来加载,所以说linux系统是单内核,模块儿化体系。
一 . 内核模块存放的位置
/lib/modules/$(uname -r)/kernel
[root@centos6 ~]# uname –r 内核的release 号
2.6.32-696.el6.x86_64
[root@centos6 ~]# uname –n 主机名
centos6.9
[root@centos6 ~]# uname –a 显示所有的信息
Linux centos6.9 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
-
内核模块管理
-
查看当前内核已经装载的模块
方法一:lsmod 命令
[root@centos6 ~]# lsmod Module Size Used by tcp_diag 1041 0 inet_diag 9430 1 tcp_diag nls_utf8 1455 1 fuse 79892 2 autofs4 27000 3 8021q 20475 0 garp 7152 1 8021q stp 2218 1 garp ………………………………………………………………………
-
方法二:查看内核模块的文件 cat /etc/modules
[root@centos6 ~]# cat /proc/modules tcp_diag 1041 0 - Live 0xffffffffa05b8000 inet_diag 9430 1 tcp_diag, Live 0xffffffffa05b2000 nls_utf8 1455 1 - Live 0xffffffffa05ae000 fuse 798
-