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