OpenHarmony和linux

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解OpenHarmony和linux问题。 《鸿蒙系统2》上映后,外界非常关注

大家好,我是本期栏目编辑小友,现在为大家讲解OpenHarmony和linux问题。

《鸿蒙系统2》上映后,外界非常关注,但也存在一些困惑和误解。华为强调,已于2020年和2021年两次将鸿蒙系统操作系统的所有基础能力捐赠给开放原子开源基金会,该基金会整合其他参与者的贡献形成了OpenHarmony项目(中文名为申请注册)。

鸿蒙系统2,又称鸿蒙系统2.0,是华为基于开源项目OpenHarmony 2.0开发的商用版本,适用于各种场景下的各种智能设备。

其实openHarmony和LInux的关系一目了然。OpenHarmony是和Ubuntu一样的Linux商业版,是在Linux开源内核的基础上加入应用层的东西进行集成的。目前openHarmony使用的是Linux内核4.19版本。对于绝大多数的软件工程来说,编程其实就是知道需要调用哪些API,调用哪些规则,然后基于这两点按照需求开发软件。真正能从零开始设计出非常基础的东西的人并不多。

OpenHarmony的驱动移植和安卓非常相似,都需要内核和Hal层。如果openHarmony能够实现像安卓这样多人共同开发、共同贡献的模式就好了,但是目前使用的大厂并不多。

OpenHarmony内核托管的标准库和Linux标准库有关键的区别。

过程

OpenHarmony用户模式进程优先级仅支持静态优先级,用户模式可配置优先级范围为10(最高优先级)-31(最低优先级)。

OpenHarmony用户模式线程优先级仅支持静态优先级,用户模式可配置优先级范围为0(最高优先级)-31(最低优先级)。

OpenHarmony调度策略支持SCHED_RR和sched _ f if o。

Sched_yield()自愿为进程放弃CPUThrd_yield()是线程主动放弃CPU。

与Linux mmap的区别。

mmap接口原型是void *mmap (void *addr,size_t长度,int prot,int标志,int fd,off_t偏移量)。

其中,参数fd的生命周期实现不同于Linux glibc。具体来说,glibc可以在成功调用mmap进行映射后立即释放fd句柄。在OpenHarmony内核中,不允许用户在映射成功后立即关闭相关fd,只允许用户在取消映射munmap后关闭fd。如果用户不关闭fd,操作系统将在进程退出时回收fd。

资料来源:CSDN,摩尔辛文,快速技术综合整理。

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。