文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

linux中内核模块指的是什么

2023-06-29 12:57

关注

本文小编为大家详细介绍“linux中内核模块指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux中内核模块指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

在linux中,内核模块是linux内核向外部提供的一个插口;内核模块具有独立功能的程序,可以被单独编译,但不能独立运行,是一个为内核或者其他内核模块提供使用功能的代码块。

本教程操作环境:linux7.3系统、Dell G3电脑。

linux中什么是内核模块

内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模块机制就是为了弥补这一缺陷。

模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行,这与运行在用户空间的进程是不同的。模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动程序或其他内核上层的功能。

总之,模块是一个为内核(从某种意义上来说,内核也是一个模块)或其他内核模块提供使用功能的代码块。

Linux系统的内核模块是可以根据需要加载到内核中或从内核中卸载的代码块,因此无需重启就可以扩展内核的功能。但是除非用户使用类似 lsmod 这样的命令来查询模块信息,否则用户不太可能知道内核发生的任何变化。

Linux 系统上有很多可用的模块,并且如果深入其中可以了解到很多细节。而Linux系统工具lsmod 的主要用途之一,就是在系统不能正常工作时检查模块。

1、显示内核模块

显示内核模块最简单的方法是使用 lsmod 命令。虽然这个命令包含了很多细节,但输出却是非常用户友好,一般在输出中:

1)Module 显示每个模块的名称

2)Size 显示每个模块的大小,并不是它们占的内存大小

3)Used by 显示每个模块被使用的次数和使用它们的模块

加载的模块数量取决于使用的系统和版本以及正在运行的内容要查看系统中可用的模块数,不止运行当中的,可以使用一下这个操作命令:

1)$ modprobe -c | wc –l

2)41272

2、与内核模块相关的其他命令

Linux 系统提供了几条用于罗列、加载及卸载、测试,以及检查模块状态的命令。

1)depmod —— 生成 modules.dep 和映射文件

2)insmod —— 一个往 Linux 内核插入模块的程序

3)lsmod —— 显示 Linux 内核中模块状态

4)modinfo —— 显示 Linux 内核模块信息

5)modprobe —— 添加或移除 Linux 内核模块

6)rmmod —— 一个从 Linux 内核移除模块的程序

3、显示内置的内核模块

正如前文小编所说,lsmod 命令是显示内核模块最方便的命令。然而,也有其他方式可以显示它们。modules.builtin 文件中列出了所有构建在内核中的模块,在 modprobe 命令尝试添加文件中的模块时会使用它。

用户可以使用modinfo 获得一个模块的更多细节,虽然没有对模块提供的服务的简单说明,也可以使用 modprobe 命令加载或卸载模块。使用下面这条命令,可以找到特定模块关联的内核对象:

1)$ find /lib/modules/$(uname -r) -name floppy*2)/lib/modules/5.0.0-13-generic/kernel/drivers/block/floppy.ko

如果想要加载模块,可以使用这个命令:$ sudo modprobe floppy。

很明显,内核模块的加载和卸载非常重要。它使得 Linux 系统比使用通用内核运行时更加灵活和高效。这同样意味着用户可以进行重大更改而无需重启,例如添加硬件。

读到这里,这篇“linux中内核模块指的是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯