在開(kāi)始今天的正文之前,我們先通過(guò)下面的視頻,來(lái)更直觀的感受下微內(nèi)核操作系統(tǒng):
為什么要選擇微內(nèi)核操作系統(tǒng)?
微內(nèi)核操作系統(tǒng),單從名字上來(lái)說(shuō)可能被誤解為操作系統(tǒng)非常小,但這并不是它本身的意義,而是指內(nèi)核非常小,內(nèi)核只保留一些基本的功能,一些系統(tǒng)服務(wù),例如文件系統(tǒng),網(wǎng)絡(luò)協(xié)議棧等則放到了用戶態(tài)。
例如原來(lái)在宏內(nèi)核操作系統(tǒng)中,用戶應(yīng)用程序是通過(guò)系統(tǒng)調(diào)用,陷入到內(nèi)核中,然后再讀取、訪問(wèn)文件。而在微內(nèi)核操作系統(tǒng)中,則是用戶應(yīng)用程序通過(guò)發(fā)送IPC消息給到運(yùn)行在用戶態(tài)的文件系統(tǒng)服務(wù)來(lái)訪問(wèn)文件。
針對(duì)于微內(nèi)核操作系統(tǒng),我們看到最近兩三年有些新的發(fā)展:
Google在推進(jìn)Fuchsia微內(nèi)核操作系統(tǒng)
Intel在CPU的管理引擎中使用Minix微內(nèi)核操作系統(tǒng)
華為在推進(jìn)鴻蒙分布式微內(nèi)核操作系統(tǒng)
可以看到相關(guān)廠商都一致性的選擇了微內(nèi)核架構(gòu)或和微內(nèi)核架構(gòu)相關(guān)的技術(shù)方式。
這個(gè)背后的可能原因會(huì)有哪些?
原?進(jìn)程沙箱,解決應(yīng)?安全和分發(fā)問(wèn)題 -- Google Fuchsia(?客)
穩(wěn)定的驅(qū)動(dòng)接?,硬件?商可獨(dú)?維護(hù)硬件驅(qū)動(dòng) -- Google Fuchsia(硬件)
系統(tǒng)模塊化,分層,設(shè)備?商可以靈活定制專有系統(tǒng) -- Google Fuchsia(友商)
Linux越來(lái)越龐大,更多的為服務(wù)器進(jìn)行優(yōu)化,針對(duì)低性能、低資源設(shè)備顯得臃腫;
可以提供網(wǎng)絡(luò),文件,web服務(wù)等的功能輕型系統(tǒng);-- MINIX on Intel
(以上內(nèi)容:部分是許中興博士的Fuchsia一文的摘錄,部分則出自網(wǎng)絡(luò)上一些文章)
2019年年初,微內(nèi)核也在RT-Thread提上了日程,同年4月便正式開(kāi)始推進(jìn)這件事情。還有一個(gè)促使我們決定的重要原因是,我們從中看到一些市場(chǎng)需求:
快速啟動(dòng),終端上的系統(tǒng)可以在500ms內(nèi)完成啟動(dòng)并就緒;
安全方面的考慮,當(dāng)應(yīng)用出問(wèn)題時(shí)不會(huì)影響到其他無(wú)關(guān)功能;
在進(jìn)行系統(tǒng)升級(jí)時(shí),不類似傳統(tǒng)RTOS需要把整個(gè)固件進(jìn)行升級(jí);
當(dāng)要在ARM11、Cortex-A等帶MMU的處理器上跑一套操作系統(tǒng)時(shí),RT-Thread已經(jīng)不那么能夠得到適應(yīng):整體一起開(kāi)發(fā),代碼維護(hù)相對(duì)困難;升級(jí)時(shí)也需要對(duì)系統(tǒng)一起進(jìn)行升級(jí)。
RT-Thread Smart 混合微內(nèi)核
RT-Thread Smart 之所以采用混合微內(nèi)核架構(gòu),更多是從工程、實(shí)用層面考慮如何有效的解決需求:
系統(tǒng)啟動(dòng)需要足夠快,功能就緒時(shí)<500ms
在初始啟動(dòng)時(shí),時(shí)間會(huì)花很大一部分在系統(tǒng)加載上。傳統(tǒng)的方式,都是整個(gè)映像程序一起加載。新的系統(tǒng)則只需要加載一個(gè)非常小的系統(tǒng),然后其他應(yīng)用部分按需加載,同時(shí)保持整體資源占用足夠?。?/p>
應(yīng)用崩潰時(shí)不再影響到內(nèi)核、系統(tǒng)其他無(wú)關(guān)功能
每個(gè)應(yīng)用都是地址隔離的,擁有自己的獨(dú)立地址空間。當(dāng)應(yīng)用執(zhí)行出錯(cuò),或訪問(wèn)錯(cuò)誤地址時(shí),應(yīng)用程序會(huì)core dump,而不會(huì)影響到其他應(yīng)用,系統(tǒng)內(nèi)核;
在工程引入新的特性時(shí),對(duì)原有的功能不影響
繼續(xù)沿用目前的RT-Thread整體內(nèi)核代碼,在原有基礎(chǔ)上增加、完善lwP(輕型進(jìn)程)功能,保留原有的實(shí)時(shí)性和小巧的特點(diǎn)。
RT-Thread混合微內(nèi)核架構(gòu)
從架構(gòu)圖可以看出內(nèi)核的功能相對(duì)基本,一些系統(tǒng)服務(wù)則挪到了用戶態(tài),例如elmFATKit - FAT的文件系統(tǒng),lwIPKit - lwIP輕型TCP/IP協(xié)議棧等,而在用戶態(tài)則使用嵌入式系統(tǒng)中常用的musl libc庫(kù):一個(gè)輕型,但相對(duì)完整的libc實(shí)現(xiàn)。不過(guò)另外一點(diǎn),這些系列的用戶態(tài)系統(tǒng)服務(wù),如果需要追求高性能,也可以在menuconfig中定制這個(gè)功能組件繼續(xù)在內(nèi)核中保留,這樣可以達(dá)到最佳的性能。
通過(guò)混合微內(nèi)核改造RT-Thread操作系統(tǒng)后,RT-Thread將成為最適合物聯(lián)網(wǎng)產(chǎn)業(yè)的IoT OS之一,因?yàn)樗梢酝昝栏采w小資源場(chǎng)景的MCU用于簡(jiǎn)單控制<使用RT-Thread nano版本>;中等規(guī)模的IoT節(jié)點(diǎn)<使用RT-Thread宏內(nèi)核版本>;功能豐富的智能設(shè)備<使用RT-Thread混合微內(nèi)核版本,也稱之為RT-Thread Smart>。
報(bào)名測(cè)試條件及內(nèi)容
上面已經(jīng)對(duì)RT-Thread混合微內(nèi)核操作系統(tǒng)進(jìn)行了簡(jiǎn)單的介紹,還有許多沒(méi)有公布的細(xì)節(jié)。如果你有興趣了解,歡迎報(bào)名RT-Thread混合微內(nèi)核系統(tǒng)內(nèi)測(cè),從更全面的方位來(lái)了解RT-Thread Smart。 在參與測(cè)試前,先說(shuō)明下參與的條件:(名額有限,希望您可以認(rèn)真對(duì)待報(bào)名表中的每一個(gè)問(wèn)題)
希望是從事嵌入式系統(tǒng)終端開(kāi)發(fā)的行業(yè),具備開(kāi)發(fā)經(jīng)驗(yàn);
希望有一定的Linux開(kāi)發(fā)基礎(chǔ),前期一些開(kāi)發(fā)環(huán)境可能是在Linux下;
對(duì)于參與的同學(xué),我們會(huì)提供一份柿餅M7的開(kāi)發(fā)板,同時(shí)根據(jù)情況收取一定的押金,后續(xù)開(kāi)發(fā)板歸還后返回押金;
以下這個(gè)就是柿餅M7的開(kāi)發(fā)板:
柿餅M7開(kāi)發(fā)板包括:
全志R11處理器,1.2GHz ARM Cortex-A7,64MB DRAM
板載16MB SPI NorFlash
支持AP6181 WiFi
USB接口(用于USB Device連接PC),USB轉(zhuǎn)串口TTL
40/50pin標(biāo)準(zhǔn)RGB屏接口
6線Touch電容觸摸屏接口
MIPI/DVP camera接口(目前還未包括驅(qū)動(dòng))
對(duì)于參與測(cè)試的同學(xué),需要做些什么:
提供一份使用的測(cè)試報(bào)告,反饋混合微內(nèi)核使用上的最直觀感受;
在上面進(jìn)行一定的開(kāi)發(fā),反饋開(kāi)發(fā)層面哪里不足、需要改進(jìn);
希望可以有1 - 2個(gè)月的時(shí)間來(lái)和我們持續(xù)的溝通和反饋;
-
cpu
+關(guān)注
關(guān)注
68文章
10825瀏覽量
211151 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6738瀏覽量
123190 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1272瀏覽量
39923
原文標(biāo)題:【內(nèi)測(cè)邀請(qǐng)】RT-Thread Smart 混合微內(nèi)核系統(tǒng)開(kāi)始內(nèi)測(cè)了!
文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論