1. gzyueqian
      13352868059

      嵌入式實時操作系統與通用操作系統有什么區別?

      更新時間: 2021-08-20 09:44:59來源: 粵嵌教育瀏覽量:11909

      由于嵌入式實時操作系統與通用操作系統的基本設計原則差別很大,因此在很多資源調度策略的選擇上以及操作系統實現的方法上兩者都具有較大的差異,這些差異主要體現在以下幾點: 

      (1)任務調度策略:

      通用操作系統中的任務調度策略一般采用基于優先級的搶先式調度策略,對于優先級相同的進程則采用時間片輪轉調度方式,用戶進程可以通過系統調用動態地調整自己的優先級,操作系統也可根據情況調整某些進程的優先級。 

      嵌入式實時操作系統中的任務調度策略目前使用最廣泛的主要可分為兩種,一種是靜態表驅動方式,另一種是固定優先級搶先式調度方式。 

      (2)內存管理:

      通用操作系統的虛存管理機制中由于采用了LRU等頁替換算法,使得大部分的訪存需求能夠快速地通過物理內存完成。

      為解決虛存給系統帶來的不可預測性,實時操作系統一般采用如下兩種方式:一是在原有虛存管理機制的基礎上增加頁面鎖功能,用戶可將關鍵頁面鎖定在內存中,從而不會被swap程序將該頁面交換出內存。二是采用靜態內存劃分的方式,為每個實時任務劃分固定的內存區域。

      (3)中斷處理:

      在通用操作系統中,大部分外部中斷都是開啟的,中斷處理一般由設備驅動程序來完成。由于通用操作系統中的用戶進程一般都沒有實時性要求,而中斷處理程序直接跟硬件設備交互,可能有實時性要求,因此中斷處理程序的優先級被設定為高于任何用戶進程。 

      但對于嵌入式實時操作系統采用上述的中斷處理機制是不合適的。一個實時任務在運行時被中斷處理程序阻塞的時間開銷也是不可預測的,從而使任務的實時性得不到保證。

      (4)共享資源的互斥訪問:

      通用操作系統一般采用信號量機制來解決共享資源的互斥訪問問題。 

      對于實時操作系統,如果任務調度采用靜態表驅動方式,共享資源的互斥訪問問題在生成運行時間表時已經考慮到了,在運行時無需再考慮。如果任務調度采用基于優先級的方式,則傳統的信號量機制在系統運行時很容易造成優先級倒置問題,為了解決這一問題,嵌入式實時操作系統往往對傳統的信號量機制進行了一些擴展,引入了如優先級繼承協儀、優先級頂置協議等機制。

      (5)系統調用以及系統內部操作的時間開銷:

      為保證系統的可預測性,實時操作系統中的所有系統調用以及系統內部操作的時間開銷都應是有界的,并且該界限是一個具體的量化數值。而在通用操作系統中對這些時間開銷則未做如此限制。 

      (6)系統的可重入性:

      在通用操作系統中,核心態系統調用往往是不可重入的,當一低優先級任務調用核心態系統調用時,在該時間段內到達的高優先級任務必須等到低優先級的系統調用完成才能獲得CPU,這就降低了系統的可預測性。因此,嵌入式實時操作系統中的核心態系統調用往往設計為可重入的。 

      (7)輔助工具:

      實時操作系統額外提供了一些輔助工具,如實時任務在最壞情況下的執行時間估算工具、系統的實時性驗證工具等,可幫助工程師進行系統的實時性驗證工作。 

      嵌入式的這兩種操作系統都有他們的用處,依靠嵌入式操作系統軟件移植性大大提高網絡協議更加豐富應用功能塊邏輯清晰代碼易讀還能提供眾多的開源工具、庫以及軟件。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 久久秋霞精品中文字幕 | 制服丝袜国产一区二区 | 午夜一区二区亚洲福利VR | 亚洲中文字幕熟女久久 | 亚洲国产片论片在线播放 | 伊人色综合久久天天小片 |