【hwmon】内核子系统

内核模块(Loadable Kernel Module)
在这里插入图片描述

宏内核与微内核
微内核操作系统的核心部分是一个很小的内核,实现一些最基本的服务,如创建和删除进程、内存管理、中断管理等等。而文件系统、网络协议等其它部分都在微内核外的用户空间里运行。

微内核操作系统具有很好的可扩展性而且内核非常的小,但由于不同层次之间的消息传递要花费一定的代价所以效率比较低。宏内核操作系统的模块都集成在一起,系统的速度和性能都很好,但是可扩展性和维护性就相对比较差。

linux LKM
为了改善宏内核结构的可扩展性、可维护性等,Linux使用了一种内核模块机制。用户可以根据需要,在不用对内核重新编译的情况下,将模块动态地装入内核或从内核移出。模块是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是其代码可以在运行时链接到系统中作为内核的一部分运行或从内核中取下。这种目标代码通常由一组数据结构组成,用来实现一种文件系统,一个驱动程序,或其它内核上层的功能。模块机制的完整名称是可加载内核模块(Loadable Kernel Module)或 LKM,一般简称为模块。与前面讲到的运行在微内核体系操作系统的外部用户空间的进程不同,模块不是作为一个进程执行的,而像其他静态连接的内核函数一样,它在内核态代表用户空间进程执行。由于引入了模块机制,Linux的内核可以达到最小,即内核中实现一些基本功能,如从模块到内核的接口,内核管理所有模块的方式等等,而系统的可扩展性就留给模块来完成。

拓展
Linux hwmon子系统分析之二 hwmon driver开发实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一如既往の

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值