v02.02 百图画鸿蒙(进程控制块) | 隔壁练腰的老王 | 画出鸿蒙骨骼系统
Posted 鸿蒙内核源码分析
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了v02.02 百图画鸿蒙(进程控制块) | 隔壁练腰的老王 | 画出鸿蒙骨骼系统相关的知识,希望对你有一定的参考价值。
百图画鸿蒙 | 一图一主干
-
如果把鸿蒙比作人,百图目的是要画出其骨骼系统。
-
百图系列每张图都是心血之作,耗时甚大,能用一张就绝不用两张,所以会画的比较复杂,高清图会很大,可在公号中回复 百图 获取
3
倍超高清最新图。v**.xx
代表图的版本,请留意图的更新。 -
进程控制块(PCB) 是内核仅次于任务控制块(
TCB
)重要和复杂的超级结构体,它是一个程序在内核的实体表达,像个家长一样即要管好自己家一帮熊孩子(任务)的事,还要和隔壁练腰的老王,村头打铁的老张,村尾杀猪的老李搞好关系,它们之间既有竞争又有合作。隶属大家族管理,七大姑八大姨,狐朋狗友一大堆,所以关系链特别的复杂,光用来搞关系的双向链表就用了7
个(内核结构体之最),每一个背后都是一大滩子的事,可想而知它得有多忙,有多少事要操心。这是一个非常考验对双向链表掌握程度的结构体,很容易让你的脑栈溢出,如果熟悉其整体运作,内核其他结构体可摧古拉朽,吹毛断发。
百文说内核 | 抓住主脉络
- 百文相当于摸出内核的肌肉和器官系统,让人开始丰满有立体感,因是直接从注释源码起步,在加注释过程中,每每有心得处就整理,慢慢形成了以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切。
- 与代码需不断
debug
一样,文章内容会存在不少错漏之处,请多包涵,但会反复修正,持续更新,v**.xx
代表文章序号和修改的次数,精雕细琢,言简意赅,力求打造精品内容。 - 百文在 < 鸿蒙研究站 | 开源中国 | 博客园 | 51cto | csdn | 知乎 | 掘金 > 站点发布,公号回复 百文 可方便阅读。
按时间顺序:
- v01.12 鸿蒙内核源码分析(双向链表) | 谁是内核最重要结构体
- v02.06 鸿蒙内核源码分析(进程管理) | 谁在管理内核资源
- v03.06 鸿蒙内核源码分析(时钟任务) | 调度的源动力从哪来
- v04.03 鸿蒙内核源码分析(任务调度) | 内核调度的单元是谁
- v05.05 鸿蒙内核源码分析(任务管理) | 如何管理任务池
- v06.03 鸿蒙内核源码分析(调度队列) | 内核调度也需要排队
- v07.08 鸿蒙内核源码分析(调度机制) | 任务是如何被调度执行的
- v08.03 鸿蒙内核源码分析(总目录) | 百万汉字注解 百篇博客分析
- v09.04 鸿蒙内核源码分析(调度故事) | 用故事说内核调度
- v10.03 鸿蒙内核源码分析(内存主奴) | 皇上和奴才如何相处
- v11.03 鸿蒙内核源码分析(内存分配) | 内存有哪些分配方式
- v12.04 鸿蒙内核源码分析(内存管理) | 虚拟内存全景图是怎样的
- v13.05 鸿蒙内核源码分析(源码注释) | 每天死磕一点点
- v14.02 鸿蒙内核源码分析(内存汇编) | 谁是虚拟内存实现的基础
- v15.03 鸿蒙内核源码分析(内存映射) | 映射真是个好东西
- v16.02 鸿蒙内核源码分析(内存规则) | 内存管理到底在管什么
- v17.04 鸿蒙内核源码分析(物理内存) | 怎么管理物理内存
- v18.02 鸿蒙内核源码分析(源码结构) | 内核文件各自含义
- v19.04 鸿蒙内核源码分析(位图管理) | 特节俭的苦命孩子
- v20.03 鸿蒙内核源码分析(用栈方式) | 谁来提供程序运行场地
- v21.07 鸿蒙内核源码分析(线程概念) | 是谁在不断的折腾CPU
- v22.03 鸿蒙内核源码分析(汇编基础) | CPU上班也要打卡
- v23.04 鸿蒙内核源码分析(汇编传参) | 如何传递复杂的参数
- v24.03 鸿蒙内核源码分析(进程概念) | 如何更好的理解进程
- v25.05 鸿蒙内核源码分析(并发并行) | 听过无数遍的两个概念
- v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志
- v27.05 鸿蒙内核源码分析(互斥锁) | 同样是锁它确更丰满
- v28.04 鸿蒙内核源码分析(进程通讯) | 九种进程间通讯方式速揽
- v29.05 鸿蒙内核源码分析(信号量) | 谁在解决任务间的同步
- v30.07 鸿蒙内核源码分析(事件控制) | 多对多任务如何同步
- v31.02 鸿蒙内核源码分析(定时器) | 内核最高级任务竟是它
- v32.03 鸿蒙内核源码分析(CPU) | 整个内核是一个死循环
- v33.03 鸿蒙内核源码分析(消息队列) | 进程间如何异步传递大数据
- v34.04 鸿蒙内核源码分析(原子操作) | 谁在为完整性保驾护航
- v35.03 鸿蒙内核源码分析(时间管理) | 内核基本时间单位是谁
- v36.05 鸿蒙内核源码分析(工作模式) | 程序界的韦小宝是谁
- v37.06 鸿蒙内核源码分析(系统调用) | 开发者永远的口头禅
- v38.06 鸿蒙内核源码分析(寄存器) | 讲真 全宇宙只佩服它
- v39.06 鸿蒙内核源码分析(异常接管) | 社会很单纯 复杂的是人
- v40.03 鸿蒙内核源码分析(汇编汇总) | 汇编可爱如邻家女孩
- v41.03 鸿蒙内核源码分析(任务切换) | 看汇编如何切换任务
- v42.05 鸿蒙内核源码分析(中断切换) | 系统因中断活力四射
- v43.05 鸿蒙内核源码分析(中断概念) | 海公公的日常工作
- v44.04 鸿蒙内核源码分析(中断管理) | 没中断太可怕
- v45.05 鸿蒙内核源码分析(Fork) | 一次调用 两次返回
- v46.05 鸿蒙内核源码分析(特殊进程) | 老鼠生儿会打洞
- v47.02 鸿蒙内核源码分析(进程回收) | 临终托孤的短命娃
- v48.05 鸿蒙内核源码分析(信号生产) | 年过半百 活力十足
- v49.03 鸿蒙内核源码分析(信号消费) | 谁让CPU连续四次换栈运行
- v50.03 鸿蒙内核源码分析(编译环境) | 编译鸿蒙防掉坑指南
- v51.04 鸿蒙内核源码分析(ELF格式) | 应用程序入口并非main
- v52.05 鸿蒙内核源码分析(静态站点) | 码农都不爱写注释和文档
- v53.03 鸿蒙内核源码分析(ELF解析) | 敢忘了她姐俩你就不是银
- v54.04 鸿蒙内核源码分析(静态链接) | 一个小项目看中间过程
- v55.04 鸿蒙内核源码分析(重定位) | 与国际接轨的对外发言人
- v56.05 鸿蒙内核源码分析(进程映像) | 程序是如何被加载运行的
- v57.02 鸿蒙内核源码分析(编译过程) | 简单案例说透中间过程
- v58.03 鸿蒙内核源码分析(环境脚本) | 编译鸿蒙原来很简单
- v59.04 鸿蒙内核源码分析(构建工具) | 顺瓜摸藤调试构建过程
- v60.04 鸿蒙内核源码分析(gn应用) | 如何构建鸿蒙系统
- v61.03 鸿蒙内核源码分析(忍者ninja) | 忍者的特点就是一个字
- v62.02 鸿蒙内核源码分析(文件概念) | 为什么说一切皆是文件
- v63.04 鸿蒙内核源码分析(文件系统) | 用图书管理说文件系统
- v64.06 鸿蒙内核源码分析(索引节点) | 谁是文件系统最重要的概念
- v65.05 鸿蒙内核源码分析(挂载目录) | 为何文件系统需要挂载
- v66.07 鸿蒙内核源码分析(根文件系统) | 谁先挂到
/
谁就是根总 - v67.03 鸿蒙内核源码分析(字符设备) | 绝大多数设备都是这类
- v68.02 鸿蒙内核源码分析(VFS) | 文件系统是个大家庭
- v69.04 鸿蒙内核源码分析(文件句柄) | 你为什么叫句柄
- v70.05 鸿蒙内核源码分析(管道文件) | 如何降低数据流动成本
- v71.03 鸿蒙内核源码分析(Shell编辑) | 两个任务 三个阶段
- v72.01 鸿蒙内核源码分析(Shell解析) | 应用窥伺内核的窗口
- v73.01 鸿蒙内核源码分析(参考文档) | 阅读内核源码必备工具
- v74.01 鸿蒙内核源码分析(控制台) | 一个让很多人模糊的概念
- v75.01 鸿蒙内核源码分析(远程登录) | 内核如何接待远方的客人
百万注源码 | 处处扣细节
- 百万汉字注解内核目的是要看清楚其毛细血管,细胞结构,等于在拿放大镜看内核。内核并不神秘,带着问题去源码中找答案是很容易上瘾的,你会发现很多文章对一些问题的解读是错误的,或者说不深刻难以自圆其说,你会慢慢形成自己新的解读,而新的解读又会碰到新的问题,如此层层递进,滚滚向前,拿着放大镜根本不愿意放手。
- < gitee | github | coding | codechina > 四大码仓推送 | 同步官方源码,公号回复 百万 可方便阅读。
关注不迷路 | 代码即人生
以上是关于v02.02 百图画鸿蒙(进程控制块) | 隔壁练腰的老王 | 画出鸿蒙骨骼系统的主要内容,如果未能解决你的问题,请参考以下文章
v02.02 百图画鸿蒙(进程控制块) | 系统资源管理的最小单元 | 画出鸿蒙骨骼系统
v03.01 百图画鸿蒙(任务控制块) | 竞争系统资源的最小运行单元 | 画出鸿蒙骨骼系统
v03.01 百图画鸿蒙(任务控制块) | 竞争系统资源的最小运行单元 | 画出鸿蒙骨骼系统
v03.01 百图画鸿蒙(任务控制块) | 竞争系统资源的最小运行单元 | 画出鸿蒙骨骼系统