序言:

我将下面这些优秀的流程图和逻辑图分为四大类,并简单分析了其中的画图思想和优点。最后列举了一些反例。大家若是需要画其中某一类的图,可以套用着画。所有的图片来自极客时间的《趣谈Linux操作系统》和小林coding的《图解系统》、《图解网络》。

一、单者执行任务的时序图

1、学习linux操作系统爬坡路线图

  1. 斜向上的箭头表示逐步进阶。
  2. 两种颜色的方框区分填写每个阶段的目标和需要的辅助书。
  3. 起点和终点的两个小人表示进阶前后的变化。

2. 父进程创建子进程图

  1. 简单的文字在流程图旁做解释。
  2. 方框把两种流程图框柱,并用虚线框框住复制出来的进程。

3. CPU访问内存数据

1、 藕粉色表示此方框是目的,蓝色方框表示步骤、黄色的菱形表示判断。
2、 多个不同判断返回同一个步骤时,用长一点的横线接收各个返回值。

4. 系统启动加载图

  1. 箭头表示时间线。
  2. 虚扇形扩展出某一部分具体包含的内容。

5. 64位系统调用执行图

  1. 不同颜色的长方形框表示不同的函数,并从上到下依次排列。
  2. 简短的文字解释每个函数做了什么。
  3. 白色小方框框住每个函数中的参数名称。
  4. 若干个白色小方框组成一个数组。
  5. 虚线箭头连接不同函数中对应的参数。

6. Mutex使用流程

  1. 用简短的文字解释每一步。
  2. 若需要函数名,在旁边标明。

7. 进程执行任务图

  1. 若干个小方框和箭头表示执行任务流程。
  2. 在流程上面用大方框框住执行任务的进程。
  3. 虚线连接对应任务和线程。
  4. 横线将用户态和内核态隔开。

8. 规划虚拟空间图

  1. 若干个小格子框住项目组使用的内存空间。注意中间不用箭头,显得更紧凑。

9. fork系统调用 - 复制task_struct结构、唤醒新创建的子进程图。

  1. 在主线上用横线拉出来创造支线,表示层层递进。




10、虚拟内存的管理图

1、 No后面还可以加“CPU发送缺页中断请求”文字,不一定非要遵守规则,简洁易懂为主。

11、网络包发送的流程

1、从上到下、再从下到上,形象的描述网络包传输途径的层。

12、发送报文时,data指针的移动过程

1、6副图描述了每个阶段,数据的状态。

二、两者配合执行任务的时序图

1. CPU和内存配合图

  1. 白色的无倒角的方框表示指令和数据,并用虚线区分不同数据部分。
  2. 简短的文字解释方框含义。

    1、若干箭头形成一个圈,表示循环。
    2、上图有具体的指令和数据描述,比下图更直观。

2. 进程从代码代码到二进制过程图

图片解释:首先通过图右边的文件编译过程,生成 so 文件和可执行文件,放在硬盘上。下图左边的用户态的进程 A 执行 fork,创建进程 B,在进程 B 的处理逻辑中,执行 exec 系列系统调用。这个系统调用会通过 load_elf_binary 方法,将刚才生成的可执行文件,加载到进程 B 的内存中执行。
  1. 将过程分为两个部分:生成可执行文件(右图)、加载可执行文件到内存(左图)。
  2. 数据库框框住最终生成的二进制文件,二进制文件中的不同部分用横线隔开。
  3. 虚线扇形进一步扩展出某个具体部分。
  4. 花括号和简短文字解释文件内容。

3. 两个线程获取互斥锁图

1、线程下面的长方形条状框表示时间轴,内核下面的若干长方形框表示每次获取的互斥锁。
2、黑色文字描述获取锁,绿色文字描述成功获取锁,红色文字描述获取失败。蓝色文字描述执行任务,紫色文字描述线程阻塞中。

类似:
没有DMA技术之前的I/O过程图


使用DMA控制器的I/O过程图

重定向图:

重定向的⼯作交由代理服务器图:

客户端和服务端的三次握手图

4、缺页中断的处理流程

1、序号和简短文字描述每个步骤。
2、简单的文字和图形表示每个步骤的发起者。
3、箭头表示流程走向。


类似:DMA 的⼯作⽅式图

5、中断处理程序图

1、 箭头表示时间轴
2、在箭头的某些节点下拉出箭头,描述此时刻执行的流程。

6、TCP 流量控制图

1、每一阶段都用具体的图展示数据的状态。

类似:
SSL/TLS的握手阶段

三、不同流程对比图

1. 进程权限图

  1. 在箭头上画√和×,表示此流程不能执行。
  2. 不同流程上下拼在一起。
  3. 差一个解释。

四、系统组成图

1、操作系统结构和公司体系结构类比图

  1. 两种颜色和上下两个部分区分操作系统内核体系结构和公司体系结构。
  2. 立体框代表体系的各个组成部分,平面框代表解释的意思。

2. 操作系统内核体系结构图

  1. 不同颜色方框表示各个子系统。
  2. 连线描述各个子系统之间的调用关系。
  3. 大方框里的白色小方框表示子系统的关键组成部分。

3. 计算机硬件通信图

1、若有多个设备都要公用一条通信线,则将这条线画长一点。

4、分段机制的原理

1、由小到大地一层一层的用箭头和扇形虚线展示内容

类似:
定位到页中具体位置访问数据

四级目录页

反面,觉得不易懂的图

尽量用文字,不要用代码


优秀流程图和逻辑图画法的分析和借鉴相关推荐

  1. 【规范】流程图的标准画法

    1.程序流程图的作用 程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对解决问题的方法.思路或算法的一种描述. 流程图的优点: (a)采用简单规范的符号,画法简单: (b)结构清晰, ...

  2. 关于树状图画法的分析

    概述:      本文介绍关于一种多叉树的画法 ,并优化了其算法的时间复杂度 要求: 1.    同一层的节点的纵坐标一样,不同层的节点的纵坐标的差成比例 2.    同一层相邻的节点的横坐标距离要大 ...

  3. 差分电荷密度怎么画_科学网—差分电荷密度图、电荷局域密度图(ELF)的画法及分析 - 叶小球的博文...

    关注: 1) 电荷密度图.差分电荷密度图及ELF的原理 2)  计算方法及参数设置 影响ELF准确性的参数有哪些?  在计算效率与准确性/精确性之间权衡. Ecut, KPOINTS? 3)  画法及 ...

  4. java做app流程图,Android App 构建流程分析

    我们平时在android studio中点击run ,就能把代码编译成一个apk文件并安装到手机上.那么这个过程中都具体发生了什么 ?我们是怎么把代码和资源文件打包成一个apk文件,并安装到手机上的呢 ...

  5. java ssh框架流程图_SSH框架整合详细分析【执行流程】

    struts1和spring有两种整合的方法一种是action和spring bean映射:一种是将action交给spring初始化 第一种方式:访问.do的URL->tomcat接收到req ...

  6. 大数据如何改善社会治理:国外“大数据社会福祉”运动的案例分析和借鉴

    一.背景 今年,国务院印发<促进大数据发展行动纲要>明确指出大数据将成为提升政府治理能力的新途径,提出:建立"用数据说话.用数据决策.用数据管理.用数据创新"的管理机制 ...

  7. Soul源码分析 ——值得借鉴的代码技巧

    Soul源码分析 -- 可以复用的代码技巧 对bean的操作 设计模式的使用 线程池 线程池线程数 拒绝策略 SPI 加载工厂 java spi应用 自己实现spi Soul-common模块里所有工 ...

  8. vision画流程图的软件_产品流程图的定义,作用和画法

    流程图和产品文档以及原型图一样,都是日常产品工作中经常用来表达业务逻辑和产品逻辑的载体,这一小节主要从三个方面介绍流程图的相关知识,分别是:1.基本定义(what):流程图是什么:2.为什么要画(wh ...

  9. 优秀的流程图应该是什么样的?如何制作?

    优秀的流程图需要遵循一定的规范,包括符号规范.结构规范.路径规范等, 只要熟练掌握这些基础规范,我们每个人都能做出让老板满意的优秀流程图. 接下来,小编将从以下四方面进行详细拆解: 流程图的符号规范 ...

  10. 优秀的流程图应该怎么设计呢?

    优秀的流程图应该怎么绘制呢? 本文将带大家学习优秀流程图的绘制要点和技巧,以及讲解流程图与UML活动图.BPMN图之间的关系和区别. 1.认识流程图 流程图简单讲就是用图描述流程,这种流程可以是一种有 ...

最新文章

  1. 怎样在javascript函数中将变量传递给服务端脚本程序?
  2. 基于FTP的Nordic nRF51822 OTA 教程一之修改boot区大小
  3. 学习笔记----周志华《机器学习》第五章(神经网络)(二)
  4. 项目不能使用fn标签_无服务器,Java和FN项目的第一步
  5. 华三交换机配置access命令_H3C交换机配置命令大全
  6. 从前M个字母中取N个的无重复排列(回溯)
  7. 我的网站被黑了,关键词被劫持,总结一下是怎么解决的。
  8. 动态规划解决分割问题
  9. [转载] 民兵葛二蛋——第9集
  10. Scrum master成长笔记:如何为Scrum团队设定愿景目标?
  11. Mysql添加报错 MySqlException: Incorrect string value: ‘\xE5\xAF\xBC\xE5\x85\xA5...‘ for
  12. JEECG架构讲解及使用
  13. python opencv 拍照_在jupyter noteb中使用opencv显示网络摄像头中的图像
  14. 情人节程序员用HTML网页表白【华丽满屏烟花-生日快乐】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  15. 罗斯蒙特248温度变送器安装指南
  16. Pycharm Professional(专业版)完美破解,永久激活
  17. Error: Cannot find module ‘diagnostics_channel‘
  18. 首款保证续保15年的产品——太平洋保险安享百万医疗保险好不好?优缺点详细分析来了!
  19. 【STM32使用内部RC振荡器】1、时钟源的设置
  20. 中国将在2008年奥运会上取得金牌榜第一的成绩

热门文章

  1. Apache详细的安装和配置
  2. 三维旋转矩阵_三维重建中的旋转(Rotation)
  3. 向量化回测系列2——全市场股票回测
  4. html特殊符号对照表空格,HTML 特殊符号编码对照表(1)
  5. 计算机Excel及格率怎么,及格率怎么算在excel里?
  6. ES6转换成ES5/ES3
  7. 人脸识别的流行用途有哪些
  8. polkit启动失败_Linux MySQL 常见无法启动或启动异常的解决方案(上)
  9. dsolve解微分方程
  10. 西门子代理商 上海西纪帮您选型刚刚好