HarmonyOS 2發(fā)布后,外界很關(guān)注,但也存在一些混淆和誤讀,華為強(qiáng)調(diào),已于2020年、2021年分兩次把鴻蒙操作系統(tǒng)的基礎(chǔ)能力全部捐獻(xiàn)給開(kāi)放原子開(kāi)源基金會(huì),并由基金會(huì)整合其它參與者貢獻(xiàn)形成OpenHarmony項(xiàng)目(中文名正申請(qǐng)注冊(cè))。
至于HarmonyOS 2也就是鴻蒙2.0,是華為基于開(kāi)源項(xiàng)目OpenHarmony 2.0開(kāi)發(fā)的面向多種全場(chǎng)景智能設(shè)備的商用版本。
其實(shí)openHarmony與LInux的關(guān)系根據(jù)一目了然。openHarmony就是類(lèi)似Ubuntu等Linux商用版本,在Linux開(kāi)源內(nèi)核基礎(chǔ)上添加應(yīng)用層?xùn)|西然后整合成的。目前openHarmony用的是Linux內(nèi)核4.19版本。對(duì)于絕大部分軟件工程來(lái)說(shuō)編程實(shí)際上就是了解需要調(diào)用那些API以及調(diào)用的規(guī)則而已,然后基于這兩點(diǎn)根據(jù)需求開(kāi)發(fā)軟件,真正能從無(wú)到有設(shè)計(jì)出一些很基礎(chǔ)的東西的人并不多。
openHarmony的驅(qū)動(dòng)移植跟Android很像既要搞搞內(nèi)核又要搞搞Hal層。openHarmony要是能實(shí)現(xiàn)類(lèi)似Android這樣很多人一起共同開(kāi)發(fā)貢獻(xiàn)的格局也是不錯(cuò)的,不過(guò)目前用的大廠不多。
OpenHarmony 內(nèi)核承載的標(biāo)準(zhǔn)庫(kù)與 Linux 標(biāo)準(zhǔn)庫(kù)之間存在的關(guān)鍵差異。
進(jìn)程
OpenHarmony 用戶(hù)態(tài)進(jìn)程優(yōu)先級(jí)只支持靜態(tài)優(yōu)先級(jí)且用戶(hù)態(tài)可配置的優(yōu)先級(jí)范圍為10(最高優(yōu)先級(jí))-31(最低優(yōu)先級(jí))。
OpenHarmony 用戶(hù)態(tài)線程優(yōu)先級(jí)只支持靜態(tài)優(yōu)先級(jí)且用戶(hù)態(tài)可配置的優(yōu)先級(jí)范圍為0(最高優(yōu)先級(jí))-31(最低優(yōu)先級(jí))。
OpenHarmony 調(diào)度策略支持 SCHED_RR 和 SCHED_F IF O。
sched_yield() 為進(jìn)程主動(dòng)放棄 CPU ;thrd_yield() 為線程主動(dòng)放棄 CPU。
內(nèi)存與 Linux mmap 的差異
mmap 接口 原型為:void *mmap (void *addr, size_t length, int prot, int flags, int fd, off_t offset)。
其中,參數(shù)fd的生命周期實(shí)現(xiàn)與Linux glibc存在差異。具體體現(xiàn)在,glibc在成功調(diào)用mmap進(jìn)行映射后,可以立即釋放fd句柄。在OpenHarmony內(nèi)核中,不允許用戶(hù)在映射成功后立即關(guān)閉相關(guān)fd,只允許在取消映射munmap后再進(jìn)行fd的close操作。如果用戶(hù)不進(jìn)行fd的close操作,操作系統(tǒng)將在進(jìn)程退出時(shí)對(duì)該fd進(jìn)行回收。
來(lái)源:CSDN,摩爾芯聞,快科技綜合整理
責(zé)任編輯:lq
-
Linux
+關(guān)注
關(guān)注
87文章
11326瀏覽量
209961 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1980瀏覽量
30327 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3731瀏覽量
16425
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論