




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级操作系统陈燕晖2020/5/22,Linux2.6KernelModules,高级操作系统陈燕晖2020/5/22,1.Concepts,LKM(LinuxKernelModules)AKA:kernelmodules,modulesmodulesareLinuxsrecipeforeffectivelyachievingmanyofthetheoreticaladvantagesofmicrokernelswithoutintroducingperformancepenalties.Amoduleisanobjectfilewhosecodecanbelinkedto(andunlinkedfrom)thekernelatruntime.,高级操作系统陈燕晖2020/5/22,LKMssharelotsofpropertiesofuserspaceprograms,buttheyaredefinitelyNOTuserspaceprograms!TheyarepartofthekernelTheysharethekernelscodespaceTheycaneasilycrashit,高级操作系统陈燕晖2020/5/22,WhatLKMsareusedfor,DevicedriversCommunicatewithaspecificpieceofhardwareFilesystemdriversInterpretthecontentofafilesystemNetworkdriversInterpretanetworkprotocolTTYlinediscipleExecutableinterpretersLoadandrunanexecutableEverythingthatmakessenseasanLKMhastheoptiontobebuiltthisway,高级操作系统陈燕晖2020/5/22,2Modulesinpratice,#include#includeMODULE_LICENSE(DualBSD/GPL);staticinthello_init(void)printk(KERN_ALERTHello,worldn);return0;staticvoidhello_exit(void)printk(KERN_ALERTGoodbye,cruelworldn);module_init(hello_init);module_exit(hello_exit);,高级操作系统陈燕晖2020/5/22,Makefile,ifneq($(KERNELRELEASE),)obj-m:=hello.oelseKERNELDIR?=/lib/modules/$(shelluname-r)/buildPWD:=$(shellpwd)default:$(MAKE)-C$(KERNELDIR)M=$(PWD)modulesendif,高级操作系统陈燕晖2020/5/22,CompilingandLoading,%makemake1:Enteringdirectory/usr/src/linux-2.6.10CCM/home/ldd3/src/misc-modules/hello.oBuildingmodules,stage2.MODPOSTCC/home/ldd3/src/misc-modules/hello.mod.oLDM/home/ldd3/src/misc-modules/hello.komake1:Leavingdirectory/usr/src/linux-2.6.10%suroot#insmod./hello.koHello,worldroot#rmmodhelloGoodbyecruelworld,高级操作系统陈燕晖2020/5/22,TheKernelSymbolTable,Ausercanlinkamoduleintotherunningkernelbyexecutingtheinsmodexternalprogram.Whenlinkingamodule,allreferencestoglobalkernelsymbols(variablesandfunctions)inthemodulesobjectcodemustbereplacedwithsuitableaddresses.,高级操作系统陈燕晖2020/5/22,Somespecialkernelsymboltablesstorethesymbolsandtheircorrespondingaddressesthatcanbeaccessedbymodules._kstrtab_ksymtab_ksymtab_gpl:forGPL-compatiblelicenseEXPORT_SYMBOL(name);EXPORT_SYMBOL_GPL(name);,高级操作系统陈燕晖2020/5/22,ModuleParameters,TheLinuxkernelallowsdriverstodeclareparametersthattheusercanspecifyoneitherbootormoduleloadandthenhavetheseparametersexposedinyourdriverasglobalvariables.Usage:module_param(name,type,perm);#insmodhellophowmany
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初中信息技术会考考查试题(含答案与解析)
- 2025年动物疫病防治员考试题库及附加答案
- 2025年黔南州龙里县冠山街道播箕村社会招录村干部考试真题(附答案)
- 2025年混凝土搅拌机安全试题(及答案)
- 企业精益生产年度计划制定指南
- 2025年定向士官心理测试题及答案
- 2025年上海成人高考试题及答案
- 2025年裁剪工岗位职业技能资格知识考试题库与答案
- 2025年北京公务员考试(行政职业能力倾向测验)经典试题及答案
- 小区公共设施智能维护平台创新创业项目商业计划书
- 腹股沟疝的护理教学查房
- 甜蜜陷阱:健康吃糖的危害与科学控糖指南
- 青少年心理健康课件
- 腹部超声报告解读
- 中医护理学基础理论测试题(附答案)
- 课件:大别山精神从大别山精神中汲取奋进力量
- 施工现场专职安全生产管理人员安全日志
- 《珍惜时间》心理健康课教学设计
- 减盐防控高血压健康讲座
- 2025年湖北省中考语文试卷真题(含标准答案)
- 患者隐私保护管理制度
评论
0/150
提交评论