电子说
HarmonyOS 2发布后,外界很关注,但也存在一些混淆和误读,华为强调,已于2020年、2021年分两次把鸿蒙操作系统的基础能力全部捐献给开放原子开源基金会,并由基金会整合其它参与者贡献形成OpenHarmony项目(中文名正申请注册)。
至于HarmonyOS 2也就是鸿蒙2.0,是华为基于开源项目OpenHarmony 2.0开发的面向多种全场景智能设备的商用版本。
其实openHarmony与LInux的关系根据一目了然。openHarmony就是类似Ubuntu等Linux商用版本,在Linux开源内核基础上添加应用层东西然后整合成的。目前openHarmony用的是Linux内核4.19版本。对于绝大部分软件工程来说编程实际上就是了解需要调用那些API以及调用的规则而已,然后基于这两点根据需求开发软件,真正能从无到有设计出一些很基础的东西的人并不多。
openHarmony的驱动移植跟Android很像既要搞搞内核又要搞搞Hal层。openHarmony要是能实现类似Android这样很多人一起共同开发贡献的格局也是不错的,不过目前用的大厂不多。
OpenHarmony 内核承载的标准库与 Linux 标准库之间存在的关键差异。
进程
OpenHarmony 用户态进程优先级只支持静态优先级且用户态可配置的优先级范围为10(最高优先级)-31(最低优先级)。
OpenHarmony 用户态线程优先级只支持静态优先级且用户态可配置的优先级范围为0(最高优先级)-31(最低优先级)。
OpenHarmony 调度策略支持 SCHED_RR 和 SCHED_F IF O。
sched_yield() 为进程主动放弃 CPU ;thrd_yield() 为线程主动放弃 CPU。
内存与 Linux mmap 的差异
mmap 接口 原型为:void *mmap (void *addr, size_t length, int prot, int flags, int fd, off_t offset)。
其中,参数fd的生命周期实现与Linux glibc存在差异。具体体现在,glibc在成功调用mmap进行映射后,可以立即释放fd句柄。在OpenHarmony内核中,不允许用户在映射成功后立即关闭相关fd,只允许在取消映射munmap后再进行fd的close操作。如果用户不进行fd的close操作,操作系统将在进程退出时对该fd进行回收。
来源:CSDN,摩尔芯闻,快科技综合整理
责任编辑:lq
全部0条评论
快来发表一下你的评论吧 !