日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

智能汽車車用基礎(chǔ)軟件的內(nèi)核和中間件 時(shí)空隔離技術(shù)

2022-09-25 17:45:22·  來源:汽車測試網(wǎng)  
 
2. 時(shí)空隔離技術(shù)眾所周知,在汽車智能駕駛、智能座艙或者是安全車控應(yīng)用當(dāng)中,都存在不同功能安全等級、不同重要程度的任務(wù)同時(shí)在一個(gè)計(jì)算單元中運(yùn)行的情況。如

2.  時(shí)空隔離技術(shù)

眾所周知,在汽車智能駕駛、智能座艙或者是安全車控應(yīng)用當(dāng)中,都存在不同功能安全等級、不同重要程度的任務(wù)同時(shí)在一個(gè)計(jì)算單元中運(yùn)行的情況。如果不采用一定的隔離措施,就會出現(xiàn)低功能安全等級或者非關(guān)鍵任務(wù)進(jìn)程有意無意地干擾高功能安全要求或者重要任務(wù)進(jìn)程的運(yùn)行的情況(因自身缺陷或者信息安全等原因)。

當(dāng)前有多種不同層次的時(shí)空隔離技術(shù)手段來實(shí)現(xiàn)任務(wù)的隔離。

第一個(gè)層次是處理器級別的物理空間隔離 ( 圖 2.3-4),例如可以將 A 和 B 兩個(gè)應(yīng)用分別獨(dú)立運(yùn)行在同一計(jì)算單元的不同處理器中,每個(gè)處理器都是一個(gè)獨(dú)立的運(yùn)行系統(tǒng)。即使 A 應(yīng)用所在處理器發(fā)生系統(tǒng)崩潰(無論是否由 A 應(yīng)用觸發(fā)),也不會影響 B 應(yīng)用的運(yùn)行,反之亦然。

圖片

圖2.3-4 處理器級的物理空間隔離示意圖

第二個(gè)層次是虛擬機(jī) / 容器級別的時(shí)空隔離 ( 圖 2.3-5),例如可以在同一個(gè)計(jì)算單元(可能有 1 到多個(gè)處理器)上虛擬出多個(gè)資源獨(dú)立的虛擬機(jī)空間,每個(gè)虛擬機(jī) / 容器分配有獨(dú)立的物理地址空間和處理器資源。將 A 和 B 兩個(gè)應(yīng)用分別運(yùn)行在不同的虛擬機(jī) / 容器空間中,即使 A 所在虛擬機(jī)空間發(fā)生了系統(tǒng)崩潰(無論是否由 A 應(yīng)用觸發(fā)),也不會影響到 B 應(yīng)用所在的虛擬機(jī)空間的運(yùn)行,反之亦然。

圖片

圖 2.3-5 虛擬機(jī)級的時(shí)空隔離示意圖

第三個(gè)層次是內(nèi)核和應(yīng)用間的隔離 ( 圖 2.3-6)。因?yàn)樗袘?yīng)用都不可避免地要調(diào)用內(nèi)核服務(wù),一旦內(nèi)核出現(xiàn)問題,很容易導(dǎo)致系統(tǒng)故障,從而影響到所有運(yùn)行在該內(nèi)核之上的應(yīng)用,所以需要將內(nèi)核空間與用戶空間隔離開來。用戶應(yīng)用程序只能運(yùn)行在被內(nèi)核映射分配好的地址空間,并限制用戶態(tài)進(jìn)程訪問內(nèi)核地址空間,系統(tǒng)同時(shí)會禁止用戶進(jìn)程執(zhí)行某些可能破壞內(nèi)核服務(wù)的機(jī)器指令,運(yùn)行這些指令只能通過調(diào)用系統(tǒng)內(nèi)核服務(wù)、中斷等方式來完成。這一層次的隔離通常也需要硬件內(nèi)存管理單元(如 MMU)提供的存儲保護(hù)機(jī)制和相應(yīng)的特權(quán)指令支持。

圖片

圖2.3-6 內(nèi)核和應(yīng)用的空間隔離

第四個(gè)層次是應(yīng)用間的分區(qū)時(shí)空隔離機(jī)制 ( 圖 2.3-7)。分區(qū)是對一個(gè)相對獨(dú)立的空間、時(shí)間、設(shè)備資源的抽象,形成一個(gè)盡可能與真實(shí)獨(dú)立計(jì)算機(jī)資源相接近的實(shí)體。分區(qū)被抽象為一個(gè)運(yùn)行單位,具有狀態(tài)、優(yōu)先級、調(diào)度策略、運(yùn)行上下文、運(yùn)行時(shí)間等屬性。分區(qū)時(shí)空隔離機(jī)制需要操作系統(tǒng)內(nèi)核的配合,由操作系統(tǒng)內(nèi)核對分區(qū)資源(CPU 時(shí)間、內(nèi)存、IO 端口)實(shí)現(xiàn)配額管理,分區(qū)對核心資源的訪問需通過內(nèi)核的授權(quán)與驗(yàn)證。分區(qū)通信必須通過操作系統(tǒng)內(nèi)核驗(yàn)證進(jìn)行才能數(shù)據(jù)交換。

圖片

圖 2.3-7用戶分區(qū)隔離

分區(qū)間的空間隔離技術(shù)通常采用硬件 MMU 提供的存儲保護(hù)機(jī)制,除了將操作系統(tǒng)內(nèi)核和應(yīng)用分區(qū)進(jìn)行隔離外,還需在負(fù)責(zé)時(shí)空隔離的操作系統(tǒng)內(nèi)核和分區(qū)內(nèi)進(jìn)行實(shí)時(shí)調(diào)度(見 2.3.3.3 章節(jié))。在分區(qū)隔離機(jī)制中,操作系統(tǒng)內(nèi)核實(shí)施管理和安全驗(yàn)證所有核心資源的配額和訪問,以保證系統(tǒng)的可靠性。操作系 統(tǒng)內(nèi)核為每個(gè)分區(qū)配置獨(dú)立的 CPU 時(shí)間和內(nèi)存空間,并在分區(qū)內(nèi)提供分區(qū)操作系統(tǒng)服務(wù),實(shí)現(xiàn)分區(qū)內(nèi)資源管理、任務(wù)通信、任務(wù)調(diào)度及分區(qū)間通信。操作系統(tǒng)內(nèi)核管理外部中斷,并通過信號的機(jī)制向相應(yīng)的分區(qū)發(fā)送虛擬中斷,相應(yīng)的分區(qū)操作系統(tǒng)在分配到的時(shí)間片中截獲信號,完成中斷處理,保證分區(qū)時(shí)間窗 口的確定性,防止中斷處理過長導(dǎo)致分區(qū)調(diào)度時(shí)鐘窗口的不確定性。操作系統(tǒng)內(nèi)核的空間域可以定義出 一個(gè)空間保護(hù)模型,每個(gè)空間域(分區(qū))有自己的內(nèi)存地址空間,每個(gè)空間域類似于傳統(tǒng)的操作系統(tǒng)的 進(jìn)程,空間域內(nèi)的任務(wù)類似于傳統(tǒng)的操作系統(tǒng)的線程。分區(qū)內(nèi)調(diào)度的是任務(wù),應(yīng)用層和分區(qū)操作系統(tǒng)服 務(wù)層也是隔離的,任務(wù)失敗不會導(dǎo)致系統(tǒng)故障。對不同分區(qū)空間可提供不同的保護(hù)權(quán)限,保護(hù)權(quán)限有:讀、寫、執(zhí)行、共享等。一個(gè)分區(qū)內(nèi)的任務(wù)失敗不會影響操作系統(tǒng)內(nèi)核或其他分區(qū)正常運(yùn)行。

第五個(gè)層次是應(yīng)用任務(wù)進(jìn)程或線程之間的時(shí)空隔離 ( 圖 2.3-8)。即操作系統(tǒng)內(nèi)核 / 或者分區(qū)操作系統(tǒng)負(fù)責(zé)為每個(gè)任務(wù)進(jìn)程分配獨(dú)立的地址空間和處理器服務(wù)時(shí)隙,并禁止進(jìn)程之間的直接訪問。進(jìn)程之間的信息交換必須通過調(diào)用內(nèi)核提供的 IPC(見 2.3.3.1 章節(jié))進(jìn)程通信服務(wù)來完成。這一層次的隔離可以借助硬件的特權(quán)指令和基于硬件的 MMU 機(jī)制來實(shí)現(xiàn),不得已的情況下也可以通過軟件來完成。

圖片

圖 2.3-8 應(yīng)用進(jìn)程/線程間的隔離

對一些功能簡單的低端 MCU,由于沒有內(nèi)存管理單元 MMU(Memory Management Unit)支撐, 硬件上無法直接提供地址空間的隔離機(jī)制,需要通過軟件技術(shù)來實(shí)現(xiàn)隔離保護(hù)?;谲浖母綦x保護(hù)技 術(shù)包括段保護(hù)、段匹配和地址沙箱技術(shù)。其具體的實(shí)現(xiàn)原理和特點(diǎn)見下表 2.3-2。但無論是哪種基于軟件的隔離技術(shù),對系統(tǒng)的實(shí)時(shí)性都會有影響。

表 2.3-2 基于軟件的隔離技術(shù)

圖片

對于支持 MMU 頁表技術(shù)的處理器,其硬件能夠很好地支持虛擬地址到物理地址的映射翻譯,并提供基于硬件的存儲器訪問授權(quán),從而實(shí)現(xiàn)不同進(jìn)程任務(wù)的空間隔離。MMU 的映射翻譯機(jī)制主要有兩種,一種是分段機(jī)制,一種是分頁機(jī)制。分段機(jī)制只是在早期的 X86 架構(gòu)處理器上引入(在 X86-64 架構(gòu)之后轉(zhuǎn)向了分頁機(jī)制),現(xiàn)代操作系統(tǒng)目前廣泛使用的(無論是 X86 還是 ARM 架構(gòu))都是分頁機(jī)制,后來還引入了多級頁表機(jī)制。虛擬地址的哪個(gè)頁面映射到物理內(nèi)存的哪個(gè)頁幀是通過頁表(Page Table)來描述的,頁表保存在物理內(nèi)存中,MMU 會通過查找頁表來確定一個(gè)虛擬地址應(yīng)該映射到什么物理地址。MMU 配合操作系統(tǒng)內(nèi)核完成了諸多空間隔離功能,比如通過特權(quán)模式劃分了內(nèi)核空間和用戶空間,

用戶空間無法直接訪問內(nèi)核空間,必須通過某些手段(系統(tǒng)調(diào)用,異常,中斷等)切換到特權(quán)模式才能間接訪問內(nèi)核。此外,每個(gè)進(jìn)程都擁有自己獨(dú)立的地址空間,進(jìn)程切換時(shí)地址空間也會切換。不同進(jìn)程都擁有自己的一套頁表,因而即使兩個(gè)進(jìn)程虛擬地址相同,映射的物理地址也是不同的。切換地址空間相當(dāng)于控制 MMU 訪問不同進(jìn)程擁有的頁表,MMU 找到了頁表就找到了物理地址。

此外,操作系統(tǒng)內(nèi)核還可以對每個(gè)頁表的訪問權(quán)限進(jìn)行設(shè)置,當(dāng)進(jìn)程要訪問不可訪問權(quán)限的內(nèi)存地址時(shí),會產(chǎn)生一個(gè)異常通知處理器,操作系統(tǒng)內(nèi)核可以通過捕獲這種異常和對這種異常的合理處理來實(shí)現(xiàn)對空間域的保護(hù)隔離。

隨著計(jì)算單元硬件和虛擬化技術(shù)不斷地進(jìn)步,配合操作系統(tǒng)內(nèi)核所能提供的軟件隔離保護(hù)手段,基本上能夠滿足未來整車 E/E 架構(gòu)智能集中化趨勢下的時(shí)空隔離要求。具體使用哪種隔離機(jī)制或者幾種隔離機(jī)制的組合,需要根據(jù)整車應(yīng)用功能安全要求,硬件成本約束來靈活決定。

分享到:
 
反對 0 舉報(bào) 0 收藏 0 評論 0
滬ICP備11026917號-25