<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解實時操作系統和非實時操作系統

玩轉嵌入式 ? 來源:小麥大叔 ? 2023-12-26 09:54 ? 次閱讀

實時操作系統:ucOS/VxWorks/RTLinux

非實時操作系統:Linux/Windows/OSX

1 實時操作系統

實時操作系統,當外界事件和數據產生時,系統能以足夠快的速度予以處理,其處理結果能在規定的時間內控制生產結果或對系統做出響應,并控制所有實時任務協調一致運行的操作系統。

在下圖中右邊的任務優先級("優先級")高于左邊的任務,先看實時操作系統的,當優先級更高的任務2就緒的時候,即便任務1正在運行中,也必須立刻交出CPU的使用權,就跟中斷一樣,先執行任務2,等任務2執行完或者主動掛起(sleep)讓出CPU的時候,任務1才能接著運行。

33625b84-a37e-11ee-8b88-92fbcf53809c.jpg

實時操作系統,一般分為硬實時和軟實時,硬實時指的是在規定的時間內必須完成任務操作,在操作系統設計時保證;

軟實時只要按照任務的優先級,盡可能地完成任務操作即可。

硬實時操作系統

完全滿足在指定時間內完成關鍵行為

硬實時操作系統嚴格規定了限定時間內必須完成任務,否則會導致嚴重后果發生。如在自動駕駛場景下,車輛前置攝像頭模塊,短距長距雷達及助力轉向等模塊需要連續采集處理數據,并通過算法輸出決策行為。其中,系統必須在指定時間內完成對輸入的采集數據完成運算及處理,并完成輸出。

假設方向盤轉角,節氣門等駕駛相關控制信號若無法確保實時性,自動駕駛系統的安全性將無法保證。

常見的硬實時操作系統有VxWorks,ThreadX、FreeRTOS、ucOS。

值得提一句的是,VxWorks是世界范圍內現役航天,航海,飛機,坦克自動化控制部分使用范圍最廣的實時操作系統,包括國內網上熱度最高的幾種軍事設備也同使用了此系統。

軟實時操作系統

大多數情況下在指定時間內完成關鍵行為

軟實時系統對處理事件的時間要求是統計學預期,即使在處理過程中偶發出現了時間偏差,也不會對系統造成致命后果。

如IP電視解碼視頻流數據時,可能會出現數據幀的丟失,但即使了,僅是用戶視覺上的體驗影響,或通過抖動處理,就可以解決圖像上的視覺感知問題。

多任務
系統提供了多任務運行機制,系統內核通過調度讓CPU運行許多外部事件線程,實現任務的并發性。

搶占調度
系統具有繼承的優先級和搶占式內核屬性,在執行某一項任務的時候,若有更高優先級的任務進入可執行態,系統將會立即搶占當前CPU資源,退出低優先級任務,運行高優先級任務。

任務間的通訊和同步
實時系統中,可能存在許多任務作為一個應用的部分執行,系統必須提供這些任務間的通訊機制,有效地共享不可搶占的資源或者臨界區所需要的同步機制。

任務與中斷之間的通信
在真實應用場景中,事件通常作為中斷的方式到來,為了系統調度的穩定、提供有效的排隊和減小中斷服務程序的開銷,通常希望在任務級線程處理相應工作,所以需要任務與中斷之間的通信。

2 非實時操作系統(分時操作系統)

再看看我們的Linux/Windows/OSX這些基于時間片輪轉的操作系統遇到這種問題的時候會怎么樣呢,毫無疑問它們都是非實時的操作系統,CPU是不可搶占的,從上圖可以看到,即便高優先級的任務就緒了,也不能馬上中斷低優先級任務而得到執行,必須要等到低優先級任務主動掛起(sleep)或者時間片結束才能得到執行。

所以我們在使用PC的時候經常會遇到應用程序無響應的問題。即硬件資源被其他任務占用,本任務得不到立即執行。

3376c060-a37e-11ee-8b88-92fbcf53809c.jpg

學習過程中最常見的操作系統是通用操作系統,即Windows、Unix、Linux等,此類系統由分時操作系統發展而來。

分時操作系統的基本設計原則是:盡量縮短系統的平均響應時間并提高系統的吞吐率,在單位時間內為盡可能多的用戶請求提供服務。

因而相比實時操作系統,非實時操作系統更關注系統平均性能,在響應時間上,非實時操作系統注重所有任務的平均響應時間,也就是說,它注重所有任務的平均響應時間而不關心單個任務的響應時間,針對某單個任務,也是注重每次執行的平均響應時間而不關心某次特定執行的響應時間。

Windows作為最常使用的通用操作系統,支持系統管理多用戶多進程的系統資源。

與實時操作系統的內核搶占機制不同的是,分時操作系統內核不可搶占,無論優先級多高的任務,都必須等當前CPU任務完成或當前任務主動退出后才可以執行。

想必都有體會的是,當CPU空閑時,電腦系統運行流暢,但當后臺執行補丁下載或殺毒時,一旦CPU進入高負荷狀態,操作系統就會出現運行卡頓甚至死機的問題。

計算機同時為多個用戶任務服務的操作系統,操作系統以時間片輪詢的機制,將系統處理時間與內存按照一定是時間間隔,輪流執行任務,實現任務的調度和執行。

由于間隔時間很短,每個用戶的任務感覺獨占計算機一樣,保證用戶任務的響應和執行。

交互性
用戶和系統進行人機對話。

多路性
多用戶在各自終端上使用同一個CPU。

獨立性
用戶可以獨立操作,互不干擾,互不混淆。

及時性
用戶在短時間內可以得到系統的及時應答。

兩類操作系統的主要區別在于任務調度處理方式不同,常用的任務調度方式有兩種:基于任務優先級的任務調度方式和基于時間片的任務調度方式:

基于任務優先級的調度方式:一旦內核把資源分配給某進程后,便讓該進程一直執行,直到該進程完成或發生某事件而被阻塞(常見的方式主動調用delay),才再把處理機分配給其他進程,否則高優先級的任務會一直運行。所以這種情況下,如果某個高優先級的任務運行時間過長最好有阻塞機制,來讓出CPU使其他低優先級的任務也有機會運行。

基于時間片的調度方式:這種方式下,所有任務的優先級相同,當內核給該進程分配的時間片結束后,內核會停止正在執行的這個進程,下一個時間片分配給其他進程執行,即便這個任務沒有執行完也沒有主動delay自己。

因此非實時操作系統與實時操作系統相比,最直接的差別

當內核處于相對消耗狀態時,非實時操作系統處理延時會增加,甚至無法保證最高優先級任務執行的最后時限。

為滿足實時性與可靠性,車輛ECU目前絕大多數模塊都為實時操作系統,近年來Infotainment,Tbox,ADAS部分處理模塊,中央網關及所謂的域控制器也逐步使用了Linux等分時系統來拓展部分功能,并配合相關實時操作系統來組合實現某些車載功能,使得車輛因引入了大數據分析,安全滲透分析等能力后實現了更深程度的智能化。

文章來源:小麥大叔

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10483

    瀏覽量

    206948
  • Linux
    +關注

    關注

    87

    文章

    11004

    瀏覽量

    206866
  • WINDOWS
    +關注

    關注

    3

    文章

    3453

    瀏覽量

    87239
  • 操作系統
    +關注

    關注

    37

    文章

    6323

    瀏覽量

    121984
  • 實時操作系統

    關注

    1

    文章

    184

    瀏覽量

    30562

原文標題:實時和非實時操作系統有什么區別?

文章出處:【微信號:玩轉嵌入式,微信公眾號:玩轉嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    實時操作系統和分時操作系統的區別

    操作系統能否滿足實時性要求來區分,可把操作系統分成分時操作系統實時操作系統,分時操作系統按照
    發表于 11-14 17:39 ?1.2w次閱讀

    #硬聲創作季 操作系統操作系統的發展:實時操作系統

    操作系統實時操作系統
    Mr_haohao
    發布于 :2022年10月16日 12:55:03

    國內著名的實時操作系統

    國內著名的實時操作系統國內的實時操作系統研究開發有兩種類型。一類是中國自主開發的實時操作系統,如
    發表于 06-07 14:22

    請問freertos是硬實時操作系統嗎?

    freertos是硬實時操作系統嗎?都有哪些硬實時操作系統???
    發表于 06-13 09:00

    NuttX實時操作系統

    (嵌入式 實時操作系統 rtos nuttx 7.1)NuttX 介紹轉載請注明出處: NuttX 實時操作系統NuttX 是一個實時
    發表于 08-06 07:53

    uCOS-II實時操作系統實時操作系統與分時操作系統的區別是什么

    文章目錄1簡介1uCOS-II中的任務1簡介uCOS-II實時操作系統實時操作系統與分時操作系統的區別:分時
    發表于 12-14 06:42

    實時操作系統(RTOS)是指什么

    計算機三級知識點總結五嵌入式系統實時系統(RTS)實時操作系統(RTOS)實時
    發表于 12-23 06:39

    4種實時操作系統實時性的分析對比

    本文分析了適用于測控領域的4種實時操作系統,并對比了它們實時性能的重要指標,歸納了實時性設計和實現中的若干問題。關鍵詞: 實時
    發表于 03-25 10:19 ?31次下載

    國內著名的實時操作系統有哪些?

    國內著名的實時操作系統   國內的實時操作系統研究開發有兩種類型。  一類是中國自主開發的實時
    發表于 06-17 00:37 ?6760次閱讀

    BenOS實時操作系統解密

    BenOS實時操作系統解密BenOS實時操作系統解密BenOS實時操作系統解密BenOS
    發表于 01-12 10:54 ?5次下載

    實時操作系統特性的討論

    嵌入式實時系統中采用的操作系統我們稱為嵌入式實時操作系統,它既是嵌入式操作系統,又是
    的頭像 發表于 09-30 09:31 ?4833次閱讀

    實時操作系統的特點_實時操作系統的組成

    本文主要闡述了實時操作系統的特點及組成。實時操作系統(RTOS)是指當外界事件或數據產生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理
    發表于 09-01 16:48 ?4516次閱讀

    實時操作系統和非實時操作系統的區別

    本文主要闡述了實時操作系統和非實時操作系統的區別。
    發表于 09-02 15:58 ?9946次閱讀

    實時操作系統

    實時操作系統(Real Time Operating System,簡稱RTOS)是指當外界事件或數據產生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程
    的頭像 發表于 11-17 20:42 ?1029次閱讀

    帶你認識實時操作系統(rtos)

    實時操作系統(RTOS)是為嵌入式系統實時應用提供一個穩定、可預測和高效運行環境的操作系統。實時
    的頭像 發表于 04-16 16:30 ?191次閱讀
    帶你認識<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>(rtos)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>