毕昇编译器是一个LLVM的下游发行版, 为鲲鹏CPU提供了一些优化的C/C++/Fortran编译器实现. 类似Intel的ICC, AMD的AOCC, Nvidia的NVCC, 均为LLVM的下游发行版.

  1. ArkTS是ArkUI的底层语言, 扩展了TypeScript的语法.
    仓颉没有公开, 不清楚目的和用途.

  2. EROFS是华为开发的只读文件系统, 是主线Linux支持的文件系统.

EROFS的开源协议是GPL 2.0 Only, 意味着该文件系统的当前实现如果在HarmonyOS中使用, 则必须开源.
与EROFS类似的文件系统是SquashFS

HMDFS是一个网络文件系统, 底层网络实现为软总线. 类似的文件系统为9pfs, 底层使用Plan9协议.

用户态服务器: OpenHarmony/filemanagement_dfs_service

内核态文件系统实现: OpenHarmony/kernel_linux_5.10

  1. 鸿蒙内核为传说中的微内核, 虽然有可信来源该内核开发了很久, 但至今没有开源.

但我认为鸿蒙内核仍不会在鸿蒙Next上作为REE内核使用, 而是像现在一样作为TEE OS.

TEEOS 是一个在 TrustZone 中运行的微型操作系统,适用于可信/安全应用程序。 TEEOS的内核是HongMeng/ChCore微内核。 TEEOS 的 libc 是 musl 的一部分。

TEEOS 中的应用程序非常小,没有 RwLock、没有网络、没有 stdin、也没有文件系统。

TEEOS未来会开源

目前该内核尚未开源, 但存在文档. 在OpenHarmony里这个内核又被称为OpenTrustee.

华为历史上已经开发了名为iTrustee的TEE微内核, 下图为华为在2018年拿到了某认证证书, 认证产品为iTrustee的2.0版本. 因此可以认为OpenTrustee为iTrustee的开源版本.

另一方面, OpenHarmony仍在开发相关的Linux模块(例如同样出现在PPT里的hmdfs和erofs), 如果REE系统内核不是Linux, 则完全没有必要开发对应功能的Linux版本. 如下是OpenHarmony的Linux内核模块
OpenHarmony/kernel_linux_common_modules
这些模块包括了若干OpenHarmony的功能:

  • code_sign: 强制要求ELF文件包括签名, iOS同款功能. 不过代码中显示, 打开开发者模式即可绕过该检查. 该功能使用了Linux的fsverity和SELinux功能, 实现了验证ELF文件附带的X.509证书的功能, 阻止没有签名的ELF文件运行.
  • container_escape_detection: 容器逃逸检查. 阻止容器内的进程逃出namespace. appspawn可见OpenHarmony使用了基于Linux namespace的沙箱机制.
  • memory_security: 阻止jit, iOS同款功能. 代码中显示, Web渲染进程使用了JIT, 且内核代码还把/proc/[pid]/maps里的JIT内存区域隐藏了. 非浏览器渲染进程无法使用JIT. 看起来鸿蒙系统也没有原生的火狐浏览器了.
  • newip: 一个类似于IPV4/IPV6的3层网络协议.
  • pac: PAC为ARMv8.3的指针验证扩展, 通过对指针的高位地址加密, 阻止许多ROP攻击. 苹果的ARM64e同款功能.
  • qos_auth: 一个APP级别的Linux调度策略模块.
  • tzdriver: 前文所提的TEEOS的REE侧内核驱动.
  • ucollection: 一个CPU使用率的统计模块.
  • xpm: 对方舟字节码进行签名验证, 阻止未签名的字节码运行, 阻止JIT.

所以, HarmonyOS Next大概率是一个基于Linux内核, 只能从应用商店安装App, 提供有限的侧载支持, 不支持Android应用, 不允许使用JIT, 不允许root的类似于iOS的移动操作系统.

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐