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