‘壹’ 鸿蒙内核源码分析 (TLFS 算法篇) | 图表解读 TLFS 原理
动态分配的概念在本篇中被深入探讨,分为上、下两篇,此篇为上篇,旨在让您快速掌握下篇中鸿蒙内核源码动态内存实现的精髓。
TLSF(Two-Level Segregate Fit)是面向实时操作系统的内存分配算法,采用两级结构对空闲块进行分类,借助两级链表/索引以提升查找效率。
请先自行理解上图的原理,再参考本篇内容。接下来,我们将详细解析TLSF的申请与释放过程。
在申请内存时,采用二次申请方法,当[32-64]的二级位图变为00100010,表示有两个空闲块满足需求,此时内存成功分配。
释放内存时,亦采用二次释放策略,确保已使用的空间被正确归还。请仔细理解这一过程。
TLSF算法具有两大优势:高效查找空闲块与动态适应内存需求。鸿蒙内存动态分配的实现虽更复杂,但基于本文中的算法基础,阅读源码将变得更为轻松。
总结:动态分配机制在实际应用中至关重要,理解TLSF算法原理与鸿蒙内核源码中的实现,能够为您在内存管理方面提供强大的支持。
‘贰’ Harmony OS 开发指南——源码下载和编译
本文指南详细介绍了下载鸿蒙系统源码的步骤,以及配置跨平台编译环境以生成不同目标平台的二进制文件。文章内容涵盖硬件与软件环境准备、下载源码、配置Repo工具、安装编译所需工具、创建Python虚拟环境、以及激活环境进行源码编译。文中特别提到了切换默认Shell为bash以确保Makefile中特定命令的执行,以及为三个目标平台(Hi3516、Hi3518和Hi3861)生成对应二进制文件的命令。
在编译过程中,可能会遇到ffmpeg相关的编译失败问题,解决方法是检查配置日志文件,以定位具体原因。为了帮助读者进一步学习和掌握鸿蒙开发技术,作者还提供了《鸿蒙开发学习手册》和鸿蒙开发面试题集,内容覆盖项目开发、性能优化、架构设计、底层技术、音视频开发以及车载系统开发等方向,共计890页和319页的深度学习资料。
‘叁’ 鸿蒙系统是封闭还是开源
鸿蒙系统不是封闭系统,而是一个开源的操作系统。
它的源代码可以被公开获取到,并且任何人都可以访问和使用它。华为也已经把HarmonyOS的基础能力全部捐献给了开放原子开源基金会,并且鼓励其他公司和组织参与到鸿蒙系统的开发和贡献中来。因此,鸿蒙系统是一个开源的系统,而不是封闭的系统。