当前位置: 首页 > news >正文

建设个人网页登陆网站wap网站建设流程

建设个人网页登陆网站,wap网站建设流程,网站建设电话销售技巧,安全舆情监测平台基础知识 模块是一种向Linux内核添加设备驱动程序、文件系统及其他组件的有效方法#xff0c;不需要编译新内核 优点 通过使用模块#xff0c;内核发布者能够预先编译大量驱动程序#xff0c;而不会致使内核映像的尺寸发生膨胀。内核开发者可以将实验性的代码打包到模块中不需要编译新内核 优点 通过使用模块内核发布者能够预先编译大量驱动程序而不会致使内核映像的尺寸发生膨胀。内核开发者可以将实验性的代码打包到模块中模块可以卸载修改代码或重新打包后可以重新装载。 添加和删除 从用户角度来看模块可以通过两个不同的系统程序添加到运行内核中。他们分别是modprobe和insmod。modprobe在识别出目标模块所依赖的模块后在内核也会使用insmod再用户空间队模块的处理也是基于insmod。在处理系统调用的时候模块代码首先复制到内核内存中。接下来是重定位工作和解决模块中为定义的引用。因为模块使用了持久编译到内核中的函数在模块本身编译时无法确定这些函数的地址所以需要再这里处理为定义的引用。处理未解决的引用为与内核的剩余部分协作模块必须使用内核提供的函数。这些可能是通用的辅助函数比如几乎内核每一部分都会使用的printk或者kmalloc。很明显这些函数定义在内核的基础代码中因而已经家在到内存。但是如何找到与相关函数名匹配的地址以便解决这些引用呢为此内核提供了一个导出所有函数的列表。该列表给出了所有导出函数的内存地址和对应函数名可以通过proc文件系统访问即文件/proc/kallsyms。 向内核添加模块时需要考虑下列相关问题 内核提供的函数符号表可以在模块加载时动态扩展其长度。如果模块之间相互依赖那么向内核添加模块的顺序很重要。 插入和删除模块 用户空间工具和内核的模块实现之间的接口包括两个系统调用。 init_module将一个新模块插入到内核中。用户空间工具只需提供二进制数据。所有其他工作特别是重定位和解决引用由内核自身完成。 delete_module从内核移除一个模块。当然前提是该模块的代码不再使用并且其他模块不再使用该模块导出的函数。 还有一个request_module函数不是系统调用用于从内核端加载模块。它不仅用于加载模块还用于实现热插拔功能。 模块的表示 在详细讲解模块相关函数实现之前有必要解释如何在内核中表示模块及其属性。首先需要定义一组数据结构。首先需要定义一组数据结构。其中module是最重要的数据结构。内核中驻留的每个模块都分配了该结构的一个实例。其定义如下 state表示模块当前的状态可以从枚举类型moudule_state取值。 syms、num_syms和crc用于管理模块导出的符号。syms是一个数组有num_syms个数组项数组项类型为kernel_symbol负责将标识符name分配到内存地址value 依赖关系和引用 如果模块B依赖模块A提供的函数那么模块A和模块B之间就存在关系。可以用两种不同的方式来看这种关系。 模块B依赖模块A除非模块A已经驻留在内核内存否则模块B无法加载。模块B引用模块A换句话说除非模块B已经移除否贼模块A无法从内核中移除。事实上条件应该是所有引用模块A的模块都已经从内核移除。在内核中这种关系称之为模块B使用模块A。为了正确管理这些依赖关系内核需要引入另一个数据结构 模块的二进制结构 生成模块的三个步骤 首先模块源代码中的所有c文件都编译为普通的.o文件。在为所有模块产生目标文件后内核可以分析他们。找到的附加信息例如模块依赖关系保存在一个独立的文件中也编译为一个二进制文件。将前述两个步骤的二进制文件链接起来生成最终的模块。 初始化及清理函数 init.h中的module_init和module_exit宏用于定义init函数和exit函数。 导出符号 内核为导出符号提供了两个宏EXPORT_SYMBOL和EXPORT_SYMBOL_GPL。顾名思义二者分别用于一般的导出符号和只用于GPL兼容代码和导出符号。同样其目的在于将相应的符号放置到模块二进制映像的适当段中。 一般模块信息 模块许可证、开发者和描述、备选名称、基本版本控制 插入模块 init_module系统调用是用户空间和内核之间用于装载新模块的接口 插入模块 init_module系统调用是用户空间和内核之间用于装载新模块的接口通过load_module函数将二进制数据传输到内核地址空间中。具体源码如下 删除模块 从内核删除模块比插入模块简单的多系统调用delete_module函数实现移除模块。具体源码如下
http://www.hkea.cn/news/14276987/

相关文章:

  • 论坛网站建设教程用ps做网站的首页
  • 高端网站建设必去磐石网络网站降权怎么救
  • 长沙做网站建设公司摄影网站官网大全
  • 为什么推荐企业做网站wordpress百度收录插件
  • 家庭宽带做网站服务器吗房地产集团网站模板
  • 金猪云高端网站建设wordpress技术服务
  • 外贸网站怎么规划东莞教育建站
  • 嘉兴城乡建设局门户网站长春火车站到长春机场大巴时刻表
  • 网站建设的背景阿里云免备案服务器
  • 余姚市网站建设网站后台上传图片做难吗?
  • 湖州网站推广监理工程师
  • 网站建设平ppt江苏建筑网站
  • 请人做外贸网站应注意什么李沧网站建设谁家好
  • 数码网站名浅析网站域名在搜索引擎排名中的作用
  • 域名与网站名称的关系网站开发组
  • 济南seo网站排名优化工具2015微信网站开发
  • 域名申请通过了网站怎么做wordpress点击量最多的文章
  • 英语网站排名鄞州区网站建设
  • 做运营需要知道素材网站郑州网站建设seo
  • 怎么开通个人网站广州好的网站设计公司
  • 石家庄建设局官方网站青海住房建设厅网站
  • 网站建设周期规划移动端下拉框价威cj111602推广
  • 上海工程建设安全协会网站学校建设网站报告书
  • 企业网站设计说明哪些网站是503错误代码
  • 网站链接数网站后台 生成所有页面
  • 布吉企业网站建设编程培训费用
  • 黑色风格网站主页面wordpress如何链接地址
  • 迈创网站建设wordpress多媒体路径
  • 怎么做会员自动售卡网站遵义门户网站
  • 重庆 手机网站制作南京需要做网站的公司