[发明专利]一种基于编译选项的Linux内核模块关系提取方法有效

专利信息
申请号: 201310746159.3 申请日: 2013-12-30
公开(公告)号: CN103699389B 公开(公告)日: 2016-11-16
发明(设计)人: 荆琦 申请(专利权)人: 北京大学
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 余长江
地址: 100871 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 编译 选项 linux 内核 模块 关系 提取 方法
【说明书】:

技术领域

发明属于Linux内核的源码分析领域,涉及一种基于编译选项的Linux内核模块关系提取方法,主要应用在分析Linux各版本内核源码过程中,使使用者可以尽快了解Linux内核的架构与关系。

背景技术

Linux内核交互式图解软件是基于Linux内核源码,以编译选项为核心,来分析和梳理内核各级(目录级、编译选项级、文件级和函数、变量级)层次之间关系的,并通过矢量图,来清晰明确地展示内核架构和关系。

Linux操作系统以其开源源码、高性能和高可靠性等诸多优势在商业服务器和个人桌面系统中得到日益广泛的应用。近年来,随着Linux内核的不断发展和完善,内核变得日趋庞大,想深入了解其模块的划分以及各个模块的功能机制,也变得相对困难。同时,Linux内核的可定制性也是非常高的,它有着数以万计的编译配置选项,针对于不同的需求可以进行相应的配置。但是,这么大数目的编译配置选项也正是问题的所在,不管是初学者,还是内核的精通者,都无法保证能了解到每个编译配置选项处于内核的哪个大模块中,以及编译选项配置所涉及的文件等等。

因此,我们需要一种工具,能够帮助我们有效地了解和学习庞大的Linux内核源码。并可以随着Linux版本的变迁,能够快速的进行更新。目前相关的软件和工具Doxygen。

Doxygen是一种开源跨平台的,以类似Java Doc风格描述的文档系统,完全支持C语言语法的分析。通过Doxygen,我们可以对Linux源码进行分析,并生成相关的函数调用图。然而,Doxygen存在着明显的缺点。第一,它的安装配置相对较为复杂,要生成Linux源码的所有函数关系图,需要很长的时间。第二,它无法从宏观上给出Linux源码的架构图,很难让使用者从宏观上对Linux有直观的了解。

但是,通过我们的发明,可以有效的解决上述问题。从而使得使用者可以从多方面认识和学习内核源码。

发明内容

针对现有技术存在的技术问题,本发明的目的在于提供一种基于编译选项的Linux内核模块关系提取方法。

本发明的技术方案为:

一种基于编译选项的Linux内核模块关系提取方法,其步骤为:

1)将内核源代码根据其功能及逻辑关系进行划分,形成虚目录;

2)对Linux内核实目录下每一个Kconfig文件进行语法分析,识别出所有的编译选项;然后对同目录下的编译文件进行语法分析,解析出每个编译选项所需的源码文件;

3)根据划分好的虚目录,以源码文件作为中介,将编译选项划分到相应的虚目录中;

4)对每一源码文件进行正则分析,得到源码文件中定义的函数以及变量;

5)对每一函数的具体实现源码进行解析,提取出函数之间的调用关系;对每一变量的具体实现源码进行解析,提取出变量之间的调用关系;

6)根据上述获取的虚目录与编译选项之间的包含关系、编译选项与源码文件之间的包含关系、源码文件与函数或变量之间的包含关系,以及函数之间的调用关系、变量之间的调用关系构建出Linux内核组织架构。

进一步的,根据函数之间的调用关系、变量之间的调用关系获取到编译选项之间的依赖关系。

进一步的,采用php语言读取虚目录与编译选项之间的包含关系、编译选项与源码文件之间的包含关系、源码文件与函数或变量之间的包含关系,以及函数之间的调用关系、变量之间的调用关系;然后调用raphael插件和jquery库来在网页上渲染出相应的Linux内核组织架构图。

进一步的,当在所述Linux内核组织架构图上选取某一编译选项时,根据该编译选项的名称查询该编译选项所包含的源码文件,并返回给前台界面。

进一步的,当在所述Linux内核组织架构图上选取某一源码文件时,根据该文件在源码目录下的路径名搜索该文件中定义的函数和变量,并返回给前台。

进一步的,当在所述Linux内核组织架构图上选取一函数时,根据该函数的函数名和文件路径查询该函数所依赖的函数,发送给前台并画出对应的矢量图。

进一步的,根据内核源代码的功能及逻辑关系划分虚目录,并建立源码文件在虚目录下的全路径与内核源码中全路径的一一对应关系。

进一步的,所述虚目录包括:进程管理,内存管理,系统运行,文件系统,网络模块,安全模块,设备管理和虚拟化。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310746159.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top