![](https://weharmonyos.oss-cn-hangzhou.aliyuncs.com/resources/common/io.png)
[ >> 进入 weharmonyos.com ](https://weharmonyos.com/)
**中文注解鸿蒙轻内核 | [kernel_liteos_a_note](https://gitee.com/weharmony/kernel_liteos_a_note)** 是在 `OpenHarmony` 的 [kernel_liteos_a](https://gitee.com/openharmony/kernel_liteos_a) 基础上给内核源码加上中文注解的版本,同步官方代码迭代推进。
## 为何要精读内核源码?
* 码农的学职生涯,都应精读一遍内核源码。以浇筑好计算机知识大厦的地基,地基纵深的坚固程度,很大程度能决定未来大厦能盖多高。那为何一定要精读细品呢?
* 因为内核代码本身并不太多,都是浓缩的精华,精读是让各个知识点高频出现,不孤立成点状记忆,没有足够连接点的知识点是很容易忘的,点点成线,线面成体,连接越多,记得越牢,如此短时间内容易结成一张高浓度,高密度的系统化知识网,训练大脑肌肉记忆,驻入大脑直觉区,想抹都抹不掉,终生携带,随时调取。跟骑单车一样,一旦学会,即便多年不骑,照样跨上就走,游刃有余。
## 热爱是所有的理由和答案
* 因大学时阅读 linux 2.6 内核痛并快乐的经历,一直有个心愿,对底层基础技术进行一次系统性的整理,方便自己随时翻看,同时让更多对底层感兴趣的小伙伴减少时间,加速对计算机系统级的理解,而不至于过早的放弃。但因过程种种,多年一直没有行动,基本要放弃这件事了。恰逢 2020/9/10 鸿蒙正式开源,重新激活了多年的心愿,就有那么点如黄河之水一发不可收拾了。
* 包含三部分内容:**注源**,**写博** ,**画图**, 目前对内核源码的注解完成 80% ,博客分析完成80+篇,百图画鸿蒙完成20张,空闲时间几乎被占用,时间不够用,但每天都很充实,连做梦鸿蒙系统都在鱼贯而入。是件很有挑战的事,时间单位以年计,已持续一年半,期间得到众多小伙伴的支持与纠错,在此谢过 ! :P
## (〃・ิ‿・ิ)ゞ鸿蒙轻内核开发者
* 感谢开放原子开源基金会,致敬鸿蒙轻内核开发者提供了如此优秀的源码,一了多年的夙愿,津津乐道于此。从内核一行行的代码中能深深感受到开发者各中艰辛与坚持,及鸿蒙生态对未来的价值,这些是张嘴就来的网络喷子们永远不能体会到的。可以毫不夸张的说鸿蒙轻内核源码可作为大学:C语言,数据结构,操作系统,汇编语言,计算机系统结构,计算机组成原理,微机接口 七门课程的教学项目。如此宝库,不深入研究实在是暴殄天物,于心不忍,坚信鸿蒙大势所趋,未来可期,其必定成功,也必然成功,誓做其坚定的追随者和传播者。
## 理解内核的三个层级
* 普通概念映射级:这一级不涉及专业知识,用大众所熟知的公共认知就能听明白是个什么概念,也就是说用一个普通人都懂的概念去诠释或者映射一个他们从没听过的概念。让陌生的知识点与大脑中烂熟于心的知识点建立多重链接,加深记忆。说别人能听得懂的话这很重要。一个没学过计算机知识的卖菜大妈就不可能知道内核的基本运作了吗?不一定。在系列篇中试图用故事,打比方,去引导这一层级的认知,希望能卷入更多的人来关注基础软件,人多了场子热起来了创新就来了。
* 专业概念抽象级:对抽象的专业逻辑概念具体化认知, 比如虚拟内存,老百姓是听不懂的,学过计算机的人都懂,具体怎么实现的很多人又都不懂了,但这并不妨碍成为一个优秀的上层应用开发者,因为虚拟内存已经被抽象出来,目的是要屏蔽上层对它具体实现的认知。试图用百篇博客系列篇去拆解那些已经被抽象出来的专业概念, 希望能卷入更多对内核感兴趣的应用软件人才流入基础软硬件生态, 应用软件咱们是无敌宇宙,但基础软件却很薄弱。
* 具体微观代码级:这一级是具体到每一行代码的实现,到了用代码指令级的地步,这段代码是什么意思?为什么要这么设计?有没有更好的方案?[鸿蒙轻内核源码注解分析](https://gitee.com/weharmony/kernel_liteos_a_note) 试图从细微处去解释代码实现层,英文真的是天生适合设计成编程语言的人类语言,计算机的01码映射到人类世界的26个字母,诞生了太多的伟大奇迹。但我们的母语注定了很大部分人存在着自然语言层级的理解映射,希望内核注解分析能让更多爱好者节约时间成本,哪怕节约一分钟也是这件事莫大的意义。
## 四个维度解剖内核
为了全方位剖析内核,在 **画图**,**写文**,**注源**,**成册** 四个方向做了努力,试图以**讲故事**,**画图表**,**写文档**,**拆源码** 立体的方式表述内核。很喜欢易中天老师的一句话:研究方式不等于表述方式。底层技术并不枯燥,它可以很有意思,它可以是我们生活中的场景。
### 一: 百图画鸿蒙 | 一图一主干 | 骨骼系统
* 如果把鸿蒙比作人,百图目的是要画出其骨骼系统。
* 百图系列每张图都是心血之作,耗时甚大,能用一张就绝不用两张,所以会画的比较复杂,高清图会很大,可在公众号中回复 **百图** 获取`3`倍超高清最新图。`v**.xx`代表图的版本,请留意图的更新。
* 例如: **双向链表** 是内核最重要的结构体,站长更愿意将它比喻成人的左右手,其意义是通过寄生在宿主结构体上来体现,可想象成在宿主结构体装上一对对勤劳的双手,它真的很会来事,超级活跃分子,为宿主到处拉朋友,建圈子。其插入 | 删除 | 遍历操作是它最常用的社交三大件,若不理解透彻在分析源码过程中很容易卡壳。虽在网上能找到很多它的图,但怎么看都不是自己想要的,干脆重画了它的主要操作。
* ![](https://weharmonyos.oss-cn-hangzhou.aliyuncs.com/resources/100pic/1_list.png)
### 二: 百文说内核 | 抓住主脉络 | 肌肉器官
* 百文相当于摸出内核的肌肉和器官系统,让人开始丰满有立体感,因是直接从注释源码起步,在加注释过程中,每每有心得处就整理,慢慢形成了以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切。
* 与代码需不断`debug`一样,文章内容会存在不少错漏之处,请多包涵,但会反复修正,持续更新,`v**.xx` 代表文章序号和修改的次数,精雕细琢,言简意赅,力求打造精品内容。
* 百文在 < weharmonyos.com | 开源中国 | 博客园 | 51cto | csdn | 知乎 | 掘金 > 站点发布。
![](https://weharmonyos.oss-cn-hangzhou.aliyuncs.com/resources/common/cate.png)
[>> 进入详细了解](./zzz/blog.md)
### 三: 百万注内核 | 处处扣细节 | 细胞血管
* 百万汉字注解内核目的是要看清楚其毛细血管,细胞结构,等于在拿放大镜看内核。内核并不神秘,带着问题去源码中找答案是很容易上瘾的,你会发现很多文章对一些问题的解读是错误的,或者说不深刻难以自圆其说,你会慢慢形成自己新的解读,而新的解读又会碰到新的问题,如此层层递进,滚滚向前,拿着放大镜根本不愿意放手。
* 因鸿蒙轻内核6W+代�
传奇开心果编程
- 粉丝: 1w+
- 资源: 454
最新资源
- 屏幕截图 2024-12-21 170328.png
- Python基于Opencv+keras的实时手势识别系统源码+文档
- 屏幕截图 2024-12-21 171010.png
- 屏幕截图 2024-12-21 170616.png
- 屏幕截图 2024-12-21 171921.png
- Python&Opencv手势识别系统(完整源码&自定义UI操作界面)
- 空中俯视物体检测22-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- Python毕业设计-基于Opencv手势识别系统源码+文档
- LabVIEW 通讯与罗克韦尔 AB Allen Bradley PLC通讯 EhernetIP 网口TCP标签通讯 SL500实测通过 常用功能一网打尽 1.命令帧读写 2.支持 I16 I3
- 结合多个机器学习模型进行分类,并使用交叉验证来评估模型性能,最后我们还会使用模型融合(Ensemble Learning)来尝试提高预测准确率
- python+windows+自动点击脚本
- 前后双电机扭矩分配,四驱扭矩分配,前后各一个电机,基于效率的扭矩分配 根据电机效率计算分配系数 系统效率最高 电动车四驱扭矩分配
- 基于YOLOV5的手势识别系统源码(毕设)+文档+数据集
- 基于多次多项式的机器学习脚本案例
- 外转子无刷直流电机温度场,瞬态热仿真
- 空中俯视物体检测23-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈