• 實時操作系統

    編輯
    本詞條由“匿名用戶” 建檔。

    實時操作系統

    編輯

    實時操作系統(RTOS)是一個操作系統(OS)旨在用作實時應用程序,因為它涉及在通常無緩沖延遲的過程數據。處理時間要求(包括任何OS延遲)以十分之一秒或更短的時間增量來衡量。實時系統是具有明確定義的固定時間約束的時限系統。處理必須在定義的約束內完成,否則系統將失敗。他們要么是事件驅動或分時。事件驅動系統根據任務的優先級在任務之間切換,而分時系統則根據時鐘中斷在任務之間切換。大多數RTOS使用搶占式?調度算法。

    實時操作系統的特性

    編輯

    實時操作系統的一個關鍵特征是其一致性程度,該一致性涉及接受和完成應用程序任務所花費的時間;變化是“?抖動?”。“硬”實時操作系統(硬RTOS)比“軟”實時操作系統(軟RTOS)具有更少的抖動。后一個答案在硬RTOS中是錯誤的答案,而后一個答案在軟RTOS中是可以接受的。主要設計目標不是高吞吐量,而是對軟性能或硬性能類別的保證。一個實時操作系統,通常或一般能滿足最后期限是軟實時操作系統,但它是否能夠滿足最后期限確定性這是一個硬實時操作系統。

    RTOS具有用于調度的高級算法。調度程序的靈活性可以實現更大范圍的計算機系統流程優先級的編排,但是實時OS往往專用于一組狹窄的應用程序。實時操作系統的關鍵因素是最小的中斷延遲和最小的線程切換延遲;實時操作系統的響應速度或可預測性要比給定時間段內可以執行的工作量高。

    實時操作系統

    設計理念

    編輯

    實時操作系統是一種操作系統,其中處理輸入刺激所花費的時間少于直到下一個相同類型的輸入刺激所花費的時間。

    最常見的設計是:

    • 事件驅動–?僅在需要處理較高優先級的事件時才切換任務;稱為搶先優先級或優先級調度。
    • 分時–在常規時鐘中斷和事件上切換任務;

    分時設計比嚴格地需要切換任務的次數更多,但是卻提供了更流暢的多任務處理能力,給人一種進程或用戶僅使用機器的幻想。

    早期的CPU設計需要許多周期來切換任務,在此期間CPU無法做其他有用的事情。例如,使用20 MHz?68000處理器(典型于1980年代后期),任務切換時間大約為20微秒。相反,一個100 MHz的ARM?CPU(自2008年起)在不到3微秒的時間內進行切換。因為切換花費了很長時間,所以早期的OS試圖通過避免不必要的任務切換來xxx程度地減少浪費的CPU時間。

    中斷處理程序和調度程序

    編輯

    由于中斷處理程序會阻止運行最高優先級的任務,并且由于實時操作系統旨在將線程等待時間保持在最低水平,因此中斷處理程序通常應保持盡可能短的時間。如果可能的話,中斷處理程序推遲所有與硬件的交互。通常,所需要做的只是確認或禁用該中斷(以便在中斷處理程序返回時不會再次發生),并通知任務需要完成的工作。這可以通過釋放信號量,設置標志或發送消息來取消阻止驅動程序任務來完成。調度程序通常提供從中斷處理程序上下文中取消阻止任務的功能

    操作系統維護其管理的對象的目錄,例如線程、互斥鎖、內存等。必須嚴格控制此目錄的更新。因此,當中斷處理程序在應用程序也執行操作時調用OS函數時,可能會出現問題。由于應用程序的更新,從中斷處理程序調用的OS函數可能會發現對象數據庫處于不一致狀態。解決此問題的方法主要有兩種:統一體系結構和分段體系結構。實施統一體系結構的RTOS通過在更新內部目錄時簡單地禁用中斷來解決此問題。這樣做的缺點是中斷等待時間增加,可能會丟失中斷。分段架構不會直接進行OS調用,而是將與OS相關的工作委托給單獨的處理程序。該處理程序的運行優先級高于任何線程,但低于中斷處理程序。這種架構的優勢在于,它增加了很少的周期來中斷延遲。結果,與統一體系結構相比,實現分段體系結構的OS更可預測,并且可以處理更高的中斷率。

    同樣,與x86兼容的硬件上的系統管理模式可能需要太多時間才能將控制權返回給操作系統。為x86硬件編寫實時軟件通常是錯誤的。

    內存分配

    編輯

    內存分配在實時操作系統中比在其他操作系統中更為重要。

    首先,為了穩定起見,不會發生內存泄漏(已分配但在使用后未釋放的內存)。設備應無限期工作,而無需重新啟動。出于這個原因,動態內存分配不受歡迎。只要可能,所有需要的存儲器分配是靜態編譯時指定。

    避免動態內存分配的另一個原因是內存碎片。隨著頻繁分配和釋放小塊內存,可能會發生以下情況:可用內存被分成幾個部分,盡管有足夠的可用內存,但RTOS無法分配足夠大的連續內存塊。其次,分配速度很重要。一種標準的內存分配方案掃描不確定長度的鏈表,以找到合適的空閑內存塊,在RTOS中是不可接受的,因為內存分配必須在一定的時間內發生。

    由于機械磁盤的響應時間更長且更加不可預測,因此,出于與上述RAM分配相同的原因,不使用交換磁盤文件。

    由于固定開銷小的算法,簡單的固定大小塊算法在簡單的嵌入式系統中效果很好。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/113126/

    (4)
    詞條目錄
    1. 實時操作系統
    2. 實時操作系統的特性
    3. 設計理念
    4. 中斷處理程序和調度程序
    5. 內存分配

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久