軟實時和硬實時操作系統的區別

       操作系統按硬件範疇的表現形式分:芯片級嵌入(含程序或算法的處理器)、模塊級嵌入(系統中的某個核心模塊)系統級嵌入。
  按軟件範疇實時性要求分:非實時系統、軟實時系統、硬實時系統。對實時系統,他的正確性不僅與系統的邏輯正確性相關,而且與系統響應時間相關,如果系統響應不能滿足時限的要求,即使它能得到正確的輸出,我們也只能說他是一個失敗的響應。“軟”意味着如果沒有滿足指定的時間約束並不會導致災難性後果,而對硬實時系統來說卻是災難性的。

 

  在一個分時操作系統中,計算機資源會被平均地分配給系統內所有的工作。在分時系統中,各項任務需要花多長時間來完成,這一點並不重要;而在一個實時操作系統之中,最關注的是每個任務在多長時間內可以完成.簡單地說,實時和分時操作系統最大的不同在於 時限(deadline)這個概念。

  從上述區別中可以看出,在實時操作系統中,系統必須在特定的時間內完成指定的應用,具有較強的剛性,而分時操作系統則注重將系統資源平均地分配給各個應用,不太在意各個應用的進度如何,什麼時間能夠完成。不過,就算是實時操作系統,其剛性和柔性的程度也有所不同,就好像是系統的硬度有所不同,因而有了所謂的硬實時(hard real-time)和軟實時 ( soft real-time)。硬實時系統有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤。超時錯誤會帶來損害甚至導致系統失敗、或者導致系統不能實現它的預期目標。軟實時系統的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的後果並不嚴重,例如在網絡中僅僅是輕微地降低了系統的吞吐量。硬實時與軟實時之間最關鍵的差別在於,軟實時只能提供統計意義上的實時。例如,有的應用要求系統在95%的情況下都會確保在規定的時間內完成某個動作,而不一定要求100%。實時就是在規定的時間內必須正確地完成操作,完成操作的時間有操作系統的因素,也有用戶軟件的因素。非實時操作系統指操作系統無法保證哪怕是最高優先級任務開始執行的最後時限。軟實時操作系統指的是操作系統只能保證在xx時間內執行最高優先級的用戶代碼,但用戶軟件是否能及時完成操作,操作系統不管!硬實時嘛,操作系統一直負責到操作完成,世界上第一個硬實時操作系統現在還在研製中,之於何時能完成,問上帝吧!強調一個概念,非實時、軟實時、硬實時三個概念的區別,並不是以速度爲標準的,它是一個確定性概念!linux與rtlinux比,高優先級任務到達時,無論是最短時間還是平均時間,linux均優於rtlinux,但是rtlinux的最後時限優於linux,所以rtlinux的實時性優於linux,這就是確定性的含義。即使使用非屏蔽中斷完成的操作,也只能算軟實時,不能算硬實時,因爲非屏蔽中斷並不能告訴你何時完成工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章