微內核操作系統在嵌入式平臺上的應用

發(fā)布時(shí)間:2009-3-18 08:07    發(fā)布者:虞美人
關(guān)鍵詞: 操作系統 , 內核 , 嵌入式
在最近的幾年中,嵌入式技術(shù)得到了飛速的發(fā)展。大到汽車(chē)、電梯、醫療儀器乃至工業(yè)設備,小到手機、MP4、照相機等消費電子產(chǎn)品,甚至是人們生活中所熟知的電冰箱、微波爐、洗衣機等傳統電器,到處可以看到嵌入式系統的身影。根據BCC Research Group的分析結果,嵌入式行業(yè)在最近5年中保持著(zhù)年均14%的增長(cháng),到2009年將會(huì )成為一個(gè)880億的巨大市場(chǎng)。

  所謂嵌入式系統是指為特定應用而設計的專(zhuān)用電腦系統,通常執行的是帶有特定要求的預先定義的任務(wù)。說(shuō)到嵌入式系統上的操作系統,人們首先想到的是各種經(jīng)過(guò)裁剪的Linux以及WinCE。但是Linux和WinCE本身作為單內核(monolithic kernel)操作系統,內核部分過(guò)于復雜,并不適用于嵌入式平臺。而μC/Os-II和eCos等又過(guò)于簡(jiǎn)單,不能提供完整的功能。而隨著(zhù)微內核(microkernel)操作系統的理論和實(shí)現越來(lái)越成熟,微內核操作系統開(kāi)始成為嵌入式平臺一個(gè)很好的選擇。



  圖1 嵌入式平臺操作系統占有率比較圖


  來(lái)源:www.linuxdevices.com

  嵌入式平臺對操作系統的需求

  嵌入式平臺上運行的操作系統一方面會(huì )根據嵌入式平臺所執行的功能對內核組件進(jìn)行裁剪,在滿(mǎn)足系統的應用功能的基礎上去除不必要的部分;另一方面,嵌入式平臺對操作系統的可靠性,實(shí)時(shí)性和安全性特性有很高的要求。

  可靠性是指嵌入式設備特別是工業(yè)設備中的嵌入式系統經(jīng)常需要連續運行數以年計的時(shí)間而不出差錯?梢韵胂袢绻w機中的嵌入式系統在飛機飛行時(shí)崩潰重啟,會(huì )造成多么大的危害。這就要求嵌入式系統上的操作系統的運行完全沒(méi)有錯誤,或者在錯誤出現的時(shí)候可以快速自動(dòng)復位,并且避免在操作系統中使用不穩定的模塊。

  實(shí)時(shí)性是指系統能在確定的時(shí)間內執行操作并對外部的異步事件做出響應,比如汽車(chē)發(fā)生車(chē)禍時(shí)安全氣囊必須在極短的時(shí)間內打開(kāi)。一次正確的操作不僅要求邏輯功能上的正確,而且要求完成這些操作所花費的時(shí)間在限定之內。實(shí)時(shí)又分成硬實(shí)時(shí)和軟實(shí)時(shí),硬實(shí)時(shí)要求任務(wù)在規定時(shí)間內必須完成,這由操作系統來(lái)保證;而軟實(shí)時(shí)要求事件響應是實(shí)時(shí)的,并按照任務(wù)的優(yōu)先級,盡可能在短時(shí)間內完成任務(wù)。實(shí)時(shí)操作系統需要調度一切可利用的資源完成有實(shí)時(shí)性要求的任務(wù),其次才著(zhù)考慮提高操作系統的整體效率。

  隨著(zhù)嵌入式系統越來(lái)越多得與外部連接,甚至是通過(guò)互聯(lián)網(wǎng)連接,其安全性也越來(lái)越受到關(guān)注。比如用掌上電腦進(jìn)行網(wǎng)上購物的時(shí)候,用戶(hù)的銀行帳號信息必須得到嚴格的保護。安全性具體是指要求嵌入式設備在與外部連接的過(guò)程中,其內部的數據不會(huì )偶然或被惡意地破壞、更改或者泄露,維持嵌入式系統中信息的保密性和完整性。

  微內核操作系統

  所謂微內核是一種最小的的計算機操作系統內核,其設計思想是內核本身不提供操作系統的相關(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ù)的應用程序。

  微內核操作系統特點(diǎn)

  微內核操作系統特有的架構帶來(lái)的很多優(yōu)點(diǎn),這些特點(diǎn)正好匹配了嵌入式平臺對操作系統的需求,非常適合于嵌入式環(huán)境的應用。

  首先是可靠性,按照單內核操作系統的設計,內核包括所有的操作系統服務(wù),其中任何一個(gè)服務(wù)出錯,就會(huì )造成整個(gè)系統的崩潰。微內核操作系統的設計思想是在內核中留盡量少的東西,只保留實(shí)現操作系統服務(wù)的最基本機制,而把具體服務(wù)的實(shí)現放到用戶(hù)態(tài)的服務(wù)應用程序中去。這就大大降低了內核崩潰的幾率。特別是目前操作系統的許多錯誤都是因為不規范,并且沒(méi)有經(jīng)過(guò)嚴格測試的驅動(dòng)程序造成的。圖3顯示了Linux內核代碼不同目錄的錯誤分布,顯然驅動(dòng)程序的錯誤是主要原因。




圖3 操作系統中的錯誤在各模塊中的分布(來(lái)源:文獻[4])


  然后是實(shí)時(shí)性。實(shí)時(shí)性是指操作系統對響應時(shí)間有嚴格的要求,不僅要求成功執行還要求在規定的時(shí)間內完成所有操作。一般會(huì )要求操作系統內核是搶占式的,并且內核的代碼是可重入的。微內核操作系統內核較小也意味著(zhù)需要實(shí)時(shí)化的部分較少。而且微內核之上也可以很方便同時(shí)運行實(shí)時(shí)的程序和一般的非實(shí)時(shí)的程序。

  此外還不能忘了安全性。設計安全系統的準則是最小權限準則,也即所有的部件都只擁有執行相關(guān)功能所必須的權限,而沒(méi)有額外的權限。最小權限準則需要系統的可信計算基礎盡可能地小?尚庞嬎慊A(Trusted Computing Base)是指整個(gè)系統中對安全性最關(guān)鍵的部分,在可信計算基礎內的漏洞會(huì )危及整個(gè)系統的安全性。因為操作系統內核是可信計算基礎中最重要的一部分,微內核操作系統內核較小的特點(diǎn)使之在安全性應用方面很有優(yōu)勢。

  上面說(shuō)了很多微內核操作系統的優(yōu)點(diǎn),但微內核架構也不是完美的,它有一個(gè)很大的缺點(diǎn)那就是性能。我們知道對于單內核操作系統,調用系統服務(wù)的方式是用過(guò)系統調用,需要的僅僅是用戶(hù)態(tài)和內核態(tài)的兩次轉換,每個(gè)進(jìn)程都同時(shí)有用戶(hù)棧和內核?梢源娣艌绦羞^(guò)程中的信息。而對于微內核操作系統,調用系統服務(wù)需要通過(guò)發(fā)送IPC消息給服務(wù)應用程序,服務(wù)應用程序通過(guò)系統調用完成服務(wù)請求后再通過(guò)另一個(gè)IPC消息把結果返回給調用者。這涉及到了進(jìn)程的上下文切換,并且由于沒(méi)有內核棧這樣簡(jiǎn)單的機制,傳送消息需要額外的拷貝開(kāi)銷(xiāo)。因此性能對于微內核架構操作系統成了一個(gè)很大的問(wèn)題。事實(shí)上第一代微內核操作系統諸如Mach之上運行的系統的性能讓人難以接受。然而以L(fǎng)4為首的第二代微內核操作系統通過(guò)合理的架構設計,將IPC的開(kāi)銷(xiāo)相對Mach成數量級級別得減少。有分析表明在L4微內核操作系統之上運行的L4Linux的性能相對原本的Linux只有幾個(gè)百分點(diǎn)的損失。[5]

  結語(yǔ)

  綜上文所述,微內核操作系統的可靠性、實(shí)時(shí)性和安全性特點(diǎn)很好得匹配了嵌入式平臺對操作系統的需求。隨著(zhù)對微內核操作系統研究的深入,其相應技術(shù)將會(huì )不斷地成熟,性能也會(huì )不斷地提高,可以預見(jiàn)不久的將來(lái),我們將會(huì )見(jiàn)到越來(lái)越多的微內核操作系統被應用到嵌入式平臺上。
本文地址:http://selenalain.com/thread-3173-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页