您的位置:首页 > 数据 >
Module简介 module的编写方法-每日速看
来源:CSDN 2022-12-21 14:59:36

模块(module)是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。模块最主要的用处就是用来实现设备驱动程序。使用模块的优点: 1,将来修改内核时,不必全部重新编译整个内核,可节省不少时间 ;2,系统中如果需要使用新模块,不必重新编译内核,只要插入相应的模块即可。这两点对于内核开发尤为有用,那么下面我们就简单学习以下module的编写方法。以一个完整的“Hello word”模块为例。


(资料图片仅供参考)

首先实现的是具体的代码部分:

这个模块中定义了两个函数,其中hello_init在模块装载到内核时调用,而hello_exit在模块被移除时调用。module_init与module_exit使用了内核特殊宏来表示上述两个函数说扮演的角色。而MODULE_LICENSE用来告诉内核该模块所采用的自由许可证。

有了代码后我们还需要将其编译成模块,这个时候就需要用到Makefile,Makefile的具体内容如下:

Makefile中内容的含下次学习,将两个文件放到同一个目录下,执行make命令,执行完后就会生成一个ko文件,这个ko文件就是我们需的module。

有了这个ko,我们就可以将其加载到Linux内核中了,不过需要注意的是,加载与卸载内核模块都需要使用root权限。

加载内核使用的是insmod命令:

一般情况下,没异常打印就表示加载成功了,但为了确认我们可以使用lsmod命令查看内核中已加载的module:

通过这个命令我们果断看到了我们所希望的helloModule这个模块。此时我们就可以通过modinfo这个命令查看到这个module的信息了:

那如果此时我们不再需要这个模块了我们则可以通过rmmod这个命令将其从内核中卸载:

但我们发现无论加载还是卸载模块,我们都没有看到printk中的打印,这主要是printk会根据日志打印级别来决定时候把消息打印到当前控制台上,决定的因素是日志级别时候小于console_loglevel值,那我们是不是就无法看到这个打印了吗,当然不是,我们可以通过dmesg查看到:

这里由于我实上次,所以我们看到了上次打印。

关键词:
相关文章
12月第一周宁夏煤炭价格继续持平-环球新动态

12月第一周宁夏煤炭价格继续持平-环球新动态

  商务部重要生产资料市场监测系统数据显示,上周(11月28日-12月4日),宁夏煤炭价格132667元吨,持平,其中无烟煤、动力煤、炼焦煤均持平更多

2022-12-21 09:56:42
12月第二周广东省煤炭价格小幅上涨

12月第二周广东省煤炭价格小幅上涨

  据广东省重要生产资料市场监测系统显示,上周(12月5日至12月11日),广东省煤炭均价1523元吨,环比上涨66%。原因分析:当前煤炭产能受控更多

2022-12-21 10:17:52
12月第一周云南省煤炭价格环比略涨-头条焦点

12月第一周云南省煤炭价格环比略涨-头条焦点

  据商务部重要生产资料市场监测系统显示,上周(2022年11月28日-12月4日),云南省煤炭均价为14244元吨,环比上涨02%。其中,动力煤均价83更多

2022-12-21 10:04:04
11月份山西煤炭价格整体下跌

11月份山西煤炭价格整体下跌

  监测系统数据显示:11月份山西煤炭价格整体下跌。煤炭平均价格为128685元吨,环比下跌15%。其中:无烟煤2号洗选块煤平均价格为15742元吨,更多

2022-12-21 10:13:42
需求偏弱 煤炭市场难言支撑

需求偏弱 煤炭市场难言支撑

  近期市场情况综述  产地市场近期价格小幅回落,榆林地区回落相对明显。供应端主产区整体维持正常生产,汽运运力也较为充足,发改委要求更多

2022-12-21 10:10:35
胜利能源煤炭产销逾2600万吨创历史新高

胜利能源煤炭产销逾2600万吨创历史新高

  截至12月15日,国家能源集团胜利能源煤炭产销年累计完成26003万吨,同比增长1904万吨,创历史新高,提前16天完成全年煤炭产销任务。  今更多

2022-12-21 09:17:40
青海省推动疫情防控期间煤电油气稳定供应-要闻速递

青海省推动疫情防控期间煤电油气稳定供应-要闻速

  青海省发改委消息,10月下旬以来,省内多地出现新冠肺炎疫情,正值迎峰度冬能源保供的关键时期,省发展改革委积极协调相关部门、企业努力更多

2022-12-21 09:17:23
榆林市发改委:预计12月煤价或将在窄幅区间小幅波动-世界新消息

榆林市发改委:预计12月煤价或将在窄幅区间小幅波

  榆林市发改委消息,11月份全市动力煤市场交投活跃度不高,产地局部地区窄幅上下调整,其中陕蒙市场涨跌互现,港口市场则承压下行,与上月更多

2022-12-21 09:00:00
新朔铁路货物煤炭运量均破1.5亿吨大关-天天观速讯

新朔铁路货物煤炭运量均破1.5亿吨大关-天天观速讯

  截至12月15日,国家能源集团新朔铁路年累计货物发运量达151094万吨,其中煤炭发运量150024万吨,货物、煤炭运量均突破15亿吨大关,能源保更多

2022-12-20 10:04:39
山西:强煤矿装备 固安全根基-全球信息

山西:强煤矿装备 固安全根基-全球信息

  记者近日从国家矿山安监局山西局了解到,山西省严格落实强装备、夯基础的工作要求,推广先进适用装备,淘汰落后技术装备,提升了煤矿本质更多

2022-12-20 09:58:52