將實時性引入ROS系統的設問自答(上)

積累了各種各樣的問題,作如下彙總

  1. ROS缺點
  2. ROS2如何引入實時性與ROS1區別
  3. 相關軟實時性硬實時性區別
  4. Linux內核
  5. 實時擴展優劣對比
  6. 對比後引入Xenomai3的使用
  7. 閘述Xenomai3 如何提高實時性?
什麼是實時性?

ROS2給出了一個real-time computing 的定義
在這裏插入圖片描述

什麼是軟硬實時性系統?

硬實時系統有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤。超時錯誤會帶來損害甚至導致系統失敗、或者導致系統不能實現它的預期目標。軟實時系統的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的後果並不嚴重,例如在網絡中僅僅是輕微地降低了系統的吞吐量。硬實時與軟實時之間最關鍵的差別在於,軟實時只能提供統計意義上的實時。例如,有的應用要求系統在95%的情況下都會確保在規定的時間內完成某個動作,而不一定要求100%。實時就是在規定的時間內必須正確地完成操作,完成操作的時間有操作系統的因素,也有用戶軟件的因素。非實時操作系統指操作系統無法保證哪怕是最高優先級任務開始執行的最後時限。軟實時操作系統指的是操作系統只能保證在xx時間內執行最高優先級的用戶代碼,但用戶軟件是否能及時完成操作,操作系統不管!硬實時嘛,操作系統一直負責到操作完成。
——來源CSDN博主「seven-soft」的原創文章,軟實時和硬實時操作系統的區別

我們這裏着重強調​硬實時性在​系統​設計​上​要​確保​沒有​任何​操作​的​優先​級​可以​凌​駕​於​時間​限制​之上,確保在最壞情況下的服務時間。

標準Linux有實時性能麼?

不能保證嚴格的時間約束條件(有待確定)

Linux與風河的VxWorks?

tplink的路由器,低端一般bai都是vxwork的系統,佔用低,實時性高,優勢主要是佔用空間低,搭配的硬件成本就會下降;如果比專用功能,當然是vxwork更強大,而linux的優勢極大的擴展性和資源支持,市面上的一般中高端路由器都是linux爲主。

什麼是thin-kernel?

微內核方法使用了第二個內核作爲硬件與Linux內核間的抽象接口。非實時Linux內核在後臺運行,作爲瘦內核的一項低優先級任務託管全部非實時任務。實時任務直接在微內核上運行。微內核主要用於中斷管理。它截取中斷用來保證實時性任務,不讓非實時性搶佔。推薦閱讀

在這裏插入圖片描述這種微內核的方法有風河公司的RTLinux,還有實時應用程序接口RTAI和Xenomai在使用。

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