<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 為嵌入式列車(chē)控制系統選擇操作系統

為嵌入式列車(chē)控制系統選擇操作系統

作者: 時(shí)間:2012-11-17 來(lái)源:網(wǎng)絡(luò ) 收藏
搶占式內核

搶占式內核是實(shí)時(shí)的一個(gè)核心特點(diǎn),在一個(gè)沒(méi)有搶占式內核調用的中,系統遇到不可預測的延遲會(huì )引起關(guān)鍵活動(dòng)錯過(guò)截止時(shí)間— 使得系統無(wú)法滿(mǎn)足其可靠性的要求。

這些延遲是由高優(yōu)先級用戶(hù)線(xiàn)程等待完整的內核調用來(lái)完成所引起的,即使這個(gè)調用是系統中最低級別的進(jìn)程造成的。更為糟糕的是,當驅動(dòng)程序或其它系統服務(wù)(通常在內核調用時(shí)執行)代表客戶(hù)線(xiàn)程執行時(shí),優(yōu)先級信息通常會(huì )丟失。

然而,在一個(gè)設計良好的實(shí)時(shí)中,搶占不會(huì )發(fā)生的時(shí)間窗極其短暫,通常是在納秒級,實(shí)時(shí)操作系統對中斷被禁止的時(shí)間和搶占關(guān)閉上規定了一個(gè)上限。該上限允許開(kāi)發(fā)者確定最壞情況的延遲并在其設計中做調整。

為確??深A測性和關(guān)鍵活動(dòng)的及時(shí)完成,實(shí)時(shí)操作系統必須盡可能簡(jiǎn)單,以便在通過(guò)內核的最長(cháng)的非搶占式代碼路徑上有一個(gè)明確的上限。通過(guò)一個(gè)包括只用短執行路徑服務(wù)的內核和分配給外部進(jìn)程或線(xiàn)程的密集型操作(例如進(jìn)程加載)能實(shí)現最佳的簡(jiǎn)易性。

優(yōu)先級繼承

優(yōu)先級反轉是一種低優(yōu)先級線(xiàn)程阻止高優(yōu)先級線(xiàn)程完成其工作的情況。表3顯示了一個(gè)低優(yōu)先級線(xiàn)程封鎖高優(yōu)先級線(xiàn)程的例子。這也許是通過(guò)同步引起(例如,警報和數據記錄器共享由鎖或信號燈控制的資源,警報等待數據記錄器解除鎖定的資源),或通過(guò)警報要求一項目前由數據記錄器使用的服務(wù)引起的。

在圖3的例子中,一個(gè)中等優(yōu)先級的線(xiàn)程(數據聚合器)搶占低優(yōu)先級的記錄器,但不需要該記錄器使用的資源,這使記錄器保持了資源控制。當警報嘗試運行,它搶占了聚合器并封鎖,但不能訪(fǎng)問(wèn)仍被記錄器控制的資源。由于警報的封鎖,調度程序尋找能運行的優(yōu)先級別最高的線(xiàn)程,并運行聚合器,顛倒線(xiàn)程優(yōu)先級。

03_opt2.jpeg

圖3 有了優(yōu)先級繼承,高優(yōu)先級線(xiàn)程不會(huì )被封鎖

優(yōu)先級繼承是一個(gè)阻止優(yōu)先級反轉的機制。它將高優(yōu)先級線(xiàn)程的優(yōu)先級分配給低優(yōu)先級線(xiàn)程直到線(xiàn)程完成。在上面的這個(gè)例子中,數據記錄器將繼承警報的優(yōu)先級,因此不能被數據聚合器搶占。它將完成并恢復到原來(lái)的優(yōu)先級,而且警報將解除封鎖并不受數據聚合器的影響,該機制在圖4中顯示。

04_opt1.jpeg

圖4 自適應分區是保護特定線(xiàn)程和線(xiàn)程組的一套規則



時(shí)間分區

在與安全相關(guān)的系統里,如果一個(gè)子系統缺乏CPU周期,它提供的服務(wù)也許對其它子系統來(lái)說(shuō)是不可用的。例如,在地鐵系統里,如果一個(gè)車(chē)載ATP系統的通信棧進(jìn)程在需要時(shí)無(wú)法響應,該車(chē)載ATP系統也許要與軌旁ATP基礎設施承擔通信中斷并開(kāi)始啟動(dòng)安全程序,減速或停止列車(chē)并中斷上下線(xiàn)的服務(wù)。

時(shí)間分區通過(guò)硬件或軟件的手段強制分配CPU預算,解決資源饑餓。它可以防止進(jìn)程或線(xiàn)程壟斷其它進(jìn)程或線(xiàn)程需要的CPU周期??赡艹霈F兩種類(lèi)型的分區:靜態(tài)和自適應。

在靜態(tài)分區中,任務(wù)在區內分組,每個(gè)區分配了一定比例的CPU時(shí)間。沒(méi)有一個(gè)任務(wù)在任何區內能消耗超過(guò)分區預先確定的CPU時(shí)間。通過(guò)確保每個(gè)分區都能得到一定的CPU時(shí)間,該限制確保所有的關(guān)鍵進(jìn)程總是能夠保持運行。

不幸的是,沒(méi)有進(jìn)程能夠使用比分配給它分區限定的更多的CPU周期,即使其它分區沒(méi)有使用所有分配給它們的時(shí)間。因此,靜態(tài)分區白白浪費了CPU周期并降低了系統處理高峰需求的能力。

與靜態(tài)分區一樣,自適應分區為進(jìn)程或進(jìn)程組保留了CPU周期。然而,不像靜態(tài)分區,自適應分區使用動(dòng)態(tài)調度算法,重新分配未使用的CPU周期給需要的分區。只有當CPU運行時(shí),它才執行分區預算。自適應分區從而讓系統以100% 的能力運行,僅當一個(gè)分區以上的進(jìn)程競爭周期時(shí),它才執行分區預算。

此外,自適應分區基于預先確定的標準,能在系統運行時(shí)調整預算。例如,一個(gè)負責制動(dòng)調整的分區也許在每小時(shí)低于20公里的速度時(shí)被分配30%的CPU時(shí)間,而在更高速度時(shí)分配到45%的CPU時(shí)間。

軟件看門(mén)狗

要求可用性保證的系統會(huì )實(shí)施以硬件為導向的高可用性解決方案和軟件看門(mén)狗。

軟件看門(mén)狗是一個(gè)監測系統并進(jìn)行多階段恢復或清除關(guān)閉的一個(gè)用戶(hù)空間進(jìn)程??撮T(mén)狗必須自我檢測并彈性處理內部故障。它如果意外停止,必須通過(guò)將其任務(wù)移交給鏡像進(jìn)程從而立即、完全重建其自我狀態(tài)。

如發(fā)生故障,看門(mén)狗可以執行多種操作以確保系統安全性并恢復。例如,它能夠中止然后重啟故障進(jìn)程,避免系統重啟?;蛘?,它也能終止該進(jìn)程和相關(guān)進(jìn)程,初始化硬件到一個(gè)安全狀態(tài),然后以協(xié)調的方式重新啟動(dòng)終止的進(jìn)程?;蛘?,如果故障至關(guān)重要,看門(mén)狗可以執行可控的關(guān)閉或重啟整個(gè)系統并發(fā)出報警。

最后,軟件看門(mén)狗能夠監測傳統的硬件看門(mén)狗不可見(jiàn)的系統事件。例如,硬件看門(mén)狗能確保驅動(dòng)程序正服務(wù)于硬件,但可能無(wú)法檢測到其他程序是否正確的與該驅動(dòng)程序溝通。而軟件看門(mén)狗可以彌補這一差距,當它檢測到一個(gè)內部異常時(shí)能夠采取行動(dòng)。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>