同步操作将从 WeHarmony/kernel_liteos_a_note 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
百万汉字注解 >> 精读鸿蒙源码,中文注解分析, 深挖地基工程,大脑永久记忆,四大码仓每日同步更新< gitee | github | csdn | coding >
百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,主流站点定期更新中< osc | 51cto | csdn | harmony >
kernel_liteos_a_note 是在鸿蒙官方开源项目 kernel_liteos_a 基础上给源码加上中文注解的版本.
linux 2.6
内核痛并快乐的经历,一直有个心愿,如何让更多对内核感兴趣的朋友减少阅读时间,加速对计算机系统级的理解,而不至于过早的放弃.但因过程种种,多年一直没有行动,基本要放弃这件事了.恰逢 2020/9/10 鸿蒙正式开源,重新激活了多年的心愿,就有那么点一发不可收拾了.因鸿蒙内核6W+代码量,本身只有较少的注释, 中文注解以不对原有代码侵入为前提,源码中所有英文部分都是原有注释,所有中文部分都是中文版的注释,同时为方便同步官方版本的更新,尽量不去增加代码的行数,不破坏文件的结构,注释多类似以下的方式:
在重要模块的.c/.h文件开始位置先对模块功能做整体的介绍,例如异常接管模块注解如图所示:
注解过程中查阅了很多的资料和书籍,在具体代码处都附上了参考链接.
而函数级注解会详细到重点行,甚至每一行, 例如申请互斥锁的主体函数,不可谓不重要,而官方注释仅有一行,如图所示
另外画了一些字符图方便理解,直接嵌入到头文件中,比如虚拟内存的全景图,因没有这些图是很难理解虚拟内存是如何管理的.
@note_pic
可查看绘制的全部字符图@note_why
是尚未看明白的地方,有看明白的,请Pull Request完善@note_thinking
是一些的思考和建议@note_#if0
是由第三方项目提供不在内核源码中定义的极为重要结构体,为方便理解而添加的。@note_good
是给源码点赞的地方2021/4/21
-- 官方优化了很多之前吐槽的地方,点赞.2020/9/16
-- 中文注解版起点在给 鸿蒙内核源码加中文注释 过程中,整理出以下文章.内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆.
说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思.更希望让内核变得栩栩如生,倍感亲切.确实有难度,自不量力,但已经出发,回头已是不可能的了.:P
与写代码有bug需不断debug一样,文章和注解内容会反复修正,持续更新,.xx
代表修改的次数,精雕细琢,言简意赅,尽全力打磨精品内容.
v51.xx (ELF格式篇) | 应用程序入口并不是main < csdn | harmony | 51cto | osc >
v50.xx (编译环境篇) | 编译鸿蒙看这篇或许真的够了 < csdn | harmony | 51cto | osc >
v49.xx (信号消费篇) | 谁让CPU连续四次换栈运行 < csdn | harmony | 51cto | osc >
v48.xx (信号生产篇) | 年过半百,依然活力十足 < csdn | harmony | 51cto | osc >
v47.xx (进程回收篇) | 临终前如何向老祖宗托孤 < csdn | harmony | 51cto | osc >
v46.xx (特殊进程篇) | 龙生龙凤生凤老鼠生儿会打洞 < csdn | harmony | 51cto | osc >
v39.xx (异常接管篇) | 社会很单纯,复杂的是人 < csdn | harmony | 51cto | osc >
v36.xx (工作模式篇) | CPU是韦小宝,七个老婆 < csdn | harmony | 51cto | osc >
v35.xx (时间管理篇) | 谁是内核基本时间单位 < csdn | harmony | 51cto | osc >
v34.xx (原子操作篇) | 谁在为原子操作保驾护航 < csdn | harmony | 51cto | osc >
v33.xx (消息队列篇) | 进程间如何异步传递大数据 < csdn | harmony | 51cto | osc >
v32.xx (CPU篇) | 整个内核就是一个死循环 < csdn | harmony | 51cto | osc >
v30.xx (事件控制篇) | 任务间多对多的同步方案 < csdn | harmony | 51cto | osc >
v29.xx (信号量篇) | 谁在负责解决任务的同步 < csdn | harmony | 51cto | osc >
v28.xx (进程通讯篇) | 九种进程间通讯方式速揽 < csdn | harmony | 51cto | osc >
v25.xx (并发并行篇) | 听过无数遍的两个概念 < csdn | harmony | 51cto | osc >
v22.xx (汇编基础篇) | CPU在哪里打卡上班 < csdn | harmony | 51cto | osc >
v21.xx (线程概念篇) | 是谁在不断的折腾CPU < csdn | harmony | 51cto | osc >
v20.xx (用栈方式篇) | 程序运行场地谁提供的 < csdn | harmony | 51cto | osc >
v16.xx (内存规则篇) | 内存管理到底在管什么 < csdn | harmony | 51cto | osc >
v14.xx (内存汇编篇) | 谁是虚拟内存实现的基础 < csdn | harmony | 51cto | osc >
v13.xx (源码注释篇) | 鸿蒙必定成功,也必然成功 < csdn | harmony | 51cto | osc >
v12.xx (内存管理篇) | 虚拟内存全景图是怎样的 < csdn | harmony | 51cto | osc >
v09.xx (调度故事篇) | 用故事说内核调度过程 < csdn | harmony | 51cto | osc >
v08.xx (总目录) | 百万汉字注解 百篇博客分析 < csdn | harmony | 51cto | osc >
v07.xx (调度机制篇) | 任务是如何被调度执行的 < csdn | harmony | 51cto | osc >
v06.xx (调度队列篇) | 内核有多少个调度队列 < csdn | harmony | 51cto | osc >
v04.xx (任务调度篇) | 任务是内核调度的单元 < csdn | harmony | 51cto | osc >
v03.xx (时钟任务篇) | 触发调度谁的贡献最大 < csdn | harmony | 51cto | osc >
v01.xx (双向链表篇) | 谁是内核最重要结构体 < csdn | harmony | 51cto | osc >
进入 >> osc | csdn | 51cto | 掘金 | 公众号 | 头条号 | gitee | github
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。