2009-07-21 57 views
1

對於使用虛擬機管理程序(例如RTS Real-Time Hypervisor)與非實時操作系統並行運行RTOS,您有什麼建議/經驗?是否有任何性能影響?是否涉及風險? (比如你如何確保非實時操作系統不會干擾實時操作系統的實時性)關於使用虛擬機管理程序與Windows/Linux並行運行實時操作系統的建議

據我所知,必須使用雙核(或超線程)CPU,以便可以爲每個操作系統分配自己的核心

+0

Linux **現在是**管理程序(自2.6.0起)。見http://www.linux-kvm.org/page/Main_Page – 2010-06-23 02:13:21

回答

1
  1. 不,它不需要雙核或超線程。
    • 不,非RT任務不會干擾RT。

主要的想法是有一個RTOS,其執行專門爲此寫操作系統的任務,用它自己的API。這些任務在字符串優先級中設置,其中較高優先級的任務將優先於優先級較低的任務總是。只有在沒有其他任務可以運行的情況下(即,他們都在等待某個事件,無論是超時還是外部信號),最低優先級的任務纔會執行。

所有這些都像通常的多任務OS調度程序,它不需要多核或硬件線程;只是時間保證是完全不同的,可用的API反映了這一事實。

在這些混合實現中,有一個最低級任務運行完整的非RT操作系統內核,通常是Linux或其他類似Unix的內核(我不知道Windows,但應該工作相同) 。如今,我們稱這個架構爲管理程序。

因此,由於整個非RT操作系統是作爲最低優先級任務運行的,因此它根本不能保證獲得處理時間。任何RT任務都可以隨時中斷它,即使在訪問硬件時也是如此。爲了保持這一點,通常RT任務對硬件的訪問非常有限,或者在極低的級別上進行最少的仲裁。即:可以中斷磁盤訪問(可能導致訪問錯誤);但不是PCI訪問(只要是短暫的和有時間限制的)

一段時間後,Linux調度程序也有一些軟RT擴展;但是時序保證並沒有像建立在這個基礎上的一些硬RT操作系統那麼嚴密。

相關問題