Linux详解(内核和伪文件系统)

内核简介

一、内核设计流派

  • 单内核设计:把所有功能集成于同一个程序(Linux)
  • 微内核设计:每种功能使用一个单独的子系统实现(Windows、Solaris)

二、内核功能

内核的主要功能包括进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能。

三、内核特点

Linux 虽是单内核设计,但充分借鉴了微内核体系的设计的优点;为内核引入了模块化机制。

  • 支持模块化 (.ko:kernel object,内核对象)
    例如:文件系统、硬件驱动、网络协议等。
  • 支持模块运行时动态装载或卸载

内核组成部分

内核组成部分包括:内核核心、内核模块和辅助文件系统(非必须)。内核模块与内核核心版本一定要严格匹配。

下面就对内核组成部分进行介绍。

一、内核核心

内核核心(kernel),一般为 bzImage,通常位于 /boot 目录,名称为 vmlinuz-VERSION-release 。
系统启动后,内核文件已经加载完成,即使你对内核文件进行修改,也不会对当前系统产生任何影响,除非重启或者打补丁。(CentOS 4 以后的版本支持打补丁进行滚动升级)

二、内核模块

内核模块(kernel object,内核对象),一般放置于 /lib/modules/VERSION-release/ 。
有如下特点:

  • 不管是32位系统还是64位系统,都是放在lib目录下
  • 便于第三方厂商编写硬件驱动模块
  • 支持动态装载和卸载
  • 自己编译内核时,有以下三种选择:
[ ]:N       # 不要此内核模块,为空
[M]:Module  # 编译为内核模块,用时再进行编译,只占用硬盘空间,不占用内存空间 
[*]:Y       # 编译进内核核心,
[root@LeeMumu ~]# ls /lib/modules/3.10.0-957.21.3.el7.x86_64/
build              modules.builtin      modules.modesetting  source
extra              modules.builtin.bin  modules.networking   updates
kernel             modules.dep          modules.order        vdso
modules.alias      modules.dep.bin      modules.softdep      weak-updates
modules.alias.bin  modules.devname      modules.symbols
modules.block      modules.drm          modules.symbols.bin

三、ramdisk

ramdisk 是辅助性文件,并非必须,这取决于内核是否能直接驱动 rootfs 所在的设备。
非必须的原因是因为如果能是把硬盘驱动程序加载到内核里,就不需要创建临时文件系统。
ramdisk 可以理解为一个简装版的根文件系统。

ramdisk 可加载的驱动包括:

  • 目标设备驱动,例如 SCSI 设备的驱动
  • 逻辑设备驱动,例如 LVM 设备的驱动
  • 文件系统,例如 xfs 文件系统

内核信息获取

可使用命令 uname 进行内核信息获取,格式和选项如下:

uname:- print system information
命令格式:uname [OPTION]...
				-r:内核的release号,发行号
				-n:主机名
				-v:编译版本号
				-a:显示所有信息
[root@LeeMumu ~]# uname -r
3.10.0-957.21.3.el7.x86_64
[root@
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值