自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鸿蒙研究站 | 每天死磕一点点 | 由内核源码切入挖透OpenHarmony技术栈

站长 turing ,计算机硕士,某互联网公司技术副总裁 ,计划用 5 - 10 年时间把鸿蒙系统的底层实现整理出来,包括:内核实现、驱动框架、协议栈、应用框架、编译构建、运行时系统 等其他子系统。工程浩大,自不量力,然兴趣所至,义无反顾, 此念不息,坚如

  • 博客(92)
  • 资源 (3)
  • 收藏
  • 关注

原创 v87.01 鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main () | 百篇博客分析 OpenHarmony 源码

这应该是系列篇最难写的一篇,全是汇编代码,需大量的底层知识,涉及协处理器,内核镜像重定位,创建内核映射表,初始化 CPU 模式栈,热启动,到最后熟悉的 main() 。

2022-05-26 11:11:06 923

原创 v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码

相比动态分配,静态内存池的分配就是个小弟弟,非常的简单,两个结构体 + 一张图 就能说明白。

2022-05-25 10:11:10 576

原创 v85.01 鸿蒙内核源码分析(内存池管理) | 如何高效切割合并内存块 | 百篇博客分析OpenHarmony源码

请将内存池想成一条画好了网格虚线的大白纸,会有两种角色往白纸上画东西,一个是内核画管理数据,一个外部程序画业务数据,内核先画,外部程序想画需申请大小,申请成功内核会提供个地址给外部使用

2022-05-10 09:22:13 654

原创 v84.01 鸿蒙内核源码分析(TLFS算法篇) | 图表解读TLFS原理 | 百篇博客分析OpenHarmony源码

本篇开始说一个耳朵听起老茧的概念 动态分配,将分成上下两篇,本篇为上篇,看完能快速理解下篇鸿蒙内核源码对动态内存的具体实现。

2022-05-06 11:16:21 823

原创 v83.01 鸿蒙内核源码分析(编码方式篇) | 机器指令是如何编码的 | 百篇博客分析OpenHarmony源码

本篇说清楚 `ARM`指令是如何被编码的,机器指令由哪些部分构成,指令有哪些类型,每种类型的语法又是怎样的 ?

2022-04-19 15:09:05 1169

原创 v82.01 鸿蒙内核源码分析(协处理器篇) | CPU的好帮手 | 百篇博客分析OpenHarmony源码

本篇很重要,对`CP15`协处理所有`16`个寄存器一一介绍,可能是全网介绍`CP15`最全面的一篇,鸿蒙内核的汇编部分(尤其开机启动)中会使用,熟练掌握后看汇编代码将如虎添翼。

2022-04-08 16:41:05 793

原创 v81.01 鸿蒙内核源码分析(读写锁篇) | 内核如何实现多读单写 | 百篇博客分析OpenHarmony源码

在实际很多业务场景中读写操作的频率是不同的,读往往高几个数量级,因读操作并不改变业务数据结构,所以读锁也称为共享锁。写操作会改变数据结构,数据之间须同步,修改注定是排他的,所以也称为排它锁/互斥锁,读写锁很好的解决了这种读写不对称的业务场景。

2022-02-23 09:57:58 871

原创 v80.01 鸿蒙内核源码分析(内核态锁篇) | 如何实现快锁Futex(下) | 百篇博客分析OpenHarmony源码

首先要明白 快锁 和 快锁节点 的区别,否则看内核代码一定会懵圈,内核并没有快锁这个结构体,key就是快锁,它们的关系是 1:N 的关系 ,快锁分成了 私有锁 和 共享锁 两种类型。用key表示唯一性。共享锁用物理地址 , 私有锁用虚拟地址。

2022-02-18 11:49:21 687

原创 v79.01 鸿蒙内核源码分析(用户态锁篇) | 如何使用快锁Futex(上) | 百篇博客分析OpenHarmony源码

快锁解决思路是能否在用户态下就知道锁可不可用,因为竞争并不是时刻出现,跑到内核态一看其实往往没人给你争,白跑一趟来回太浪费性能。那问题来了,用户态下如何知道锁可不可用呢? 因为不陷入内核态就访问不到内核的全局变量。而自己私有空间的变量对别的进程又失效不能用。越深入研究内核越有一种这样的感觉,内核的实现可以像数学一样推导出来,非常有意思。数学其实是基于几个常识公理推导出了整个数学体系,因为不如此逻辑就无法自洽。如果对内核有一定程度的了解,这里自然能推导出可以借助 **共享内存** 来实现!

2022-02-15 11:22:17 4812 2

原创 v78.01 鸿蒙内核源码分析(消息映射篇) | 剖析LiteIpc(下)进程通讯机制 | 百篇博客分析OpenHarmony源码

映射 一词在系列篇中多次出现,虚拟地址的基础就是映射,共享内存的实现也要靠映射,LiteIPC通讯的底层实现也离不开映射,有意思的是将用户态的线性区和内核态的线性区进行了映射。也就是说当用户访问用户空间中的某个虚拟地址时,这个虚拟地址其实和内核空间某个地址都指向了同一个物理内存。

2022-02-09 20:24:06 883

原创 v77.01 鸿蒙内核源码分析(消息封装) | 剖析LiteIpc进程通讯内容 | 祝新的一年大家生龙活虎 虎虎生威

LiteIPC是OpenHarmony LiteOS-A内核提供的一种新型IPC(Inter-Process Communication,即进程间通信)机制,为轻量级进程间通信组件,为面向服务的系统服务框架提供进程间通信能力,分为内核实现和用户态实现两部分,其中内核实现完成进程间消息收发、IPC内存管理、超时通知和死亡通知等功能;用户态提供序列化和反序列化能力,并完成IPC回调消息和死亡消息的分发。

2022-01-30 15:59:30 3941

原创 v76.02 鸿蒙内核源码分析(共享内存) | 进程间最快通讯方式 | 百篇博客分析OpenHarmony源码

共享好端端的一词,近些年被玩坏了,共享单车,共享充电宝,共享办公室,共享雨伞... 甚至还有共享女朋友,真是人有多大胆,共享有多大产。但凡事太尽就容易恶心到人,自己也一度被 共享内存 恶心到了,一直不想碰它,拖到了现在才写。

2022-01-24 15:21:49 3654

原创 v05.01 百图画鸿蒙(进程状态) | 不是那么重要的`重要`状态 | 画出鸿蒙骨骼系统

讲真,在鸿蒙内核,进程的状态并不是那么重要,这可能会让人有些不可思议,而任务状态比它重要和复杂的多得多,内核的活跃分子是任务(task),在系列篇中已多次提及,但熟悉它十分有必要。

2022-01-15 20:50:18 473

原创 v04.02 百图画鸿蒙(任务状态) | 内核最重要的状态迁移过程 | 画出鸿蒙骨骼系统

本篇图为**任务状态图**,任务在运行过程中其状态是不断的变化的,非常的复杂,结构体中用了`taskStatus`来记录状态,在读内核源码过程中会经常被这些状态绕的晕头转向,很影响推进效率,索性来一次针对状态的代码级整理,下图中列出了任务所有状态迁移和触发迁移的操作,可谓一目了然。

2022-01-15 20:49:20 459

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

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

2021-12-30 19:05:03 492

原创 v02.02 百图画鸿蒙(进程控制块) | 隔壁练腰的老王 | 画出鸿蒙骨骼系统

进程控制块(PCB) 是内核仅次于任务控制块(TCB)重要和复杂的超级结构体,它是一个程序在内核的实体表达,像个家长一样即要管好自己家一帮熊孩子(任务)的事,还要和隔壁练腰的老王,村头打铁的老张,村尾杀猪的老李搞好关系,它们之间既有竞争又有合作。隶属大家族管理,七大姑八大姨,狐朋狗友一大堆,所以关系链特别的复杂,光用来搞关系的双向链表就用了7个(内核结构体之最),每一个背后都是一大滩子的事,可想而知它得有多忙,有多少事要操心。这是一个非常考验对双向链表掌握程度的结构体

2021-12-29 19:10:39 540

原创 v01.02 百图画鸿蒙(双向链表) | 好一双勤劳的手 | 画出鸿蒙骨骼系统

双向链表 是内核最重要的结构体,站长更愿意将它比喻成人的左右手,其意义是通过寄生在宿主结构体上来体现,可想象成在宿主结构体装上一对对勤劳的双手,它真的很会来事,超级活跃分子,为宿主到处拉朋友,建圈子。其插入 | 删除 | 遍历操作是它最常用的社交三大件,若不理解透彻在分析源码过程中很容易卡壳。

2021-12-28 15:31:41 691

原创 v75.01 鸿蒙内核源码分析(远程登录) | 内核如何接待远方的客人 | 百篇博客分析OpenHarmony源码

什么是远程登录?每个人都有上门做客的经历,抖音也一直在教我们做人,做客不要空手去,总得带点东西,而对中国人你就不能送钟,不能送梨,最好也别送鞋,因他们与终 离 邪谐音,犯忌讳. 这是人情世故,叫礼仪,是中华文明圈的共识,是相互交流信任的基础.那互联网有没有这种共识呢? 当然有,互联网世界的人情世故就是协议, 种种协议映射到人类社会来说就是种种礼仪,协议有TCP,HTTP,SSH,Telnet等等,就如同礼仪分商业礼仪,外交礼仪,校园礼仪,家庭礼仪等等. 孔圣人不也说 不学礼,无以立 应该就是这个道理,

2021-12-21 11:47:19 505

原创 v74.01 鸿蒙内核源码分析(控制台) | 一个让很多人模糊的概念 | 百篇博客分析OpenHarmony源码

百篇博客分析.本篇为: (控制台篇) | 一个让很多人模糊的概念文件系统相关篇为:v62.02 鸿蒙内核源码分析(文件概念) | 为什么说一切皆是文件v63.04 鸿蒙内核源码分析(文件系统) | 用图书管理说文件系统v64.06 鸿蒙内核源码分析(索引节点) | 谁是文件系统最重要的概念v65.05 鸿蒙内核源码分析(挂载目录) | 为何文件系统需要挂载v66.07 鸿蒙内核源码分析(根文件系统) | 谁先挂到/谁就是根总v67.03 鸿蒙内核源码分析(字符设备) | 绝大多数设备都是这.

2021-12-13 08:47:14 1352

原创 v73.02 鸿蒙内核源码分析(参考手册) | 阅读内核源码必备工具 | 百篇博客分析OpenHarmony源码

工欲善其事 必先利其器本篇尝试去摸索下鸿蒙内核毛细血管级的脉络,跟踪以下几个问题.* 鸿蒙有多少个结构体,结构体中每个成员变量的含义是什么?* 鸿蒙main长啥样,其是如何初始化各个模块的? * 鸿蒙的任意一个函数的调用和引用关系关系是怎样的?

2021-12-07 17:32:25 536

原创 v72.01 鸿蒙内核源码分析(Shell解析) | 应用窥伺内核的窗口 | 百篇博客分析OpenHarmony源码

子曰:“苟正其身矣,于从政乎何有?不能正其身,如正人何?” 《论语》:子路篇百篇博客分析.本篇为: (Shell解析篇) | 应用窥视内核的窗口进程管理相关篇为:v02.06 鸿蒙内核源码分析(进程管理) | 谁在管理内核资源v24.03 鸿蒙内核源码分析(进程概念) | 如何更好的理解进程v45.05 鸿蒙内核源码分析(Fork) | 一次调用 两次返回v46.05 鸿蒙内核源码分析(特殊进程) | 老鼠生儿会打洞v47.02 鸿蒙内核源码分析(进程回收) | 临终托孤的短命娃v48.

2021-10-25 11:48:02 258

原创 v71.03 鸿蒙内核源码分析(Shell编辑) | 两个任务 三个阶段 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v71.xx 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 | 51 .c .h .o进程管理相关篇为:v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁在管理内核资源 | 51 .c .h .ov24.xx 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 51 .c .h .ov45.xx 鸿蒙内核源码分析(Fork篇) | 一次调用,两次返回 | 51 .c .h .ov46.xx 鸿蒙内.

2021-09-26 10:32:25 314

原创 v70.05 鸿蒙内核源码分析(管道文件) | 如何降低数据流动成本 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v70.xx 鸿蒙内核源码分析(管道文件篇) | 如何降低数据流动成本 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .ov64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .ov65.xx 鸿蒙内核.

2021-09-12 09:41:06 985

原创 v69.04 鸿蒙内核源码分析(文件句柄) | 你为什么叫句柄 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v69.xx 鸿蒙内核源码分析(文件句柄篇) | 深挖应用操作文件的细节 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .ov64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .ov65.xx 鸿蒙内.

2021-09-09 19:37:10 289

原创 v68.02 鸿蒙内核源码分析(VFS) | 文件系统是个大家庭 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v68.xx 鸿蒙内核源码分析(VFS篇) | 文件系统和谐共处的基础 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .ov64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .ov65.xx 鸿蒙内核源.

2021-08-28 16:35:52 306

原创 v67.03 鸿蒙内核源码分析(字符设备) | 绝大多数设备都是这类 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v67.xx 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .ov64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .ov65.xx 鸿蒙内核.

2021-08-24 17:23:06 2153

原创 v66.07 鸿蒙内核源码分析(根文件系统) | 谁先挂到/谁就是根总 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v66.xx 鸿蒙内核源码分析(根文件系统) | 先挂到/上的文件系统 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .ov64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .ov65.xx 鸿蒙内核源.

2021-08-11 18:03:45 421

原创 v65.05 鸿蒙内核源码分析(挂载目录) | 为何文件系统需要挂载 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v65.xx 鸿蒙内核源码分析(挂载目录篇) | 为何文件系统需要挂载 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .ov64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .o关于文件系统的介绍已.

2021-08-09 18:49:59 377

原创 v64.06 鸿蒙内核源码分析(索引节点) | 谁是文件系统最重要的概念 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .ov63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .o读懂鸿蒙内核的关键线索是LOS_DL_LIST(双向链表),它是系列篇开篇的内容.而读懂文件系统的关键线索是vnode(索引节点.

2021-08-07 15:58:30 357

原创 v63.04 鸿蒙内核源码分析(文件系统) | 用图书管理说文件系统 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v63.xx 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 51 .c .h .o文件系统相关篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .o本篇讲一个大型图书馆的管理方案,来说清楚计算机文件系统是如何管理的.如果读懂了这个方案,就基本了解了文件系统最底层的运行机制.如何建图书馆假如给你一个100*100米,高10米的场地用于建图书馆,放置全世界的图书档案,有以下几个运营要求:.

2021-08-05 19:15:22 304

原创 v62.02 鸿蒙内核源码分析(文件概念) | 为什么说一切皆是文件 | 百篇博客分析OpenHarmony源码

百篇博客系列篇.本篇为:v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51 .c .h .o本篇开始说文件系统,它是内核五大模块之一,甚至有Linux的设计哲学是"一切皆文件"的说法。所以其重要性不言而喻.搞不清楚文件系统,内核肯定是没整明白.文件系统相关概念巨多,后续将结合内核源码详细阐述,本篇先说清楚源头概念:文件。什么是文件不说清楚什么是文件就说不清楚文件系统,更说不清楚内核是如何管理和为什么要这么来管理文件的。现代操作系统为解决信息能独立于进程之外.

2021-07-29 17:54:01 558

原创 v61.03 鸿蒙内核源码分析(忍者ninja) | 忍者的特点就是一个字 | 百篇博客分析OpenHarmony源码

OpenHarmony | 鸿蒙研究站 | WeHarmony < 国内 | 国外 >百篇博客系列篇.本篇为:v61.xx 鸿蒙内核源码分析(ninja应用篇) | 简单而快速的构建系统 | 51 .c .h .o编译构建模块相关篇为:v60.xx 鸿蒙内核源码分析(gn应用篇) | gn语法及在鸿蒙的使用 | 51 .c .h .ov59.xx 鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程 | 51 .c .h .ov58.xx 鸿蒙内

2021-07-21 16:51:33 566 1

原创 v60.04 鸿蒙内核源码分析(gn应用) | 如何构建鸿蒙系统 | 百篇博客分析HarmonyOS源码

OpenHarmony | 鸿蒙研究站 | WeHarmony < 国内 | 国外 >百篇博客系列篇.本篇为:v60.xx 鸿蒙内核源码分析(GN应用篇) | GN语法及在鸿蒙的使用 | 51 .c .h .o编译模块相关篇为:v59.xx 鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程 | 51 .c .h .ov58.xx 鸿蒙内核源码分析(环境脚本篇) | 如何防编译环境中的牛皮癣 | 51 .c .h .ov57.xx 鸿蒙内核源码

2021-07-20 12:41:10 2041 2

原创 v59.04 鸿蒙内核源码分析(构建工具) | 顺瓜摸藤调试构建过程 | 百篇博客分析HarmonyOS源码

OpenHarmony | 鸿蒙研究站 | WeHarmony < 国内 | 国外 >百篇博客系列篇.本篇为:v59.xx 鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程 | 51 .c .h .o编译模块相关篇为:v58.xx 鸿蒙内核源码分析(环境脚本篇) | 如何防编译环境中的牛皮癣 | 51 .c .h .ov57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 51 .c .h .ov50.xx 鸿蒙

2021-07-18 15:44:54 1125

原创 v58.03 鸿蒙内核源码分析(环境脚本) | 编译鸿蒙原来很简单 | 百篇博客分析HarmonyOS源码

OpenHarmony | 鸿蒙研究站 | WeHarmony < 国内 | 国外 >百篇博客系列篇.本篇为:v58.xx 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 51 .c .h .o很香的 Docker如果只是为了编译鸿蒙,只是初级的接触鸿蒙,docker是很香的,个人从第一次接触docker就爱不释手,脏活累活它干了,少了太多太多的麻烦. docker 编译鸿蒙看这篇就行了, L1 和 L2 都编译通过了.v50.xx 鸿蒙内核源码分

2021-07-15 18:22:12 1865 1

原创 v57.02 鸿蒙内核源码分析(编译过程) | 简单案例说透中间过程 | 百篇博客分析HarmonyOS源码

将 HarmonyOS | 鸿蒙 研究到底 < 国内 | 国外 >百篇博客系列篇.本篇为:v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 51 .c .h .o一个.c源文件编译的整个过程如图.编译过程要经过:源文件 --> 预处理 --> 编译(cc1) --> 汇编器(as) --> 链接器(ld) --> 可执行文件(PE/ELF)GCCGCC(GNU Compiler Collection,

2021-05-31 16:20:58 2528 2

原创 v56.05 鸿蒙内核源码分析(进程映像) | 程序是如何被加载运行的 | 百篇博客分析OpenHarmony源码

将 HarmonyOS | 鸿蒙 研究到底 < 国内 | 国外 >百篇博客系列篇.本篇为:v56.xx 鸿蒙内核源码分析(进程镜像篇) | ELF是如何被加载运行的? | 51 .c .h .o可执行文件和共享目标文件(动态连接库)是程序的静态存储形式.要执行一个程序,系统要先把相应的可执行文件和动态连接库装载到进程空间中,这样形成一个可运行的进程的内存空间布局,也可以称它为"进程镜像".本篇结合源码介绍鸿蒙加载和运行shell进程的整个过程,因本篇涉及代码较多,所以删

2021-05-27 12:23:32 3166 10

原创 v55.04 鸿蒙内核源码分析(重定位) | 与国际接轨的对外发言人 | 百篇博客分析HarmonyOS源码

将 HarmonyOS | 鸿蒙 研究到底 < 国内 | 国外 >百篇博客系列篇.本篇为:v55.xx 鸿蒙内核源码分析(重定位篇) | 与国际接轨的对外部发言人 | 51 .c .h .o本篇是以下篇的延续,建议先看v54.xx 鸿蒙内核源码分析(静态链接篇) | 完整小项目看透静态链接过程 | 51 .c .h .ov53.xx 鸿蒙内核源码分析(ELF解析篇) | 你要忘了她姐俩你就不是银 | 51 .c .h .ov51.xx

2021-05-21 10:17:11 467

原创 v54.04 鸿蒙内核源码分析(静态链接) | 一个小项目看中间过程 | 百篇博客分析HarmonyOS源码

将 HarmonyOS | 鸿蒙 研究到底 < 国内 | 国外 >百篇博客系列篇.本篇为:v54.xx 鸿蒙内核源码分析(静态链接篇) | 完整小项目看透静态链接过程 | 51 .c .h .o下图是一个可执行文件编译,链接的过程.本篇将通过一个完整的小工程来阐述ELF编译,链接过程,并分析.o和bin文件中各区,符号表之间的关系.从一个崭新的视角去看中间过程,阅读之前建议先看v53.xx 鸿蒙内核源码分析(ELF解析篇) | 你要忘了她姐俩你就不是银 |

2021-05-15 10:16:05 459

原创 v53.03 鸿蒙内核源码分析(ELF解析) | 敢忘了她姐俩你就不是银 | 百篇博客分析HarmonyOS源码

将 HarmonyOS | 鸿蒙 研究到底 < 国内 | 国外 >百篇博客系列篇.本篇为:v52.xx 鸿蒙内核源码分析(ELF解析篇) | 代码区到底是怎么来的? | 51 .c .h .o系列篇将花四篇介绍ELF,它实在是太重要了,内核加载运行的源头就是它,不说清楚它怎么去说清楚应用程序运行的过程呢.本篇在v51.xx 鸿蒙内核源码分析(ELF格式篇) | 应用程序入口并不是main | 51 .c .h .o基础上进一步追问,发现还是有很多内容没讲清

2021-05-14 10:24:52 636

鸿蒙内核源码分析(百篇博客分析.挖透鸿蒙内核).pdf

鸿蒙内核源码分析(百篇博客分析.挖透鸿蒙内核).pdf

2021-04-29

鸿蒙内核源码分析.pdf

鸿蒙必定成功,也必然成功

2021-04-28

鸿蒙内核源码分析(百篇博客.定期更新)_2021.4.27.pdf

百篇博客分析鸿蒙内核源码

2021-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除