在上一期中,我们介绍了如何查看Linux内核中各个模块之间的依赖关系,这一期我们将介绍一下根据模块的依赖关系如何绘制模块依赖图。

一、使用freemind绘制模块依赖图

Freemind是一款常用的思维导图绘制软件,可以使用freemind来绘制模块依赖图。在Ubuntu 16.04环境下运行命令:sudo  snap install freemind安装freemind。然后输入freemind可以打开freemind:

我们用一个简单的例子来介绍如何使用freemind软件。打开/lib/modules/4.19.94/modules.dep文件,搜索ip_tables我们可以看到如下图所示的依赖关系:

 从上图可以看出,ip_tables模块依赖x_tables模块;iptable_filter模块依赖ip_tables模块和x_tables模块。为了表示这个依赖关系,首先我们在图中加入iptable_filter节点:

然后通过insert菜单下面的New Child Node选项为iptable_filter节点增加子节点ip_tables:

为了使节点更加明显,我们可以右击ip_tables节点并在format一栏中将节点的格式设置为Bubble。用同样的方法我们可以为ip_tables节点增加子节点x_tables,表示ip_tables模块依赖于x_tables模块。

由于iptable_filter模块也依赖于x_tables模块,因此我们也需要增加一条从iptable_filter模块指向x_tables模块的边。方法为:选中x_tables模块和iptable_filter模块,然后按Ctrl+L。到这里,我们构建了一个关于iptable_filter、ip_tables和x_tables模块的简单依赖关系图。

二、结语

本期我们介绍了根据模块依赖关系使用freemind绘制模块依赖图的方法,下一期我们将介绍Linux内核分布式编译环境的搭建方法。

【华为云技术分享】Linux内核模块依赖图绘制(2)相关推荐

  1. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  2. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  3. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  4. 【华为云技术分享】Linux内核的分布式编译(1)

    上一期中我们介绍了Linux内核模块依赖图的绘制方法,这一期中我们将介绍Linux内核的分布式编译方法和分布式编译工具distcc的安装过程. 一.Linux内核的分布式编译 分布式编译是指将源程序通 ...

  5. 【华为云技术分享】直播回顾丨激发数据裂变新动能,HDC.Cloud云数据库前沿技术解读

    3月24日14:00-17:00,HDC.Cloud开发者沙龙系列云数据库专场直播线上开启,此次华为云数据库通过三场直播从NoSQL数据库新技术.数据库迁移.行业解决方案等方面对云端数据库进行深度解读 ...

  6. Linux入侵痕迹检测方案【华为云技术分享】

    背景说明 扫描是一切入侵的基础,通过扫描来发现目标主机是否为活动主机.操作系统是什么版本.开放了哪些服务等.扫描技术纷繁复杂,新的扫描技术也层出不穷,不可能穷举所有扫描技术,下面按入侵步骤对主机扫描. ...

  7. 【华为云技术分享】【开发记录】Linux服务器维护常用命令(二)

    在Linux系统维护的过程中,随时可能有需要查看 CPU和内存的使用率.对于服务器的性能维护和分析,我们需要使用到一些基本的命令.会根据实际的应用需要,不断的更新内容. 一.查看系统整体的负载(top ...

  8. linux下的go富集分析,GO富集分析示例【华为云技术分享】

    GO是Gene Ontology的简称,是基因功能国际标准分类体系.它旨在建立一个适用于各种物种的,对基因和蛋白质功能进行限定和描述的,并能随着研究不断深入而更新的语言词汇标准.GO分为分子功能(Mo ...

  9. 【华为云技术分享】在 K8S 大规模场景下 Service 性能如何优化?

    摘要:Kubernetes 原生的 Service 负载均衡基于 Iptables 实现,其规则链会随 Service 的数量呈线性增长,在大规模场景下对 Service 性能影响严重.本文分享了华为 ...

  10. 【华为云技术分享】前端工程师必备:从浏览器的渲染到性能优化

    摘要:本文主要讲谈及浏览器的渲染原理.流程以及相关的性能问题. 问题前瞻 1. 为什么css需要放在头部?2. js为什么要放在body后面?3. 图片的加载和渲染会阻塞页面DOM构建吗?4. dom ...

最新文章

  1. Unity iPhone Touch Animation Tutorial,untiy3d iphone简单动画开发教程
  2. 6,ORM组件XCode(撬动千万级数据)
  3. windows编程一日一练(3)
  4. spectral安装
  5. 12种食物最养男人 10种食物最养女人 太值得收藏了
  6. 别人叫我程序猿,我称自己攻城狮。没日没夜写代码,不知何日涨工资?
  7. Java Hashtable rehash()方法与示例
  8. 算法(八):图解KNN算法
  9. c语言八数码A星算法代码解析,八数码问题c语言a星算法详细实验报告含代码解析...
  10. 8086cpu学习笔记(3):寻址方式
  11. HTTP、SSL/TSL、HTTPS、TCP、UDP
  12. 蚂蚁金服副总裁刘伟光:浅析银行数字化转型之二「打造金融敏捷中心」
  13. pr预设导入安装教程,prfpset文件怎么导入pr?
  14. Proteus,keil5仿真运行stm32程序,流水灯详细教程
  15. 软件测试基础理论-测试用例
  16. MATLAB随机森林回归模型
  17. 热烈庆祝下Air2.0版Rock506Dock beta1.0上线~
  18. 苹果5壁纸_元气壁纸软件-元气壁纸安卓版下载v1.0.2
  19. id3 c4.5 cart之间区别
  20. 发货单表格用什么软件做

热门文章

  1. VERP中建立集合collection
  2. php限制只能中文,php如何实现一个账号只能有一个人登录
  3. c语言图片base64编码,C语言实现Base64编码
  4. java ftp模糊查询_前端js模糊搜索(模糊查询)
  5. c语言打开文件出现分段故障,c fclose() 导致分段故障_segmentation-fault_开发99编程知识库...
  6. c++堆栈溢出怎么解决_StackOverFlowError 常见原因及解决方法
  7. java 双声道音频_Android 播放音频如何实现双声道效果
  8. Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.4.4 延迟初始化的bean...
  9. oracle基础知识过一遍(原创)
  10. 2013 年亚洲赛杭州赛区卡题总结