RTT大牛告诉你,混合微内核是什么?
RT-Thread之前寫過好幾篇文章介紹微內(nèi)核,然而不少開發(fā)者依然不清楚到底微內(nèi)核操作系統(tǒng)是什么。為此,我們特別整理了5期快問快答,來為大家答疑解惑!
RT-Thread Smart稱作是混合微內(nèi)核操作系統(tǒng),為什么叫混合微內(nèi)核操作系統(tǒng)呢?
RT-Thread Smart和當(dāng)前的版本及Linux有什么區(qū)別?
有什么特色呢,用于什么場(chǎng)景?
資源占用情況如何呢?
效率又是怎么樣呢?
且待我們一一解答,今天先來解釋RT-Thread Smart混合微內(nèi)核操作系統(tǒng)是什么。
<插播一句:9月1日RT-Thread將在北京舉行發(fā)布會(huì)發(fā)布RT-Thread Smart混合微內(nèi)核操作系統(tǒng),歡迎報(bào)名來現(xiàn)場(chǎng)交流了解更多信息,觀看微內(nèi)核應(yīng)用Demo>>
首先來看看這幾個(gè)概念
PART ONE
什么是宏內(nèi)核操作系統(tǒng)?
操作系統(tǒng)的特性組件均以內(nèi)核態(tài)運(yùn)行,而用戶程序在用戶態(tài)運(yùn)行。比如 Linux 是一種典型的宏內(nèi)核操作系統(tǒng),不僅僅內(nèi)核組件、驅(qū)動(dòng)程序、網(wǎng)絡(luò)協(xié)議棧、文件系統(tǒng)等等均在內(nèi)核態(tài)運(yùn)行。宏內(nèi)核操作系統(tǒng)要求在內(nèi)核態(tài)運(yùn)行的程序代碼具備極高的健壯性,否則任何一部分的錯(cuò)誤或異常非常容易擴(kuò)散到整個(gè)操作系統(tǒng),引發(fā)系統(tǒng)崩潰等嚴(yán)重問題。
PART TWO
什么是微內(nèi)核操作系統(tǒng)?
操作系統(tǒng)的內(nèi)核模塊運(yùn)行在內(nèi)核態(tài),網(wǎng)絡(luò)協(xié)議棧、文件系統(tǒng)等和用戶程序一樣運(yùn)行在用戶態(tài)。這種操作系統(tǒng)的內(nèi)核可以做的很小,功能單一簡(jiǎn)練,比較容易形成穩(wěn)定的內(nèi)核。用戶態(tài)的大型組件即使有發(fā)生異常,既不會(huì)影響其他進(jìn)程的運(yùn)行,也不會(huì)導(dǎo)致操作系統(tǒng)內(nèi)核崩潰。
PART THREE
什么是混合微內(nèi)核操作系統(tǒng)?
混合微內(nèi)核操作系統(tǒng)是 睿賽德科技針對(duì)目前行業(yè)痛點(diǎn)定義的一款新形態(tài)的操作系統(tǒng),支持將系統(tǒng)服務(wù)組件或驅(qū)動(dòng)按需納入內(nèi)核態(tài)中運(yùn)行,以獲得更佳的性能,也支持將系統(tǒng)的大部分系統(tǒng)組件及驅(qū)動(dòng)移到內(nèi)核之外即用戶態(tài),以一個(gè)個(gè)單獨(dú)的服務(wù)進(jìn)程運(yùn)行,內(nèi)核與服務(wù)進(jìn)程之間通過消息傳遞完成交互。
這樣,從外在看,這種操作系統(tǒng)兼具微內(nèi)核操作系統(tǒng)的特性,又具備了宏內(nèi)核的高性能特性,為開發(fā)者提供了更多系統(tǒng)性能調(diào)優(yōu)方面的可能。
下面用一個(gè)通俗的例子來做個(gè)比喻解釋下微內(nèi)核和混合微內(nèi)核:
操作系統(tǒng)內(nèi)核 - 比喻為總經(jīng)理在總經(jīng)理辦公室(內(nèi)核態(tài))
某個(gè)進(jìn)程 A - 比喻為處理工作的職員A,在外面的辦公區(qū)某個(gè)工位(該進(jìn)程空間)
某個(gè)進(jìn)程 B(用戶應(yīng)用程序或系統(tǒng)服務(wù)) - 比喻為處理工作的職員B,在外面的辦公區(qū)另一個(gè)工位(該進(jìn)程空間)
微內(nèi)核場(chǎng)景下, 職員A和職員B,分別和總經(jīng)理交流,分別在不同的工位,即使A發(fā)生錯(cuò)誤,也不影響B(tài)以及總經(jīng)理的安全,而且此時(shí)總經(jīng)理辦公室非常簡(jiǎn)單,處理的事務(wù)也很簡(jiǎn)單,只負(fù)責(zé)任務(wù)計(jì)劃(調(diào)度)、通信(IPC)、工位分配(內(nèi)存管理)等,可以做到足夠的簡(jiǎn)單穩(wěn)定,這些都是微內(nèi)核特有的優(yōu)秀屬性。
在某些情況下,假設(shè)A需要B的服務(wù),則仍舊需要A先敲門進(jìn)總經(jīng)理辦公室(操作系統(tǒng)中進(jìn)程間互相訪問,需要調(diào)用內(nèi)核機(jī)制),再出來,總經(jīng)理然后把B叫進(jìn)來,B提供服務(wù),經(jīng)由總經(jīng)理轉(zhuǎn)給A。?這期間,A和B與總經(jīng)理交流都要頻繁敲門開門關(guān)門(系統(tǒng)調(diào)用),會(huì)消耗部分資源。如果A對(duì)B的服務(wù)請(qǐng)求過分頻繁,則系統(tǒng)的響應(yīng)速度會(huì)比較低。
此時(shí),如果B能夠直接搬進(jìn)總經(jīng)理辦公室(內(nèi)核態(tài)),如果A需要請(qǐng)求服務(wù),則B就在總經(jīng)理邊上,響應(yīng)就會(huì)變得十分迅速,這就是 某些進(jìn)程(例如B)可以在用戶態(tài)執(zhí)行,也可以按需遷移到內(nèi)核態(tài)(總經(jīng)理室)運(yùn)行。這時(shí)的內(nèi)核特性,就是表現(xiàn)為混合微內(nèi)核,而不是一個(gè)純粹的微內(nèi)核。
這個(gè)比喻不一定恰當(dāng),但應(yīng)該能一定程度幫助我們理解什么是微內(nèi)核操作系統(tǒng)以及混合微內(nèi)核操作系統(tǒng),如有建議請(qǐng)留言探討。
下一問我們將解答下RT-Thread Smart和Linux、RT-Thread的區(qū)別,敬請(qǐng)關(guān)注。
你可以添加微信?17775982065?為好友,注明:公司+姓名,拉進(jìn) RT-Thread 官方微信交流群!
RT-Thread
讓物聯(lián)網(wǎng)終端的開發(fā)變得簡(jiǎn)單、快速,芯片的價(jià)值得到最大化發(fā)揮。Apache2.0協(xié)議,可免費(fèi)在商業(yè)產(chǎn)品中使用,不需要公布源碼,無潛在商業(yè)風(fēng)險(xiǎn)。
長(zhǎng)按二維碼,關(guān)注我們
總結(jié)
以上是生活随笔為你收集整理的RTT大牛告诉你,混合微内核是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 富勒WMS系统手册
- 下一篇: 上海富勒wms_【快消 | 三草两木牵手