不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 操作系統(tǒng)基礎(chǔ)知識(shí) > 分區(qū)操作系統(tǒng)

分區(qū)操作系統(tǒng)

時(shí)間: 佳洲1085 分享

分區(qū)操作系統(tǒng)

  分區(qū)操作系統(tǒng)想必很多人都不太了解。下面由學(xué)習(xí)啦小編為大家整理了分區(qū)操作系統(tǒng)的相關(guān)知識(shí),希望對(duì)大家有幫助!

  第1部分 分區(qū)操作系統(tǒng)背景

  隨著硬件體系結(jié)構(gòu)的不斷復(fù)雜、系統(tǒng)功能日益豐富、代碼規(guī)模不斷擴(kuò)大、并發(fā)/并行處理程度的不斷加深,像VxWorks-5.5, uC/OS, FreeRTOS這類傳統(tǒng)的RTOS面臨著嚴(yán)峻的挑戰(zhàn)如下:

  1. 硬件設(shè)備的復(fù)雜性、多樣性導(dǎo)致系統(tǒng)出錯(cuò)頻繁

  在現(xiàn)代操作系統(tǒng)中硬件相關(guān)代碼占到很大的比重,例如Linux內(nèi)核中大約70%的代碼是設(shè)備驅(qū)動(dòng)程序。操作系統(tǒng)的開發(fā)人員需要熟悉各種硬件體系結(jié)構(gòu)以及外部設(shè)備特性,稍有不慎將導(dǎo)致系統(tǒng)崩潰。斯坦福大學(xué)的一項(xiàng)研究表明Linux設(shè)備驅(qū)動(dòng)缺陷出現(xiàn)的頻率比內(nèi)核的其它部分高出5~7倍以上。另外就VxWorks-5.5而言,其內(nèi)核穩(wěn)定性在業(yè)界有口皆碑,但是隨著硬件平臺(tái)及外設(shè)的不斷豐富,在VxWorks-5.5的USB驅(qū)動(dòng)中出現(xiàn)的錯(cuò)誤將直接影響到vxWorks-5.5產(chǎn)品的穩(wěn)定性。

  2. 高度并發(fā)處理導(dǎo)致嚴(yán)重的資源競(jìng)爭(zhēng)

  RTOS內(nèi)核中面臨著極為頻繁的競(jìng)爭(zhēng)行為,這樣競(jìng)爭(zhēng)行為是由任務(wù)之間、中斷之間、以及任務(wù)與中斷之間對(duì)各類共享資源的并發(fā)訪問和可重入操作引起的,對(duì)系統(tǒng)的可靠性帶來巨大的威脅,包括原子性破壞、數(shù)據(jù)一致性破壞、死鎖、優(yōu)先級(jí)翻轉(zhuǎn)等。據(jù)統(tǒng)計(jì),由競(jìng)爭(zhēng)引發(fā)的錯(cuò)誤在RTOS內(nèi)核中出現(xiàn)的比例遠(yuǎn)高于其他軟件。

  3. 由于并行、時(shí)序原因引發(fā)的錯(cuò)誤導(dǎo)致系統(tǒng)故障定位困難

  相對(duì)于應(yīng)用軟件而言,RTOS的錯(cuò)誤定位難度要高得多。一方面,由于RTOS是整個(gè)系統(tǒng)的最底層軟件,缺乏其它的軟件作為運(yùn)行支撐,因此對(duì)其調(diào)試和測(cè)試都需要定制的工具才可以完成;另一方面由于RTOS運(yùn)行的高度并發(fā)性、時(shí)序相關(guān)性導(dǎo)致其錯(cuò)誤不易被發(fā)現(xiàn)、錯(cuò)誤重現(xiàn)難度極大。因此在RTOS設(shè)計(jì)中如何嵌入觀測(cè)代碼、以便有效采集系統(tǒng)運(yùn)行狀態(tài)及相關(guān)數(shù)據(jù),以便重現(xiàn)系統(tǒng)運(yùn)行錯(cuò)誤現(xiàn)場(chǎng)和運(yùn)行過程,將顯得極為重要。

  4. 隔離和包含手段仍顯薄弱

  各個(gè)應(yīng)用程序在保障自身運(yùn)行正確性和安全性外,還需要防止在其它模塊發(fā)生錯(cuò)誤之后可以不受錯(cuò)誤級(jí)聯(lián)反應(yīng)的影響。因此需要RTOS提供一套有效的隔離與保護(hù)機(jī)制來限制錯(cuò)誤的擴(kuò)散和蔓延?,F(xiàn)有的隔離和保護(hù)手段主要是借助于MMU和MPU對(duì)地址空間進(jìn)行保護(hù),存在保護(hù)力度大、資源消耗多、性能影響大等缺陷,仍缺乏一套有效的軟硬件結(jié)合的隔離手段與機(jī)制。

  面對(duì)傳統(tǒng)RTOS可靠性的種種挑戰(zhàn),需要應(yīng)用新的設(shè)計(jì)理念,從根本上改善與提高系統(tǒng)可靠性。因此高可靠分區(qū)系統(tǒng)pRTOS采用Partitioning架構(gòu),利用分區(qū)隔離、降低耦合、以及增加中間層的高可靠RTOS設(shè)計(jì)模型,如下圖所示。

  在pRTOS的設(shè)計(jì)中,分區(qū)不是一個(gè)具有強(qiáng)制隔離性質(zhì)的一組進(jìn)程,而是一個(gè)虛擬的執(zhí)行環(huán)境(RTE-Run Time Environment),在分區(qū)中即可以執(zhí)行一個(gè)裸的應(yīng)用,也可以運(yùn)行一個(gè)支持多任務(wù)的操作系統(tǒng)級(jí)應(yīng)用。事實(shí)上在pRTOS的多個(gè)不同的分區(qū)之上可以各自運(yùn)行不同的操作系統(tǒng)。pRTOS具有擴(kuò)展成為安全關(guān)鍵(Safety-Critical)操作系統(tǒng)的能力。換句話說pRTOS其實(shí)是一層最接近硬件的軟件層(中間層)。盡管pRTOS沒有完全兼容航空ARINC653、以及車載AUTOSAR標(biāo)準(zhǔn),但是ARINC653和AUTOSAR的哲學(xué)思想(分隔的思想)已經(jīng)潛移默化的應(yīng)用在pRTOS的設(shè)計(jì)當(dāng)中。

  第2部分 分區(qū)操作系統(tǒng)研究現(xiàn)狀

  RTOS安全級(jí)別可以按EAL(Evaluation Assurance Level)分為7級(jí)。國際民航或軍用設(shè)備對(duì)應(yīng)EAL5級(jí)以上,一般商用和家用操作系統(tǒng)(例如Microsoft Windows 7,Ubuntu Linux,Android)都在EAL4級(jí)以下。國際民航通用的RTCA DO-178適航認(rèn)證屬于EAL5+級(jí)別的安全關(guān)鍵(Safety-Critical)操作系統(tǒng)。

  各RTOS供應(yīng)商針對(duì)不同的市場(chǎng)定位,供應(yīng)多種安全級(jí)別的操作系統(tǒng)。例如Lynuxworks發(fā)行的多種操作系統(tǒng)中,LynxOS-Secure是針對(duì)最高安全級(jí)別(EAL6+)的安全關(guān)鍵(Security-Critical)操作系統(tǒng),LynxOS-178是針對(duì)中高安全級(jí)別(EAL5+)的(Security-Critical)操作系統(tǒng),LynxOS-SE是針對(duì)虛擬化環(huán)境的中高安全級(jí)別操作系統(tǒng)。

  從設(shè)計(jì)理念來講,RTOS可以分為三類:傳統(tǒng)的基于線程的實(shí)時(shí)操作系統(tǒng)(Thread-based RTOS,如uC/OS, FreeRTOS, VxWorks-5.5);基于進(jìn)程的實(shí)時(shí)操作系統(tǒng)(Process-based RTOS,比如vxWorks-rtp, realtime-linux);基于分區(qū)的實(shí)時(shí)操作系統(tǒng)Partition-RTOS。目前通過DO-178適航認(rèn)證的嵌入式RTOS有INTEGRITY-178B,VxWorks-178,LynxOS-178等少數(shù)幾個(gè),無一不是分區(qū)實(shí)時(shí)操作系統(tǒng)架構(gòu)。其中Greenhill的INTEGRITY-178B已經(jīng)達(dá)到EAL6+級(jí)別,是目前最高安全等級(jí)的Partition RTOS。因此設(shè)計(jì)一款安全關(guān)鍵(Saftey-Critical)操作系統(tǒng),至少應(yīng)該滿足Partitioning-RTOS的主流設(shè)計(jì)理念,基于任務(wù)和線程的設(shè)計(jì)幾乎是不可能達(dá)到安全要求的。

  第3部分 分區(qū)操作系統(tǒng)pRTOS架構(gòu)

  pRTOS采用嵌入式虛擬化技術(shù)實(shí)現(xiàn),嵌入式虛擬化技術(shù)引入了非常小的性能開銷,使得Partitioning的吞吐量非常接近于裸機(jī)的性能。

  分區(qū)軟件架構(gòu)的使用主要是為了解決軟件的安全性和可靠性。設(shè)計(jì)的核心原則是將系統(tǒng)需要隔離的模塊放入分區(qū)中??臻g和時(shí)間隔離是pRTOS的最重要的特性。在安全關(guān)鍵系統(tǒng)中,安全關(guān)鍵軟件和非安全關(guān)鍵軟件是強(qiáng)制隔離的,正如前文所述,這方面的先驅(qū)者是航空工業(yè)。pRTOS為不同的安全級(jí)別或者認(rèn)證級(jí)別的軟件提供了空間和時(shí)間隔離。通過內(nèi)存保護(hù)、訪問控制、以及時(shí)間觸發(fā)的調(diào)度機(jī)制,使得錯(cuò)誤被局限在出錯(cuò)的分區(qū)中,從而不會(huì)影響到其它的健康分區(qū)。這樣可以對(duì)分區(qū)內(nèi)的軟件做獨(dú)立的安全性認(rèn)證,從而使得軟件安全認(rèn)證進(jìn)一步被簡(jiǎn)化;同時(shí)pRTOS也為專注于安全性考慮的應(yīng)用提供了靈活的系統(tǒng)構(gòu)架。pRTOS結(jié)構(gòu)圖如下:

  第4部分 分區(qū)操作系統(tǒng)優(yōu)勢(shì)

  在可靠性和安全性要求比較強(qiáng)的嵌入式系統(tǒng)中采用Partitioning架構(gòu),有以下幾點(diǎn)優(yōu)勢(shì):

  (一) Partition構(gòu)架可以在同一物理設(shè)備上并行運(yùn)行多種操作系統(tǒng),一個(gè)典型的應(yīng)用是在Partition RTOS構(gòu)建的虛擬平臺(tái)上同時(shí)運(yùn)行提供實(shí)時(shí)任務(wù)的RTOS(如uC/OS等)和非實(shí)時(shí)任務(wù)的GPOS(如Linux)。既解決了通用操作系統(tǒng)實(shí)時(shí)性的不足,又解決了RTOS應(yīng)用不夠豐富的劣勢(shì)。

  (二)通過把不同子系統(tǒng)封裝到Partition中,比如驅(qū)動(dòng)程序、網(wǎng)絡(luò)協(xié)議?;蛘呶募到y(tǒng)等內(nèi)核組件可以直接運(yùn)行在Partition上,其它的子系統(tǒng)可以共享該組件,提高了系統(tǒng)的安全性和代碼的復(fù)用率。一旦其中一個(gè)子系統(tǒng)崩潰或者被攻擊,將不再會(huì)影響到其它子系統(tǒng)。例如移動(dòng)手機(jī)終端,其通信協(xié)議棧非常關(guān)鍵,一旦該協(xié)議棧被攻擊者成功進(jìn)入,這臺(tái)手機(jī)就可能干擾整個(gè)無線網(wǎng)絡(luò),在極端的情況下會(huì)導(dǎo)致整個(gè)通信網(wǎng)絡(luò)的癱瘓。同樣一個(gè)加密子系統(tǒng)也需要極高的安全保護(hù),來保證加密信息不被竊取。但是對(duì)于現(xiàn)代的嵌入式操作系統(tǒng)來說,越來越龐大的代碼量使得其安全隱患越來越多,由于其允許使用者下載和運(yùn)行程序,這樣的話一旦某個(gè)應(yīng)用的某個(gè)缺陷被攻擊者作為攻擊的切入點(diǎn),就將導(dǎo)致整個(gè)系統(tǒng)的崩潰。比如緩沖區(qū)溢出就是一種常見的網(wǎng)絡(luò)攻擊手段,其原理是利用用戶程序?qū)彌_區(qū)的超界訪問,從而訪問到系統(tǒng)關(guān)鍵數(shù)據(jù)和程序,從而能夠竊取系統(tǒng)的控制權(quán)。在沒有使用Partition技術(shù)的系統(tǒng)里如下圖左,緩沖區(qū)溢出攻擊一旦成功,整個(gè)操作系統(tǒng)已經(jīng)暴露在入侵者的面前,入侵者將能完全控制整個(gè)系統(tǒng)資源,訪問所有的關(guān)鍵模塊。

  如果入侵者攻擊使用了Partition架構(gòu)的系統(tǒng),如上圖右邊所示,雖然入侵者通過應(yīng)用程序的缺陷侵入了操作系統(tǒng)的用戶交互界面,但該操作系統(tǒng)只負(fù)責(zé)與用戶進(jìn)行交互。由于 Partition RTOS存在,攻擊者只能控制被攻擊的操作系統(tǒng),而不能控制運(yùn)行于虛擬化系統(tǒng)內(nèi)的其它 OS。這樣就保證了攻擊造成的損害被降到了最低。

  (三)Linux是一個(gè)經(jīng)常被使用的高級(jí)操作系統(tǒng)。它的優(yōu)點(diǎn)就是免費(fèi)且有一個(gè)龐大的開源社區(qū)支持。Linux遵照GPL的License發(fā)布,它要求任何由Linux衍生出來的代碼都要遵照同樣的license發(fā)布,也就意味著開源。這對(duì)于商業(yè)開發(fā)來講就是一個(gè)兩難的取舍,既想使用免費(fèi)的系統(tǒng)又需要保護(hù)商業(yè)機(jī)密。通過虛擬化技術(shù)可以實(shí)現(xiàn)lisence的隔離,下圖所示Linux運(yùn)行于相互隔離的虛擬機(jī)中,在 Linux 中用使用驅(qū)動(dòng)樁,而把真實(shí)的驅(qū)動(dòng)實(shí)現(xiàn)在另外的虛擬機(jī)中,從而實(shí)現(xiàn)了lisence的隔離。

  Partition技術(shù)實(shí)現(xiàn)了軟件和硬件的松散耦合,這樣發(fā)布一個(gè)新的硬件平臺(tái)時(shí)客戶操作系統(tǒng)只需要做極少的更改就可以移植到一個(gè)新的平臺(tái);另一方便那些需要維護(hù)周期長(zhǎng)的系統(tǒng),比如艦載系統(tǒng),一般的周期至少是10年。在此期間有可能原來的硬件平臺(tái)已經(jīng)停產(chǎn)或者系統(tǒng)已經(jīng)停止維護(hù),使用Partition技術(shù)可以為其提供一個(gè)穩(wěn)定的運(yùn)行環(huán)境。

3630884