在開始今天的正文之前,我們先通過下面的視頻,來更直觀的感受下微內(nèi)核操作系統(tǒng):
為什么要選擇微內(nèi)核操作系統(tǒng)?
微內(nèi)核操作系統(tǒng),單從名字上來說可能被誤解為操作系統(tǒng)非常小,但這并不是它本身的意義,而是指內(nèi)核非常小,內(nèi)核只保留一些基本的功能,一些系統(tǒng)服務(wù),例如文件系統(tǒng),網(wǎng)絡(luò)協(xié)議棧等則放到了用戶態(tài)。
例如原來在宏內(nèi)核操作系統(tǒng)中,用戶應(yīng)用程序是通過系統(tǒng)調(diào)用,陷入到內(nèi)核中,然后再讀取、訪問文件。而在微內(nèi)核操作系統(tǒng)中,則是用戶應(yīng)用程序通過發(fā)送IPC消息給到運行在用戶態(tài)的文件系統(tǒng)服務(wù)來訪問文件。
針對于微內(nèi)核操作系統(tǒng),我們看到最近兩三年有些新的發(fā)展:
Google在推進Fuchsia微內(nèi)核操作系統(tǒng)
Intel在CPU的管理引擎中使用Minix微內(nèi)核操作系統(tǒng)
華為在推進鴻蒙分布式微內(nèi)核操作系統(tǒng)
可以看到相關(guān)廠商都一致性的選擇了微內(nèi)核架構(gòu)或和微內(nèi)核架構(gòu)相關(guān)的技術(shù)方式。
這個背后的可能原因會有哪些?
原?進程沙箱,解決應(yīng)?安全和分發(fā)問題 -- Google Fuchsia(?客)
穩(wěn)定的驅(qū)動接?,硬件?商可獨?維護硬件驅(qū)動 -- Google Fuchsia(硬件)
系統(tǒng)模塊化,分層,設(shè)備?商可以靈活定制專有系統(tǒng) -- Google Fuchsia(友商)
Linux越來越龐大,更多的為服務(wù)器進行優(yōu)化,針對低性能、低資源設(shè)備顯得臃腫;
可以提供網(wǎng)絡(luò),文件,web服務(wù)等的功能輕型系統(tǒng);-- MINIX on Intel
(以上內(nèi)容:部分是許中興博士的Fuchsia一文的摘錄,部分則出自網(wǎng)絡(luò)上一些文章)
2019年年初,微內(nèi)核也在RT-Thread提上了日程,同年4月便正式開始推進這件事情。還有一個促使我們決定的重要原因是,我們從中看到一些市場需求:
快速啟動,終端上的系統(tǒng)可以在500ms內(nèi)完成啟動并就緒;
安全方面的考慮,當(dāng)應(yīng)用出問題時不會影響到其他無關(guān)功能;
在進行系統(tǒng)升級時,不類似傳統(tǒng)RTOS需要把整個固件進行升級;
當(dāng)要在ARM11、Cortex-A等帶MMU的處理器上跑一套操作系統(tǒng)時,RT-Thread已經(jīng)不那么能夠得到適應(yīng):整體一起開發(fā),代碼維護相對困難;升級時也需要對系統(tǒng)一起進行升級。
RT-Thread Smart 混合微內(nèi)核
RT-Thread Smart 之所以采用混合微內(nèi)核架構(gòu),更多是從工程、實用層面考慮如何有效的解決需求:
系統(tǒng)啟動需要足夠快,功能就緒時<500ms
在初始啟動時,時間會花很大一部分在系統(tǒng)加載上。傳統(tǒng)的方式,都是整個映像程序一起加載。新的系統(tǒng)則只需要加載一個非常小的系統(tǒng),然后其他應(yīng)用部分按需加載,同時保持整體資源占用足夠小;
應(yīng)用崩潰時不再影響到內(nèi)核、系統(tǒng)其他無關(guān)功能
每個應(yīng)用都是地址隔離的,擁有自己的獨立地址空間。當(dāng)應(yīng)用執(zhí)行出錯,或訪問錯誤地址時,應(yīng)用程序會core dump,而不會影響到其他應(yīng)用,系統(tǒng)內(nèi)核;
在工程引入新的特性時,對原有的功能不影響
繼續(xù)沿用目前的RT-Thread整體內(nèi)核代碼,在原有基礎(chǔ)上增加、完善lwP(輕型進程)功能,保留原有的實時性和小巧的特點。
RT-Thread混合微內(nèi)核架構(gòu)
從架構(gòu)圖可以看出內(nèi)核的功能相對基本,一些系統(tǒng)服務(wù)則挪到了用戶態(tài),例如elmFATKit - FAT的文件系統(tǒng),lwIPKit - lwIP輕型TCP/IP協(xié)議棧等,而在用戶態(tài)則使用嵌入式系統(tǒng)中常用的musl libc庫:一個輕型,但相對完整的libc實現(xiàn)。不過另外一點,這些系列的用戶態(tài)系統(tǒng)服務(wù),如果需要追求高性能,也可以在menuconfig中定制這個功能組件繼續(xù)在內(nèi)核中保留,這樣可以達到最佳的性能。
通過混合微內(nèi)核改造RT-Thread操作系統(tǒng)后,RT-Thread將成為最適合物聯(lián)網(wǎng)產(chǎn)業(yè)的IoT OS之一,因為它可以完美覆蓋小資源場景的MCU用于簡單控制<使用RT-Thread nano版本>;中等規(guī)模的IoT節(jié)點<使用RT-Thread宏內(nèi)核版本>;功能豐富的智能設(shè)備<使用RT-Thread混合微內(nèi)核版本,也稱之為RT-Thread Smart>。
報名測試條件及內(nèi)容
上面已經(jīng)對RT-Thread混合微內(nèi)核操作系統(tǒng)進行了簡單的介紹,還有許多沒有公布的細節(jié)。如果你有興趣了解,歡迎報名RT-Thread混合微內(nèi)核系統(tǒng)內(nèi)測,從更全面的方位來了解RT-Thread Smart。 在參與測試前,先說明下參與的條件:(名額有限,希望您可以認真對待報名表中的每一個問題)
希望是從事嵌入式系統(tǒng)終端開發(fā)的行業(yè),具備開發(fā)經(jīng)驗;
希望有一定的Linux開發(fā)基礎(chǔ),前期一些開發(fā)環(huán)境可能是在Linux下;
對于參與的同學(xué),我們會提供一份柿餅M7的開發(fā)板,同時根據(jù)情況收取一定的押金,后續(xù)開發(fā)板歸還后返回押金;
以下這個就是柿餅M7的開發(fā)板:
柿餅M7開發(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ū)動)
對于參與測試的同學(xué),需要做些什么:
提供一份使用的測試報告,反饋混合微內(nèi)核使用上的最直觀感受;
在上面進行一定的開發(fā),反饋開發(fā)層面哪里不足、需要改進;
希望可以有1 - 2個月的時間來和我們持續(xù)的溝通和反饋;
-
cpu
+關(guān)注
關(guān)注
68文章
11277瀏覽量
224955 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7401瀏覽量
129284 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1613瀏覽量
44868
原文標(biāo)題:【內(nèi)測邀請】RT-Thread Smart 混合微內(nèi)核系統(tǒng)開始內(nèi)測了!
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
操作系統(tǒng)體系結(jié)構(gòu)
操作系統(tǒng)的發(fā)展及分類
操作系統(tǒng)運行機制
從內(nèi)核到生態(tài):一次看懂HarmonyOS 6如何重寫操作系統(tǒng)的“基礎(chǔ)代碼”
龍蜥操作系統(tǒng)裝機量突破1000萬
EV10AS180A模數(shù)轉(zhuǎn)換器支持哪些操作系統(tǒng)
單片機的操作系統(tǒng)
嵌入式實時操作系統(tǒng)的特點
如何選擇合適的實時操作系統(tǒng)
樹莓派操作系統(tǒng):版本、特性及設(shè)置完整指南!
聚徽廠家解碼——工控機操作系統(tǒng)選擇:Windows、Linux、QNX 如何匹配工業(yè)場景
鴻道Intewell操作系統(tǒng):人形機器人底層操作系統(tǒng)
普華基礎(chǔ)軟件開源汽車操作系統(tǒng)新版本代碼上線
普華基礎(chǔ)軟件開源車用操作系統(tǒng)迎來全新版本
權(quán)威認證!KaihongOS工業(yè)實時操作系統(tǒng)內(nèi)核通過中國泰爾實驗室的測試認證
為什么要選擇微內(nèi)核操作系統(tǒng)?
評論