- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux操作系统内核模块
新乡学院计算机与信息工程学院 实 验 报 告 课程名称 操作系统原理 计算机科学与技术3班2013052701XX 姓 名 XXX 实验成绩 任课教师 XXX 2013年 12月 3日 实验名称 模块A14-322 实验时间 2013年12月 3日 实验目的与要求 实验目的:进一步熟悉linux中模块 实验要求:认真 编写hellomod.c文件代码,代码如下: #includelinux/module.h #includelinux/kernel.h #includelinux/init.h /*头文件 */ static int __init lkp_init(void) /*函数lkp_init ()是模块的初始化函数*/ { printk( 1 Hrllo,World!from the kernel space..\n); /*我们在这里使用了printk()函数,该函数是由内核定义的,功能与C库中的printf()类似,它把要打印的信息输出到终端或系统日志。字符串中的1是输出的级别,表示立即在终端输出*/ return 0; } static void __exit lkp_cleanup(void) /*函数lkp_cleanup ()是模块的退出和清理函数*/ { printk( 1 GoodBye,World!Leaving kernel space...\n); } module_init(lkp_init); /*module_init()向内核注册模块所提供的新功能 */ module_exit(lkp_cleanup); MODULE_LICENSE(GPL); /*内核该模块具有GNU公共许可证 */ 2.编写Makefile文件代码,代码如下: obj-m :=hellomod.o CURRENT_PATH :=$(shell pwd) LINUX_KERNEL :=$(shell uname -r) #Linux内核源代码的当前版本 LINUX_KERNEL_PATH :=/lib/modules/$(shell uname -r)/build #Linux内核源代码的绝对路径 all: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules #编译模块 clean: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean #清理 3、行编译:在list.c和Makefile文件的当前路径执行make命令。得到模块文件。 4、加载模块:依然是在当前路径执行insmod list.ko 5、查看模块列表:执行命令lsmod 6、卸载模块:执行命令rmmod list 7、查看输出信息:执行tail 命令 1. 在模块文件hellomod.c和Makefile当前打开终端,输入make 命令之后,所在的文件会编译出其他文件 [root@localhost 桌面]# make make -C /lib/modules/2.6.32-279.el6.i686/build M=/root/桌面 modules #编译模块 make[1]: Entering directory `/usr/src/kernels/2.6.32-279.el6.i686 Building modules, stage 2. MODPOST 1 modules make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.el6.i686 [root@localhost 桌面]# ls 123 hellomod.c hellomod.ko hellomod.mod.c hellomod.o Makefile modules.order result a.txt~ hellomod.c~ hellomod.ko.unsigned hellomod.mod.o hellomod.txt Makefile~ Module.symvers tools 2. 在运行插入模块insmod 之后,出现执行插入模块操作后,再次查看模块列表就会看到hellomod模块存在。 [root@localhost 桌面]# insmod hellomod.ko [root@localhost 桌面]# lsmod Module
您可能关注的文档
最近下载
- 钢结构吊装专项施工方案(技术方案).doc
- 中国成人念珠菌病诊断与治疗专家共识解读PPT课件.pptx VIP
- 05S804:矩形钢筋混凝土蓄水池.pdf VIP
- 01-泌尿系统疾病总论.ppt VIP
- 物理治疗学神经生理疗法Bobath技术.docx VIP
- Unit 3 My favourite food Lesson 2 Happy birthday, Amber! 单元教学设计 粤教沪外教版英语三年级下册.docx
- Andrews分析法诊断正畸.pptx
- (新课程中小学科学教学设计与案例分析提纲及答案2.doc VIP
- 2025年湖北省遴选面试真题及答案大全解析.docx VIP
- DB11T 1832.15-2022 建筑工程施工工艺规程 第15部分:通风与空调安装工程 conv.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)