摘要:在機動車的電子嵌入式操作系統(tǒng)中,隔離保護機制可以將來源以及完整性不一樣的應用軟件整合到一致的ECU系統(tǒng)中以確保整合和軟件系統(tǒng)能夠達到標準的安全等級,以保障其次電子操作系統(tǒng)對于安全性的需求。當然對于部分硬件設施不足而且對時間需求較高的其次電子嵌入式操作系統(tǒng)來說,隔離保護機制的應用的確存在一定的難度,因此為了確保加強隔離保護機制的性能,在開發(fā)過程中一定要充分整合汽車的軟硬件資源,以提升隔離保護機制和汽車硬件系統(tǒng)的兼容性。
關鍵詞:汽車;電子嵌入式操作系統(tǒng);隔離保護機制
隨著我國科技和經(jīng)濟的飛速發(fā)展,機動車的電子操作系統(tǒng)越來越完善,功能越來越多,同時也越來越復雜。而電子控制單元作為實現(xiàn)各系統(tǒng)之間通信和交互的重要設備,一輛汽車中會裝備八十個左右,這也是現(xiàn)代汽車的主要發(fā)展趨勢之一。而電子隔離保護機制作為保障汽車電子嵌入式操作系統(tǒng)安全性和可靠性的重要機制,近幾年隨著汽車電子操作系統(tǒng)的發(fā)展也變得愈發(fā)重要,人們對于電子隔離保護機制的需求和研究也在逐漸深入。
一、汽車電子嵌入式操作系統(tǒng)隔離保護機制的研究價值
汽車軟件系統(tǒng)可以被劃分為兩個部分,分別為操作系統(tǒng)和應用系統(tǒng)。其中操作系統(tǒng)的作用是將系統(tǒng)內(nèi)核、存儲軟件、通信診斷軟件、輸入輸出控制以及外部設備的基礎模塊整合在依靠可靠的系統(tǒng)分區(qū)中。而在邏輯上,應用層的軟件會劃分到不同的應用中,部分應用屬于非信賴、運行模式為非特權模式的系統(tǒng)分區(qū),而另一部分應用則和操作系統(tǒng)一直,屬于可信賴而且在特權運行模式的系統(tǒng)中。AUTOSAR規(guī)定了每個不同軟件之間的隔離保護以及基礎軟件和操作軟件之間的隔離保護機制,而且為了達成一定的安全限制,AUTOSAR也規(guī)定了根據(jù)程序數(shù)據(jù)、代碼以及棧不同的分段來分別對應用、操作系統(tǒng)和執(zhí)行體這三個基本的隔離保護措施以及規(guī)范。
二、汽車電子嵌入式操作系統(tǒng)隔離保護機制的總體架構
1、整體架構。在根據(jù)其次電子嵌入式操作系統(tǒng)所配置的硬件設備中,其隔離保護機制中應當采用以下一個層級的隔離保護機制:首先是第一級別的隔離保護,主要是對汽車操作系統(tǒng)進行保護,通常來說,這一保護機制的基礎是汽車的處理器,并且對各種應用訪問內(nèi)存時所產(chǎn)生的權限進行審核以及控制,對操作系統(tǒng)和應用的分區(qū)進行隔離,以確保汽車的操作系統(tǒng)能夠得到有效保護。其次是二級隔離保護,二極保護主要是應用層的隔離,目標是對各種應用分區(qū)進行隔離。最后則是三級隔離保護,也就是針對執(zhí)行體的隔離,以確保能夠?qū)梅謪^(qū)進行內(nèi)部隔離,需要對應用中不同的執(zhí)行體所用到的??臻g進行隔離,其中包括了任務以及中斷服務程序,進而確保實現(xiàn)從內(nèi)部隔離應用分區(qū)這一目標。這三類保護級別始終存在于操作系統(tǒng)的幾個大模塊中,這幾個功能模塊包括了系統(tǒng)的初始化、系統(tǒng)的管理和維護以及系統(tǒng)的異常處理。
2、一級和二級隔離保護。一級和二級隔離保護在MPU和MMU等支持的分頁方法為基礎展開保護。如今大部分處理器所應有的分頁地址轉(zhuǎn)化的過程如下:在指令執(zhí)行的過程中會生成一個有效地址,并且跟地址的空間標識以及PID寄存器相融合,而PID寄存器主要是實現(xiàn)系統(tǒng)的實時分區(qū)號,進而將實時分區(qū)號所形成的虛擬地址與TLB中所含有的頁表項也進行匹配和比較,在各個TLB頁表項中會包含有訪問權限的相關數(shù)據(jù),實際頁的地址、對應物理分頁的TID號碼等記錄。若是根據(jù)有效地址以及地址空間標識和PID寄存器等所產(chǎn)生的虛擬地址和TLB中含有的頁表項能夠相匹配,那邊可以將地址有效轉(zhuǎn)換從而形成一個實際的物理地址。
在應用到汽車電子嵌入式操作系統(tǒng)中時,很難出現(xiàn)每次都能正常匹配的情況,甚至會出現(xiàn)無法匹配的情況,這種情況幾乎可以分為兩種:首先是在TLB中無法找到有效頁的地址與之相匹配,這種情況通常會在TLB無法命中從而出現(xiàn)異常的情況,這時需要在異常處理程序中對TLB進行轉(zhuǎn)換,也就是置換其頁面,若是TLB表項在被替換后依然出現(xiàn)找不到與之匹配的有效頁地址有關的頁表項,那說明目標訪問頁是不存在的。而在這種條件下容易出現(xiàn)錯誤保護的情況。其次則是TLB以及有效頁的地址能夠相互匹配,不過在TLB中的TID 無法和PID進行匹配,這種情況通常發(fā)生在TLB出現(xiàn)無法命中的異常情況,也就是出現(xiàn)權限違反相關條例的情況,這種異常通常會用于隔離不同應用的分區(qū)工作中,也就是說發(fā)生了某應用在訪問別的應用私有頁面的情況,如果TID是0的話,PID可能出現(xiàn)任何值都不會出現(xiàn)TLB沒有命中的異常情況,而這個特點應用到操作系統(tǒng)分區(qū)的主要原因是方便操作系統(tǒng)能夠提供應用的共享服務,因此為了不會出現(xiàn)處于使用者模式下應用代碼非法訪問操作系統(tǒng)的代碼以及數(shù)據(jù)空間,需要對TLB表項中的權限進行充分的應用,并且結合處理器的工作模式以及即將需要訪問空間的數(shù)據(jù)、代碼以及屬性等等進行控制,其中有六個權限信息位:第一個是特權模式下的可讀也就是SR;第二個是可寫也就是SW;第三個是可執(zhí)行也就是SX;第四個是用戶模式下的可讀也就是UR;第五個則是用戶模式下的可寫也就是UW;第六感則是用戶模式下的可執(zhí)行也就是UX。若是地址在轉(zhuǎn)換出現(xiàn)權限不匹配的話則會發(fā)生TLB權限違反相關條例的異常狀況。
而上述可能發(fā)生的狀況主要是為了對一級和二級隔離保護能夠有效實現(xiàn),并且能夠劃分出獨立且不能信賴的應用分區(qū),具體可以分成兩個主要的部分,首先是數(shù)據(jù)段,而另一個則是代碼段。而且將應用以及系統(tǒng)劃分成可信賴的分區(qū)也會分成兩個部分,第一個部分同樣是數(shù)據(jù)段,而第二個部分則是核心代碼段以及系統(tǒng)調(diào)用接口段。最后則是把每段分配到已經(jīng)進行分離的內(nèi)存頁面進而實現(xiàn)隔離保護機制的應用,而該隔離保護機制的基礎便是MMU必須要具備的分頁機制。
3、三級隔離保護的分離棧措施。第三季隔離保護是以分頁機制以及處理器模式作為基礎,不過只能夠隔離開操作系統(tǒng)以及應用分區(qū),或者對不同的應用分區(qū)進行隔離。若是將分機制頁應用在隔離應用內(nèi)部的不同執(zhí)行體之間的數(shù)據(jù)訪問,就必須要給各個執(zhí)行體數(shù)據(jù)或者棧來提供完全不需要依存于任何系統(tǒng)的內(nèi)存頁,而這種樣的話也可能會出現(xiàn)造成系統(tǒng)負擔過大的情況,對于整個系統(tǒng)的正常運轉(zhuǎn)和維持正常性能是非常不利的。因此利用分離棧的措施以達成對系統(tǒng)進行保護的用途 ,也就是給操作系統(tǒng),各個應用的運行任務以及各個用戶ISR以獨立的棧,不過所提供的這些棧并不會占據(jù)內(nèi)存頁,所分配的位置也是他們所屬應用或者其內(nèi)核的數(shù)據(jù),而且可以將整個操作系統(tǒng)進行維護以達到三級隔離保護的目的。
與此同時,隔離保護也可能會出現(xiàn)潛在的錯誤問題,主要是在TLB未命中異常處理中發(fā)現(xiàn)應用方法訪問;或者應用非法訪問操作系統(tǒng)產(chǎn)生權限違規(guī)的異常情況。其中OS調(diào)用保護HOOK函數(shù)會傳遞出錯誤類型,因此需要根據(jù)錯誤類型來選擇合理的解決措施。
三、結語
總的來說,只有根據(jù)實際情況以及使用需求來利用好有限的汽車軟硬件資源,才能對汽車的電子嵌入式操作系統(tǒng)展開有效的保護工作,進而能夠充分滿足汽車操作系統(tǒng)所需求的安全性和穩(wěn)定性。汽車電子嵌入式操作系統(tǒng)的隔離保護機制能夠?qū)Ψ猪摰臄?shù)量起到充分降低和控制的效果,而且對于汽車整個操作系統(tǒng)性能的提高也是非常有幫助的,還能夠讓系統(tǒng)內(nèi)部的存儲空間得到最高效的利用,因此這樣的隔離保護機制有著非常廣闊的研究以及發(fā)展前景,必然也會對汽車行業(yè)的發(fā)展起到一定的促進性作用,因此我們一定要加強對隔離保護機制的研發(fā)力度,大力扶持隔離保護機制的創(chuàng)新,確保我國的汽車行業(yè)水平能夠得到進一步提升。
參考文獻:
[1]陳麗蓉,燕立明,羅蕾.汽車電子嵌入式操作系統(tǒng)的隔離保護機制[J].電子科技大學學報,2014,43(03):450-456.
[2]盧從娟.探析汽車電子嵌入式操作系統(tǒng)的隔離保護機制[J].中國新通信,2015,17(15):100.
[3]李偉. 高可靠嵌入式操作系統(tǒng)的構建與配置研究[D].南京航空航天大學,2010.
作者簡介:朱全勝(1994.10.25-)男,漢族,籍貫河北省滄州市,研究生學歷,研究方向——linux設備驅(qū)動開發(fā) 嵌入式軟件開發(fā)