4

v03.01 百图画鸿蒙(任务控制块) | 竞争系统资源的最小运行单元 | 画出鸿蒙骨骼系统

 2 years ago
source link: https://my.oschina.net/weharmony/blog/5384131
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

百图画鸿蒙 | 一图一主干

  • 如果把鸿蒙比作人,百图目的是要画出其骨骼系统。

  • 百图系列每张图都是心血之作,耗时甚大,能用一张就绝不用两张,所以会画的比较复杂,高清图会很大,可在公号中回复 百图 获取3倍超高清最新图。v**.xx代表图的版本,请留意图的更新。

  • 任务控制块 是内核最重要和复杂的超级结构体,注意没有说之一,鸿蒙内核的说法叫任务,外部的叫法就是线程,它像个小孩老被家长(进程)管着。非常的调皮捣蛋,家里还有很多像它一样的小孩,都是一个爸生的,孩子们都有自己的房间(独立栈空间包括用户态栈和内核态栈), 他们的想法创意很多,各种各样的需求,经常要和别人玩,不仅要和自己的兄弟姐妹玩,还要和小区里的其他小朋友玩。玩着玩着就容易抢东西打起来(资源竞争),让小区管理员(内核进程)和家长们(用户进程们)闹心的很, 就得帮着这群熊孩子协调资源。毕竟他们才是祖国的花朵,未来是属于他们的。

  • 以上虽是个小比喻,其实内核也基本是这么玩的,内核一切的一切是围绕着任务来展开的,如果非要选一个内核最核心的概念,那只能是它,所以这是一个必须要熟练掌握的结构体,也是最复杂的一个结构体,这张图画了足足两天时间,后续还会不断的修改,请关注它的动态变化,这也是一个非常考验对双向链表掌握程度的结构体,和进程控制块一样很容易让你的脑栈溢出,如果能熟悉其整体运作,内核的基本功就比较扎实了。

百文说内核 | 抓住主脉络

  • 百文相当于摸出内核的肌肉和器官系统,让人开始丰满有立体感,因是直接从注释源码起步,在加注释过程中,每每有心得处就整理,慢慢形成了以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切。
  • 与代码需不断debug一样,文章内容会存在不少错漏之处,请多包涵,但会反复修正,持续更新,v**.xx 代表文章序号和修改的次数,精雕细琢,言简意赅,力求打造精品内容。
  • 百文在 < 鸿蒙研究站 | 开源中国 | 博客园 | 51cto | csdn | 知乎 | 掘金 > 站点发布,公号回复 百文 可方便阅读。

按功能模块:

百万注源码 | 处处扣细节

  • 百万汉字注解内核目的是要看清楚其毛细血管,细胞结构,等于在拿放大镜看内核。内核并不神秘,带着问题去源码中找答案是很容易上瘾的,你会发现很多文章对一些问题的解读是错误的,或者说不深刻难以自圆其说,你会慢慢形成自己新的解读,而新的解读又会碰到新的问题,如此层层递进,滚滚向前,拿着放大镜根本不愿意放手。

  • < gitee | github | coding | codechina > 四大码仓推送 | 同步官方源码,公号回复 百万 可方便阅读。

关注不迷路 | 代码即人生


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK