實時非實時系統對比實驗

      網友投稿 1148 2022-05-28

      實時與非實時系統對比實驗

      一?? 實時工具RTX簡介

      Windows是通用操作系統,其調度功能不針對實時應用程序。因此,實時開發人員受到嚴重限制,并且經常無法使用Windows操作系統。 IntervalZero的RTX64產品通過向Windows添加實時功能來彌補這一差距。它還提供用于構建和執行實時程序的工具和實用程序。實時系統有時被分類為硬實時或軟實時系統。硬實時系統是其中響應時間確定性要求是絕對的;對于軟實時系統,允許一些小的偏差。 IntervalZero沒有容忍的偏差,這意味著硬實時。

      通過擴展Windows操作系統,RTX64使需要確定性和高速響應時間的應用程序組件或模塊與其他非實時應用程序組件一起在通用Windows系統上協同工作。使用RTX64,可以使用單個,低成本的平臺來滿足全方位的實時和嵌入式應用需求。

      二?? 安裝RTX插件

      從intervalzero公司的官網即可下載RTX插件,64位系統可選擇intervalzero公司最新推出了64位插件RTX64 3.0版本的插件,安裝好RTX64 3.0 SDK和RTX64 3.0Runtime后需要激活。激活完成后,配置分配運行在window系統下和RTSS系統下的處理器。打開RTX64 3.0Runtime下的ControlPanel軟件點擊Assign system processors進行分配。分配如圖1所示,可選擇將電腦或者筆記本的處理器分成window處理器和RTSS處理器,本次實驗使用的筆記本有8個處理器,最大可選7個處理器為RTSS處理器。于是可分配處理器如圖1所示,4個window處理器,4個RTSS處理器。重啟電腦,在visual stdio工具中即可建立實時工程如圖2所示。通過編譯運行實時代碼進行實時開發。

      圖1

      圖2

      三?? intervalzero rtx64延遲視圖工具

      intervalzero RTX64延遲視圖工具如圖3所示,是RTX插件附帶的一個程序, IntervalZero延遲視圖工具顯示Windows和RTX64內核之間的延遲比較。 系統定時器響應延遲測量為從子系統定時器中斷發送信號到該信號被中斷服務線程(IST)中運行的軟件識別的總時間。 如圖4所示,延遲由硬件延遲,(信號被中斷服務程序(ISR)識別所花費的時間),以及軟件延遲(從ISR到IST中的例程運行所花費的時間)組成 。

      圖3 ?intervalzero RTX64延時視圖工具

      圖4

      延遲工具以1秒為間隔重復捕獲數據,并為每個核心提供該時間段的最大值的圖形顯示。 每個磁芯還顯示累計最小值,最大值和平均值。 可以從運行在Windows內核上的32位和/或64位進程查看延遲值,并將其與運行在RTSS內核上的64位進程的延遲值進行比較。 可以選擇向選定的內核添加視頻和/或磁盤負載,模擬系統活動,以便更準確地顯示繁忙系統上的最大延遲時間如圖5所示選擇加載磁盤負載來達到使系統繁忙情況下采集延遲值的數據。

      圖5

      圖6是在加載了磁盤負載的情況下,window系統內核的每個磁芯還顯示累計最小值,最大值和平均值,圖7在加載了磁盤負載的情況下,RTSS系統內核的每個磁芯還顯示累計最小值,最大值和平均值。

      從顯示的數據來看window系統內核的平均延遲為52us,53us,49us,49us,RTSS系統內核的平均延遲為2us,2us,2us,3us。RTSS系統響應延遲非常小,是window系統下響應延遲的1/26。

      圖6

      實時與非實時系統對比實驗

      圖7

      那么實時window和非實時window下相同的程序運行結果會發生變化嗎?我們進行了優先級翻轉實時與非實時的對比試驗進行觀察。

      四?? 優先級翻轉

      4.1 概念

      有優先級為A、B和C三個任務,優先級A>B>C,任務A,B處于掛起狀態,等待某一事件發生,任務C正在運行,此時任務C開始使用某一共享資源S。在使用中,任務A等待事件到來,任務A轉為就緒態,因為它比任務C優先級高,所以立即執行。當任務A要使用共享資源S時,由于其正在被任務C使用,因此任務A被掛起,任務C開始運行。如果此時任務B等待事件到來,則任務B轉為就緒態。由于任務B優先級比任務C高,因此任務B開始運行,直到其運行完畢,任務C才開始運行。直到任務C釋放共享資源S后,任務A才得以執行。在這種情況下,優先級發生了翻轉,任務B先于任務A運行。

      4.2 程序實現流程

      按照概念選擇使用臨界區建立線程1和線程3的共享資源,程序流程圖如圖8所示。首先建立三個線程1,2,3,并使3個線程掛起,為線程分配優先級。按照概念令線程1優先級最高,其次線程2,線程3優先級最低。初始化臨界區,激活線程3,線程3處于運行狀態執行占用臨界區資源的指令。激活線程1,激活線程2,三個線程執行完后釋放。

      圖8

      4.3 實時與非實時系統結果對比

      在window和RTSSwindow系統上實現上述程序邏輯后。分別統計10次結果,window系統執行效果如圖9所示,RTSSwindow如圖10所示。Window系統下,程序執行不一定發生優先級翻轉,而RTSSwindow系統下,程序均發生優先級翻轉。

      圖9

      圖10

      4.4 結論

      出現線程2先于線程1執行結果的情況即可認為優先級發生翻轉,在本次實驗window系統和RTSSwindow系統下模擬現實生活任務執行過程中出現的優先級翻轉的情況,發現實時和非實時系統下執行效果具有如下差異:

      ?? 非實時情況下:

      優先級不一定按照程序的邏輯效果進行翻轉

      ?? 實時情況下:

      優先級在觀測下均發生發展,嚴格按照程序邏輯進行執行

      經思考,兩者的差異來自于實時與非實時內核的延遲時間不同。實時系統在執行任務方面表現效果優于非實時系統。

      任務調度 Windows

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:云遷移實踐:VMware虛擬機遷移到華為云
      下一篇:消息隊列之 RabbitMQ
      相關文章
      国产亚洲情侣一区二区无| 午夜亚洲国产成人不卡在线| 国产亚洲?V无码?V男人的天堂 | 亚洲AV人无码综合在线观看 | 中文有码亚洲制服av片| 亚洲国产成人久久99精品| 久久精品国产亚洲AV嫖农村妇女| 久久亚洲国产伦理| 亚洲AV无码久久精品色欲| 亚洲AV综合色区无码另类小说| 亚洲狠狠婷婷综合久久久久| 亚洲另类激情综合偷自拍图| 亚洲欧洲日产国码av系列天堂 | 亚洲一区精彩视频| 日本亚洲精品色婷婷在线影院| 亚洲人成人77777网站不卡| 亚洲国产精品久久久久秋霞影院| 亚洲网红精品大秀在线观看| 亚洲精品日韩专区silk| 亚洲美女中文字幕| 亚洲av午夜精品无码专区| 亚洲jizzjizz在线播放久| 亚洲国产高清国产拍精品| 色偷偷尼玛图亚洲综合| 国产亚洲女在线线精品| 亚洲欧洲精品成人久久曰影片 | 久久精品国产亚洲AV忘忧草18| 亚洲18在线天美| 亚洲日韩中文字幕一区| 亚洲AV无码XXX麻豆艾秋| 九月婷婷亚洲综合在线| 在线亚洲精品福利网址导航| 激情97综合亚洲色婷婷五| 亚洲欧洲日产国码无码久久99| 亚洲今日精彩视频| 亚洲综合激情另类小说区| 亚洲日本久久久午夜精品| 激情小说亚洲图片| 国产亚洲情侣一区二区无| 亚洲A∨无码无在线观看| 亚洲免费在线视频播放|