网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 网站优化 » 正文

【原创】linux 了解内核模块的原理 《Rice linux 学习开发

2019-7-28 21:12:47 | 作者:老铁SEO | 0个评论 | 人浏览

  原标题:【原创】linux 了解内核模块的原理 《Rice linux 学习开发》

  Linux内核是整体性结构,各个子系统紧密联系,上接用户控件,下接硬件,作为一个大程序在内核控件运行。

  如果将所有的设备驱动和内核功能都集成在内核中,则内核会不断的庞大,对我们的内核裁剪也会带来更大的挑战,为了解决这个问题,Linux内核引入内核模块机制,通过动态加载内核模块,从而实现在运行过程中扩展内核的功能。

  1 内核模块是一种没有经过链接,不能独立运行的目标文件,是在内核空间中运行的程序。经过链接装载到内核里面成为内核的一部分,可以访问内核的公用符号(函数和变量)。

  2 内核模块可以让操作系统内核在需要时载入和执行,在不需要时由操作系统卸载。它们扩展了操作系统内核的功能却不需要重新启动系统。

  3 如果没有内核模块,我们不得不一次又一次重新编译生成单内核操作系统的内核镜像来加入新的功能。这还意味着一个臃肿的内核。

  3 模块的目标代码一旦被链入内核,作用和静态链接的内核目标代码完全等价。

  内核模块证书:2.4内核后,引入识别代码是否在GPL许可下发布的机制 。在使用非公开的源代码产品时会得到警告。通过宏MODULE_LICENSE(“GPL”),设置模块遵守GPL证书,取消警告信息。

  管理模块源码方法:① 模块源码加入到内核源码树中。② 模块源码饭仔内核源码树之外。

  3、当终端执行make clean时,会运行下面两条命令,将编译生成的文件删除

  本文作者:饭仔DIY,工作之余喜欢电子DIY,开源分享是我写文章的动力,互相学习才能让自己不断强大。

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:linux学习网站  
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。