<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 實(shí)時(shí)和非實(shí)時(shí)操作系統有什么區別?

實(shí)時(shí)和非實(shí)時(shí)操作系統有什么區別?

發(fā)布人:xiaomaidashu 時(shí)間:2023-12-01 來(lái)源:工程師 發(fā)布文章
1 實(shí)時(shí)操作系統

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

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

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

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

硬實(shí)時(shí)操作系統

完全滿(mǎn)足在指定時(shí)間內完成關(guān)鍵行為

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

假設方向盤(pán)轉角,節氣門(mén)等駕駛相關(guān)控制信號若無(wú)法確保實(shí)時(shí)性,自動(dòng)駕駛系統的安全性將無(wú)法保證。

常見(jiàn)的硬實(shí)時(shí)操作系統有VxWorks,ThreadX、FreeRTOS、ucOS。

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

軟實(shí)時(shí)操作系統

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

軟實(shí)時(shí)系統對處理事件的時(shí)間要求是統計學(xué)預期,即使在處理過(guò)程中偶發(fā)出現了時(shí)間偏差,也不會(huì )對系統造成致命后果。

如IP電視解碼視頻流數據時(shí),可能會(huì )出現數據幀的丟失,但即使了,僅是用戶(hù)視覺(jué)上的體驗影響,或通過(guò)抖動(dòng)處理,就可以解決圖像上的視覺(jué)感知問(wèn)題。

  • 多任務(wù)
    系統提供了多任務(wù)運行機制,系統內核通過(guò)調度讓CPU運行許多外部事件線(xiàn)程,實(shí)現任務(wù)的并發(fā)性。
  • 搶占調度
    系統具有繼承的優(yōu)先級和搶占式內核屬性,在執行某一項任務(wù)的時(shí)候,若有更高優(yōu)先級的任務(wù)進(jìn)入可執行態(tài),系統將會(huì )立即搶占當前CPU資源,退出低優(yōu)先級任務(wù),運行高優(yōu)先級任務(wù)。
  • 任務(wù)間的通訊和同步
    實(shí)時(shí)系統中,可能存在許多任務(wù)作為一個(gè)應用的部分執行,系統必須提供這些任務(wù)間的通訊機制,有效地共享不可搶占的資源或者臨界區所需要的同步機制。
  • 任務(wù)與中斷之間的通信
    在真實(shí)應用場(chǎng)景中,事件通常作為中斷的方式到來(lái),為了系統調度的穩定、提供有效的排隊和減小中斷服務(wù)程序的開(kāi)銷(xiāo),通常希望在任務(wù)級線(xiàn)程處理相應工作,所以需要任務(wù)與中斷之間的通信。
2 非實(shí)時(shí)操作系統(分時(shí)操作系統)

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

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

圖片

學(xué)習過(guò)程中最常見(jiàn)的操作系統是通用操作系統,即Windows、Unix、Linux等,此類(lèi)系統由分時(shí)操作系統發(fā)展而來(lái)。

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

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

Windows作為最常使用的通用操作系統,支持系統管理多用戶(hù)多進(jìn)程的系統資源。

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

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

計算機同時(shí)為多個(gè)用戶(hù)任務(wù)服務(wù)的操作系統,操作系統以時(shí)間片輪詢(xún)的機制,將系統處理時(shí)間與內存按照一定是時(shí)間間隔,輪流執行任務(wù),實(shí)現任務(wù)的調度和執行。

由于間隔時(shí)間很短,每個(gè)用戶(hù)的任務(wù)感覺(jué)獨占計算機一樣,保證用戶(hù)任務(wù)的響應和執行。

  • 交互性
    用戶(hù)和系統進(jìn)行人機對話(huà)。
  • 多路性
    多用戶(hù)在各自終端上使用同一個(gè)CPU。
  • 獨立性
    用戶(hù)可以獨立操作,互不干擾,互不混淆。
  • 及時(shí)性
    用戶(hù)在短時(shí)間內可以得到系統的及時(shí)應答。

兩類(lèi)操作系統的主要區別在于任務(wù)調度處理方式不同,常用的任務(wù)調度方式有兩種:基于任務(wù)優(yōu)先級的任務(wù)調度方式和基于時(shí)間片的任務(wù)調度方式:

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

  2. 基于時(shí)間片的調度方式:這種方式下,所有任務(wù)的優(yōu)先級相同,當內核給該進(jìn)程分配的時(shí)間片結束后,內核會(huì )停止正在執行的這個(gè)進(jìn)程,下一個(gè)時(shí)間片分配給其他進(jìn)程執行,即便這個(gè)任務(wù)沒(méi)有執行完也沒(méi)有主動(dòng)delay自己。

因此非實(shí)時(shí)操作系統與實(shí)時(shí)操作系統相比,最直接的差別:

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

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


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。




相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>