微內(nèi)核操作系統(tǒng)在嵌入式平臺(tái)上的應(yīng)用*
隨著嵌入式系統(tǒng)越來越多得與外部連接,甚至是通過互聯(lián)網(wǎng)連接,其安全性也越來越受到關(guān)注。比如用掌上電腦進(jìn)行網(wǎng)上購物的時(shí)候,用戶的銀行帳號(hào)信息必須得到嚴(yán)格的保護(hù)。安全性具體是指要求嵌入式設(shè)備在與外部連接的過程中,其內(nèi)部的數(shù)據(jù)不會(huì)偶然或被惡意地破壞、更改或者泄露,維持嵌入式系統(tǒng)中信息的保密性和完整性。
本文引用地址:http://cafeforensic.com/article/92482.htm所謂微內(nèi)核是一種最小的的計(jì)算機(jī)操作系統(tǒng)內(nèi)核,其設(shè)計(jì)思想是內(nèi)核本身不提供操作系統(tǒng)的相關(guān)服務(wù),而是提供實(shí)現(xiàn)這些服務(wù)的機(jī)制,諸如底層的地址空間管理,線程調(diào)度以及進(jìn)程間通信。一般的硬件都有執(zhí)行權(quán)限級(jí)別,比如Intel IA32架構(gòu)有Ring0到Ring3的特權(quán)級(jí),而一般的操作系統(tǒng)至少會(huì)用到兩個(gè),稱之為內(nèi)核態(tài)和用戶態(tài)。而對(duì)于微內(nèi)核操作系統(tǒng)來說,并非操作系統(tǒng)服務(wù)都運(yùn)行于內(nèi)核態(tài),而是提供服務(wù)實(shí)現(xiàn)的機(jī)制部分運(yùn)行于內(nèi)核態(tài);而操作系統(tǒng)的服務(wù),包括設(shè)備驅(qū)動(dòng),文件系統(tǒng)和用戶界面等則作為用戶態(tài)的服務(wù)應(yīng)用程序運(yùn)行。
圖2 單內(nèi)核操作系統(tǒng)(左)和微內(nèi)核操作系統(tǒng)結(jié)構(gòu)比較圖
如圖2所示,左邊的是單內(nèi)核操作系統(tǒng)的結(jié)構(gòu)示意圖。我們常用的Windows操作系統(tǒng)和Linux操作系統(tǒng)都屬于這個(gè)類型。單內(nèi)核操作系統(tǒng)的內(nèi)核提供完整的操作系統(tǒng)服務(wù),比如圖中所示的文件系統(tǒng),進(jìn)程間通信,進(jìn)程調(diào)度器,內(nèi)存管理,設(shè)備驅(qū)動(dòng)程序等等。而應(yīng)用程序則運(yùn)行在用戶態(tài),應(yīng)用程序想要使用操作系統(tǒng)提供的服務(wù),需要通過內(nèi)核提供的接口,我們稱之為系統(tǒng)調(diào)用。當(dāng)應(yīng)用程序進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí),會(huì)陷入到內(nèi)核的代碼去執(zhí)行,進(jìn)程此時(shí)運(yùn)行于內(nèi)核態(tài),處理器處于特權(quán)級(jí)最高的Ring0狀態(tài)執(zhí)行。當(dāng)應(yīng)用程序需要的操作系統(tǒng)服務(wù)調(diào)用完成,進(jìn)程回到原本的應(yīng)用程序代碼中繼續(xù)執(zhí)行,也同時(shí)回到了用戶態(tài),在Ring3的特權(quán)級(jí)上運(yùn)行。
而對(duì)于右邊的微內(nèi)核操作系統(tǒng),操作系統(tǒng)的內(nèi)核部分被大大簡(jiǎn)化,只包括基本的IPC機(jī)制,虛擬內(nèi)存映射和調(diào)度機(jī)制,這些僅僅是用于實(shí)現(xiàn)操作系統(tǒng)服務(wù)的基本機(jī)制。真正的操作系統(tǒng)服務(wù),比如設(shè)備驅(qū)動(dòng),文件系統(tǒng),應(yīng)用程序間通信等,通過用戶態(tài)服務(wù)程序的方式實(shí)現(xiàn)。當(dāng)普通的應(yīng)用程序需要操作系統(tǒng)的相關(guān)服務(wù)時(shí),通過發(fā)送IPC消息給這個(gè)服務(wù)程序,這些服務(wù)程序進(jìn)行相關(guān)的操作,必要時(shí)也會(huì)通過內(nèi)核提供的系統(tǒng)調(diào)用陷入到內(nèi)核態(tài)去執(zhí)行基本的操作,并把結(jié)果再通過IPC返回給請(qǐng)求服務(wù)的應(yīng)用程序。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論