RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

詳解實時操作系統(tǒng)和非實時操作系統(tǒng)

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

實時操作系統(tǒng):ucOS/VxWorks/RTLinux

非實時操作系統(tǒng):Linux/Windows/OSX

1 實時操作系統(tǒng)

實時操作系統(tǒng),當外界事件和數(shù)據(jù)產(chǎn)生時,系統(tǒng)能以足夠快的速度予以處理,其處理結(jié)果能在規(guī)定的時間內(nèi)控制生產(chǎn)結(jié)果或?qū)ο到y(tǒng)做出響應,并控制所有實時任務協(xié)調(diào)一致運行的操作系統(tǒng)。

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

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

實時操作系統(tǒng),一般分為硬實時和軟實時,硬實時指的是在規(guī)定的時間內(nèi)必須完成任務操作,在操作系統(tǒng)設(shè)計時保證;

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

硬實時操作系統(tǒng)

完全滿足在指定時間內(nèi)完成關(guān)鍵行為

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

假設(shè)方向盤轉(zhuǎn)角,節(jié)氣門等駕駛相關(guān)控制信號若無法確保實時性,自動駕駛系統(tǒng)的安全性將無法保證。

常見的硬實時操作系統(tǒng)有VxWorks,ThreadX、FreeRTOS、ucOS。

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

軟實時操作系統(tǒng)

大多數(shù)情況下在指定時間內(nèi)完成關(guān)鍵行為

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

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

多任務
系統(tǒng)提供了多任務運行機制,系統(tǒng)內(nèi)核通過調(diào)度讓CPU運行許多外部事件線程,實現(xiàn)任務的并發(fā)性。

搶占調(diào)度
系統(tǒng)具有繼承的優(yōu)先級和搶占式內(nèi)核屬性,在執(zhí)行某一項任務的時候,若有更高優(yōu)先級的任務進入可執(zhí)行態(tài),系統(tǒng)將會立即搶占當前CPU資源,退出低優(yōu)先級任務,運行高優(yōu)先級任務。

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

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

2 非實時操作系統(tǒng)(分時操作系統(tǒng))

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

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

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

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

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

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

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

與實時操作系統(tǒng)的內(nèi)核搶占機制不同的是,分時操作系統(tǒng)內(nèi)核不可搶占,無論優(yōu)先級多高的任務,都必須等當前CPU任務完成或當前任務主動退出后才可以執(zhí)行。

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

計算機同時為多個用戶任務服務的操作系統(tǒng),操作系統(tǒng)以時間片輪詢的機制,將系統(tǒng)處理時間與內(nèi)存按照一定是時間間隔,輪流執(zhí)行任務,實現(xiàn)任務的調(diào)度和執(zhí)行。

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

交互性
用戶和系統(tǒng)進行人機對話。

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

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

及時性
用戶在短時間內(nèi)可以得到系統(tǒng)的及時應答。

兩類操作系統(tǒng)的主要區(qū)別在于任務調(diào)度處理方式不同,常用的任務調(diào)度方式有兩種:基于任務優(yōu)先級的任務調(diào)度方式和基于時間片的任務調(diào)度方式:

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

基于時間片的調(diào)度方式:這種方式下,所有任務的優(yōu)先級相同,當內(nèi)核給該進程分配的時間片結(jié)束后,內(nèi)核會停止正在執(zhí)行的這個進程,下一個時間片分配給其他進程執(zhí)行,即便這個任務沒有執(zhí)行完也沒有主動delay自己。

因此非實時操作系統(tǒng)與實時操作系統(tǒng)相比,最直接的差別

當內(nèi)核處于相對消耗狀態(tài)時,非實時操作系統(tǒng)處理延時會增加,甚至無法保證最高優(yōu)先級任務執(zhí)行的最后時限。

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

文章來源:小麥大叔

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

    關(guān)注

    68

    文章

    10854

    瀏覽量

    211570
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209322
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3541

    瀏覽量

    88619
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6801

    瀏覽量

    123282
  • 實時操作系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    197

    瀏覽量

    30753

原文標題:實時和非實時操作系統(tǒng)有什么區(qū)別?

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

收藏 人收藏

    評論

    相關(guān)推薦

    實時操作系統(tǒng)和分時操作系統(tǒng)的區(qū)別

    操作系統(tǒng)能否滿足實時性要求來區(qū)分,可把操作系統(tǒng)分成分時操作系統(tǒng)實時操作系統(tǒng),分時操作系統(tǒng)按照
    發(fā)表于 11-14 17:39 ?1.3w次閱讀

    什么是實時操作系統(tǒng)(RTOS)

    實時操作系統(tǒng)(RTOS)是一種專為實時應用程序設(shè)計的操作系統(tǒng)。實時應用程序需要在特定時間內(nèi)做出預測的響應,因此 RTOS 專注于提供對時間約
    的頭像 發(fā)表于 11-23 17:14 ?5941次閱讀

    #硬聲創(chuàng)作季 操作系統(tǒng)操作系統(tǒng)的發(fā)展:實時操作系統(tǒng)

    操作系統(tǒng)實時操作系統(tǒng)
    Mr_haohao
    發(fā)布于 :2022年10月16日 12:55:03

    NuttX實時操作系統(tǒng)

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

    uCOS-II實時操作系統(tǒng)實時操作系統(tǒng)與分時操作系統(tǒng)的區(qū)別是什么

    文章目錄1簡介1uCOS-II中的任務1簡介uCOS-II實時操作系統(tǒng)實時操作系統(tǒng)與分時操作系統(tǒng)的區(qū)別:分時
    發(fā)表于 12-14 06:42

    嵌入式實時操作系統(tǒng)教程

    嵌入式實時操作系統(tǒng)教程:以VRTX為對象詳細介紹了嵌入式實時操作系統(tǒng)的原理和應用,特別是第一部分關(guān)于嵌入式實時
    發(fā)表于 04-19 21:55 ?44次下載
    嵌入式<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>教程

    國內(nèi)著名的實時操作系統(tǒng)有哪些?

    國內(nèi)著名的實時操作系統(tǒng)   國內(nèi)的實時操作系統(tǒng)研究開發(fā)有兩種類型。  一類是中國自主開發(fā)的實時
    發(fā)表于 06-17 00:37 ?6983次閱讀

    BenOS實時操作系統(tǒng)解密

    BenOS實時操作系統(tǒng)解密BenOS實時操作系統(tǒng)解密BenOS實時操作系統(tǒng)解密BenOS
    發(fā)表于 01-12 10:54 ?5次下載

    高效實時操作系統(tǒng)設(shè)計

    基于STM34f4開發(fā)的高效實時操作系統(tǒng)。
    發(fā)表于 05-11 14:54 ?26次下載

    實時操作系統(tǒng)特性的討論

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

    實時操作系統(tǒng)的特點_實時操作系統(tǒng)的組成

    本文主要闡述了實時操作系統(tǒng)的特點及組成。實時操作系統(tǒng)(RTOS)是指當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚?/div>
    發(fā)表于 09-01 16:48 ?5132次閱讀

    實時操作系統(tǒng)實時操作系統(tǒng)的區(qū)別

    本文主要闡述了實時操作系統(tǒng)實時操作系統(tǒng)的區(qū)別。
    發(fā)表于 09-02 15:58 ?1.1w次閱讀

    什么是分時操作系統(tǒng),Linux屬于實時操作系統(tǒng)嗎?

    我們平時分享的μC/OS、FreeRTOS、RT-Thread、ThreadX這些都是實時操作系統(tǒng)(RTOS),那么有讀者問:什么是分時操作系統(tǒng),Linux屬于實時
    的頭像 發(fā)表于 06-23 17:04 ?9118次閱讀

    實時操作系統(tǒng)

    實時操作系統(tǒng)(Real Time Operating System,簡稱RTOS)是指當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或
    的頭像 發(fā)表于 11-17 20:42 ?1369次閱讀

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

    實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)實時應用提供一個穩(wěn)定、可預測和高效運行環(huán)境的操作系統(tǒng)。實時
    的頭像 發(fā)表于 04-16 16:30 ?1247次閱讀
    帶你認識<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>(rtos)
    RM新时代网站-首页