盧從娟
【摘要】 本文針對汽車電子嵌入式操作系統(tǒng)的隔離保護(hù)機(jī)制進(jìn)行了簡要探討。
【關(guān)鍵詞】 汽車電子 嵌入式操作系統(tǒng) 隔離 分區(qū) 保護(hù)
本要做好汽車電子嵌入式操作系統(tǒng)的隔離保護(hù),就需要根據(jù)實(shí)際中的有限的硬件條件與軟件資源,以符合汽車電子嵌入式操作系統(tǒng)操作系統(tǒng)與其應(yīng)用,還有對應(yīng)的工作和中斷服務(wù)流程等方面的隔離保護(hù)要求。汽車電子嵌入式操作系統(tǒng)的隔離保護(hù)機(jī)制可以高效地降低分頁數(shù)量,并增強(qiáng)汽車操作系統(tǒng)的性能與其內(nèi)部存儲空間的利用程度。應(yīng)用了相應(yīng)的隔離保護(hù)機(jī)制的汽車電子嵌入式操作系統(tǒng)可以在單獨(dú)的ECU系統(tǒng)中集成來源不同與安全級別不同的各類軟件。
一、汽車電子嵌入式操作系統(tǒng)的隔離保護(hù)機(jī)制的目標(biāo)
為了符合汽車電子與其操作系統(tǒng)的實(shí)時(shí)性的特定要求,本文針對這一特定的應(yīng)用領(lǐng)域的規(guī)范標(biāo)準(zhǔn)提出了一種將硬件平臺與軟件資源相結(jié)合的隔離保護(hù)機(jī)制,以分層的形式做到隔離保護(hù)。并且,這樣可充分發(fā)揮硬件平臺本身所具備的保護(hù)作用,減少隔離保護(hù)對于硬件資源的需求。同時(shí),基于汽車電子嵌入式操作系統(tǒng)的軟件平臺,可以針對操作系統(tǒng)系統(tǒng)的安全性進(jìn)行加強(qiáng),滿足細(xì)粒度的隔離保護(hù)要求。
二、隔離保護(hù)機(jī)制的整體架構(gòu)
2.1 整體架構(gòu)
根據(jù)一般汽車電子嵌入式操作系統(tǒng)所采用的硬件設(shè)備,其隔離保護(hù)機(jī)制中的隔離保護(hù)一般包含了如下幾個(gè)層級:
1)第一級保護(hù)
第一級保護(hù)主要指的是對于汽車操作系統(tǒng)的保護(hù),一般是以汽車所使用的處理器的運(yùn)行模式為基礎(chǔ),對于各類應(yīng)用的訪問內(nèi)存的行為進(jìn)行權(quán)限審核與控制,以將操作系統(tǒng)分區(qū)跟應(yīng)用分區(qū)進(jìn)行隔離,加強(qiáng)對于汽車操作系統(tǒng)的保護(hù)。
2)第二級保護(hù)
第二級保護(hù)主要指的是應(yīng)用隔離,在實(shí)際中主要是針對各類應(yīng)用的非操作系統(tǒng)訪問進(jìn)行控制,并檢查其頁編號匹配與否,這樣可以做到將不同的應(yīng)用分區(qū)進(jìn)行隔離。
3)第三級保護(hù)
第三級保護(hù)主要指的是執(zhí)行體隔離,要實(shí)現(xiàn)應(yīng)用分區(qū)的內(nèi)部隔離,就需要分離應(yīng)用中的任務(wù)、中斷服務(wù)程序等不同執(zhí)行體所需要的??臻g為基礎(chǔ)進(jìn)行隔離。
2.2 第一級保護(hù)與第二級保護(hù)
第一級保護(hù)與第二級保護(hù)是以MPU、MMU等硬件所支持的分頁方式為基礎(chǔ)的[1]。目前,各類處理器一般所使用的分頁地址轉(zhuǎn)換方式為如下過程:有效地址會在指令的執(zhí)行時(shí)生成,并與地址空間標(biāo)識以及用來維護(hù)系統(tǒng)即時(shí)的應(yīng)用分區(qū)號的PID寄存器相結(jié)合,然后將其生成的虛擬地址與TLB中的頁表項(xiàng)進(jìn)行匹配、比較。每個(gè)TLB中的頁表項(xiàng)中含有實(shí)際頁地址、訪問權(quán)限數(shù)據(jù)與相應(yīng)的物理分頁的TID號碼的記錄。當(dāng)根據(jù)有效地址、地址空間標(biāo)識、PID寄存器所生成的虛擬地址與TLB中的頁表項(xiàng)相匹配時(shí),放可正常地進(jìn)行地址轉(zhuǎn)換,最終產(chǎn)生實(shí)際物理地址。在汽車電子嵌入式操作系統(tǒng)的實(shí)際工作中,有可能產(chǎn)生不匹配的狀態(tài)有以下兩種:
1)在TLB中無法找到與之相匹配的有效頁地址
這種狀態(tài)通常會出現(xiàn)TLB未命中異常的情況。此時(shí)需要在該異常處理程序中進(jìn)行TLB表項(xiàng)替換,即頁面置換。若在進(jìn)行TLB表項(xiàng)替換后仍無法與找到該有效頁地址相匹配的頁表項(xiàng),就表示被訪問的頁不存在。此時(shí)應(yīng)當(dāng)進(jìn)入保護(hù)錯(cuò)誤處理。
2)有效頁地址與TLB相匹配,但TLB中的TID無法與PID相匹配
這種狀態(tài)通常會出現(xiàn)TLB未命中異常的情況,也就是權(quán)限違例。此異常被用于實(shí)現(xiàn)不同應(yīng)用分區(qū)之間的隔離,意味著出現(xiàn)了一個(gè)應(yīng)用訪問其他應(yīng)用私有頁面的情況。
對于以上情況,為做到第一級保護(hù)與第二級保護(hù),可以把單獨(dú)的不可信的應(yīng)用分區(qū)進(jìn)行劃分,分成1個(gè)數(shù)據(jù)段以及1個(gè)代碼段。同時(shí),將可信的應(yīng)用與操作系統(tǒng)分區(qū)進(jìn)行劃分,分成1個(gè)數(shù)據(jù)段與系統(tǒng)調(diào)用接口段、核心代碼段。最后將每個(gè)段都分配至分離的內(nèi)存頁面中去,以做到以MMU硬件所擁有的分頁機(jī)制為基礎(chǔ)的隔離保護(hù)。
2.3 第三級保護(hù)的分離棧策略
若在對于應(yīng)用內(nèi)部的任務(wù)、中斷服務(wù)程序等不同執(zhí)行體之間的數(shù)據(jù)訪問的隔離中應(yīng)用分頁,就必須劃分出獨(dú)立的內(nèi)存頁,以供不同執(zhí)行體的數(shù)據(jù)使用。如此一來,就會使得系統(tǒng)的資源消耗大大增加,并對系統(tǒng)的整體性能產(chǎn)生影響。所以,為了達(dá)到隔離保護(hù)分區(qū)內(nèi)部細(xì)粒度的要求,應(yīng)當(dāng)使用分離棧策略,也就是為不同的用戶、任務(wù)以及操作系統(tǒng)等提供獨(dú)立的棧以供使用。不過,這類獨(dú)立的棧并不需要獨(dú)立的內(nèi)存頁。在這些獨(dú)立的棧所屬的應(yīng)用的數(shù)據(jù)頁面,只需要進(jìn)行分配操作,而維護(hù)管理則通過操作系統(tǒng)來進(jìn)行[2]。最終完成第三級的隔離保護(hù)。
三、結(jié)束語
在汽車電子嵌入式操作系統(tǒng)中應(yīng)用相應(yīng)的隔離保護(hù)機(jī)制,可以將不同來源、不同安全完整性的應(yīng)用、軟件集合在一個(gè)ECU系統(tǒng)當(dāng)中。這樣有助于實(shí)現(xiàn)整個(gè)系統(tǒng)符合高安全等級的要求,最終到達(dá)汽車電子控制系統(tǒng)對于安全性的要求。
參 考 文 獻(xiàn)
[1]James Stegen.數(shù)字隔離器:解決汽車xEV應(yīng)用中的設(shè)計(jì)難題[J].世界電子元器件,2013,(5)
[2]曹銀波,張志永,沈康等.離子電流檢測系統(tǒng)的抗干擾設(shè)計(jì)[J].同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,40(9)