深夜福利网-深夜福利网站大全,国产一区二区三区久久精品,99re6热在线精品视频播放,日韩中文字幕视频免费,影院一区二区小说性鲍视频

知名百科 >> 實時操作系統(tǒng) >> 歷史版本
編輯時間歷史版本內(nèi)容長度圖片數(shù)目錄數(shù)修改原因
2024-05-08 10:42 最新歷史版本 11718 1 7
  返回詞條

實時操作系統(tǒng)

實時操作系統(tǒng)(RTOS)是指具有實時性能的操作系統(tǒng)。不可預(yù)測的外部事件或數(shù)據(jù)產(chǎn)生后,能在可預(yù)測的時間內(nèi)被接受,并以足夠快的速度進行處理,處理結(jié)果能在規(guī)定時間內(nèi)控制生產(chǎn)過程或快速響應(yīng)處理系統(tǒng),并能調(diào)度一切可用資源完成實時任務(wù)。與一般的操作系統(tǒng)相比,實時操作系統(tǒng)更加“實時”,即當(dāng)一個任務(wù)需要執(zhí)行時,實時操作系統(tǒng)會在很短的時間內(nèi)執(zhí)行,不會有很長的延遲,保證了每個任務(wù)都會及時執(zhí)行。

實時操作系統(tǒng)的研究可以追溯到20世紀(jì)60年代,經(jīng)歷了早期實時操作系統(tǒng)、專用實時操作系統(tǒng)和通用實時操作系統(tǒng)三個階段。21世紀(jì),實時操作系統(tǒng)已經(jīng)廣泛應(yīng)用于軍事、冶煉、發(fā)電、化工、機械等自動控制領(lǐng)域。

實時操作系統(tǒng)模型可以分為單片模型、層次模型和微內(nèi)核模型。它具有實時性、交互性、安全性、可靠性和復(fù)用性的特點,可以實現(xiàn)任務(wù)管理、定時器管理、內(nèi)存管理、資源管理、事件管理、消息管理和隊列管理等功能。

目錄

相關(guān)概念

任務(wù):實時操作系統(tǒng)中任務(wù)的概念類似于分時操作系統(tǒng)中進程的概念,是指占用系統(tǒng)資源的可獨立執(zhí)行的程序。在調(diào)度時,任務(wù)可以分為各種“狀態(tài)”,這些狀態(tài)可以分為四種類型:

任務(wù)優(yōu)先級:優(yōu)先級是指操作系統(tǒng)分配給任務(wù)的優(yōu)先級,決定了任務(wù)在使用資源時的優(yōu)先級。在實時系統(tǒng)中,任務(wù)優(yōu)先級反映了任務(wù)的重要性和緊迫性。任務(wù)的初始優(yōu)先級是在創(chuàng)建任務(wù)時定義的,任務(wù)的優(yōu)先級可以更改。

任務(wù)調(diào)度:調(diào)度是指當(dāng)系統(tǒng)只有一個CPU時,在單個CPU的情況下,多個線程按照一定的順序執(zhí)行。在操作系統(tǒng)中,每個任務(wù)每時每刻都處于某種“狀態(tài)”,任務(wù)調(diào)度負(fù)責(zé)管理和調(diào)度系統(tǒng)中運行的任務(wù)。實時調(diào)度的主要關(guān)注點是確保任務(wù)滿足截止日期。此外,它還應(yīng)該為周期性、非周期性和偶然性任務(wù)提供調(diào)度和管理機制。

暫停:中斷由外部設(shè)備產(chǎn)生,為中斷提供服務(wù)的例程稱為中斷服務(wù)例程(ISR)。在實時系統(tǒng)中,用硬性截止日期中斷任務(wù)可能會導(dǎo)致任務(wù)錯過截止日期。同時,在實時系統(tǒng)中不允許長時間中斷禁用,所以ISR一般都很短很快。常見的方法是將ISR視為實時操作系統(tǒng)調(diào)度的另一個高優(yōu)先級任務(wù)。

存儲器分配:實時操作系統(tǒng)需要有效地管理內(nèi)存。常見的內(nèi)存管理方法包括堆分區(qū)、固定分區(qū)和簡單分區(qū)。堆分區(qū)提供靈活的內(nèi)存分配,但分配和釋放時間不確定;固定分區(qū)提供了一定的分配和釋放時間,但可能會浪費內(nèi)存;簡單分區(qū)適用于只需要一次分配,但不支持內(nèi)存釋放的場景。

主要分類

按字段

根據(jù)應(yīng)用領(lǐng)域的不同,實時操作系統(tǒng)可以分為實時控制系統(tǒng)和實時信息系統(tǒng)。實時控制系統(tǒng):實時控制系統(tǒng)的主要特點是響應(yīng)速度快,可靠性高。主要應(yīng)用于工業(yè)控制、軍事控制等領(lǐng)域。例如,火箭飛行控制系統(tǒng)要求飛行數(shù)據(jù)的采集時間和燃油噴射時間要非常精確,通常時間精度要控制在微秒以下.實時信息系統(tǒng):由于在實時信息處理系統(tǒng)中會有多個終端用戶同時請求服務(wù),因此實時信息系統(tǒng)還具有分時操作系統(tǒng)的復(fù)用性、交互性和排他性的特點。主要應(yīng)用于銀行聯(lián)網(wǎng)存取款、民航機票預(yù)訂、信息檢索、網(wǎng)絡(luò)視頻服務(wù)等領(lǐng)域。在這類“事務(wù)處理”應(yīng)用中,計算機要對用戶的服務(wù)請求做出快速響應(yīng),并能及時修改和處理系統(tǒng)中的數(shù)據(jù)。

根據(jù)實時性能

實時操作系統(tǒng)通常分為軟實時操作系統(tǒng)和硬實時操作系統(tǒng)。硬實時操作系統(tǒng):在硬實時任務(wù)中,系統(tǒng)必須滿足任務(wù)的截止期要求,否則可能會出現(xiàn)不可預(yù)知的結(jié)果,比如導(dǎo)彈防御系統(tǒng),如果反應(yīng)慢就會造成嚴(yán)重的損失。硬實時操作系統(tǒng)包括RTEMS、VxWorks、ThreadXNucleus、QNX、OSE、LynxOS、RTLinux、RTAI等。軟實時操作系統(tǒng):也和一個期限有關(guān),但不嚴(yán)格。如果偶爾錯過一個任務(wù)的截止日期,對系統(tǒng)的影響不會太大。比如流水線就算癱瘓了,也只會賠錢。軟實時操作系統(tǒng)包括WinCE和Linux2.6x。

根據(jù)系統(tǒng)結(jié)構(gòu)

集中式實時操作系統(tǒng):集中式實時操作系統(tǒng)的基本運行環(huán)境是一臺計算機的實時操作系統(tǒng)。它具有實時操作系統(tǒng)最基本的實時多任務(wù)調(diào)度功能和I/O管理功能,并提供了一個應(yīng)用開發(fā)環(huán)境,因此該系統(tǒng)應(yīng)用廣泛。典型的集中式實時多任務(wù)操作系統(tǒng)是iRMX。

基于網(wǎng)絡(luò)的實時操作系統(tǒng):基于網(wǎng)絡(luò)的實時操作系統(tǒng)在集中式系統(tǒng)的實時性和可靠性的基礎(chǔ)上,增加了網(wǎng)絡(luò)驅(qū)動和通信、負(fù)載均衡調(diào)整和容錯能力,使系統(tǒng)不僅功能更強大,而且可靠性更高。典型的基于網(wǎng)絡(luò)的實時多任務(wù)操作系統(tǒng)是Ouantum。

嵌入式實時操作系統(tǒng):嵌入式實時操作系統(tǒng)是指將操作系統(tǒng)固化在內(nèi)存中,將包含操作系統(tǒng)的芯片安裝在專用設(shè)備中,支持應(yīng)用程序的運行,從而形成智能設(shè)備。因為嵌入式操作系統(tǒng)固化后通常是只讀程序,所以運行起來非??煽?。

主要特性

實時操作系統(tǒng)具有實時性、交互性、安全性、可靠性和復(fù)用性的特點。

及時:實時系統(tǒng)產(chǎn)生的結(jié)果對時間有嚴(yán)格的要求,只有滿足時間約束的結(jié)果才是正確的。對于實時信息系統(tǒng),響應(yīng)時間由操作員可接受的等待時間決定,通常是秒。對于實時控制系統(tǒng),其對時間的響應(yīng)是由被控對象可接受的延遲決定的,延遲可能是秒量級,也可能短至毫秒和微秒。

交互性:根據(jù)應(yīng)用對象和應(yīng)用需求的不同,對實時操作系統(tǒng)交互操作的方便性和權(quán)威性有特殊的要求。實時操作系統(tǒng)多為專用系統(tǒng),賦予用戶不同的權(quán)限。例如,實時控制系統(tǒng)在某些情況下不允許用戶干預(yù),而實時信息系統(tǒng)只允許用戶在其授權(quán)范圍內(nèi)訪問相關(guān)的計算機資源。

安全性和可靠性:在實時操作系統(tǒng)中,一方面,可靠性是指系統(tǒng)的正確性,即系統(tǒng)產(chǎn)生的結(jié)果不僅在數(shù)值上是正確的,在時間上也是正確的;另一方面是指系統(tǒng)的健壯性,即雖然系統(tǒng)存在錯誤或外部環(huán)境不符合定義,但系統(tǒng)仍能處于可預(yù)測的狀態(tài),仍能運行而不出現(xiàn)致命錯誤。

多樣性:實時系統(tǒng)的多通道性表現(xiàn)在采集許多不同的現(xiàn)場信息,控制許多對象和許多執(zhí)行器。實時控制系統(tǒng)往往具有現(xiàn)場多路采集、處理和操作機構(gòu)控制的功能;實時信息系統(tǒng)允許多個終端用戶(或遠程終端用戶)向系統(tǒng)請求服務(wù),每個用戶將得到獨立的服務(wù)和響應(yīng)。

可預(yù)測性:實時系統(tǒng)的實際行為必須在一定的限度內(nèi),這可以從系統(tǒng)的定義中得到。這意味著系統(tǒng)對外部輸入的響應(yīng)必須是完全可預(yù)測的,即使在最壞的情況下,系統(tǒng)也必須嚴(yán)格遵守時間限制。因此,當(dāng)出現(xiàn)過載時,系統(tǒng)必須能夠以可預(yù)測的方式確保其實時性能。

系統(tǒng)結(jié)構(gòu)

整體結(jié)構(gòu):單片結(jié)構(gòu)也叫無序模塊組合結(jié)構(gòu),即操作系統(tǒng)是一個單片結(jié)構(gòu),由一系列功能模塊組成,任何功能模塊都可以隨意調(diào)用,不分層次,形成網(wǎng)絡(luò)調(diào)用模式。最早開始于60年代初,比如DOS操作系統(tǒng)和IBM早期的操作系統(tǒng),在硬件之上定義了很多硬件抽象模塊。應(yīng)用系統(tǒng)調(diào)用用于實現(xiàn)操作系統(tǒng)的功能,如進程管理、文件系統(tǒng)和存儲管理等。這些功能由運行在核心狀態(tài)的多個模塊完成。這也使得整個系統(tǒng)緊湊且高效。

然而,具有整體結(jié)構(gòu)的操作系統(tǒng)不封裝和隱藏任何數(shù)據(jù)。功能模塊之間的關(guān)系很復(fù)雜。修改任何一個功能模塊都會引起其他所有功能模塊的修改,從而導(dǎo)致操作系統(tǒng)的設(shè)計和開發(fā)出現(xiàn)困難。因為所有的模塊都運行在同一個內(nèi)核空間,一個小小的錯誤就會讓整個系統(tǒng)崩潰。

分級結(jié)構(gòu):層次結(jié)構(gòu)是將操作系統(tǒng)中的所有功能模塊按照功能流程圖的調(diào)用順序劃分為不同的層次。低級功能為下一級功能提供服務(wù),而高級功能為上一級功能提供服務(wù)。各層之間存在單向依賴,無法形成循環(huán)。這種結(jié)構(gòu)層次清晰,易于調(diào)試和修改。這種操作系統(tǒng)始于60年代末70年代初。第一個分層操作系統(tǒng)是由E.WDijkstra教授和他的學(xué)生在1968年開發(fā)的。分級操作系統(tǒng)通??梢苑譃橛脩舫绦?、I/O管理、進程通信、存儲管理等層。一次一層結(jié)構(gòu)程序無權(quán)修改其他層的數(shù)據(jù),這也增加了系統(tǒng)的可靠性。

微核結(jié)構(gòu):隨著技術(shù)的發(fā)展,操作系統(tǒng)通常會添加一些新的功能,例如支持新的硬件設(shè)備,支持新的網(wǎng)絡(luò)通信能力或新興的軟件技術(shù),并將其應(yīng)用于分布式處理計算環(huán)境。為了實現(xiàn)這一目標(biāo),保證操作系統(tǒng)代碼的完整性,卡內(nèi)基梅隆大學(xué)開發(fā)的Mach系統(tǒng)中采用了一種獨特的方法來解決這一問題,即微內(nèi)核結(jié)構(gòu)。微內(nèi)核操作系統(tǒng)一般由兩部分組成:一部分是運行在內(nèi)核態(tài)的內(nèi)核,通常采用層次結(jié)構(gòu),構(gòu)成基本操作系統(tǒng);第二層是在用戶模式下運行,在客戶機/服務(wù)器模式下活動的流程層。即把操作系統(tǒng)除內(nèi)核以外的其他部分分成幾個相對獨立的進程,每個進程完成一組服務(wù),稱為服務(wù)器進程。

微內(nèi)核是操作系統(tǒng)的小核心,提煉出各種操作系統(tǒng)需要的核心功能,形成微內(nèi)核的基本功能。其基本功能包括進程調(diào)度、進程間通信和中斷處理,其他服務(wù)和功能放在內(nèi)核之外。這種結(jié)構(gòu)使操作系統(tǒng)具有可擴展性、可移植性和高可靠性的優(yōu)點。

系統(tǒng)組件

實時操作系統(tǒng)可以分為三個基本組成部分。

激活組件:負(fù)責(zé)接收任務(wù)激活指令,管理處于就緒狀態(tài)的任務(wù)集。任務(wù)激活可以是時間驅(qū)動的(基于實時時鐘),也可以是事件驅(qū)動的(比如中斷)。為了實現(xiàn)這個功能,這個組件需要使用所有任務(wù)的激活時間點和激活事件信息。

調(diào)度器:評估當(dāng)前處于就緒狀態(tài)的任務(wù),并制定調(diào)度策略,以優(yōu)先考慮每個任務(wù)的運行順序。

調(diào)度程序:管理所有任務(wù)所需的資源。一旦所需的資源得到滿足,具有最高優(yōu)先級的任務(wù)將運行。

調(diào)度算法

最早的截止日期優(yōu)先:最早截止期優(yōu)先(EDF),該算法的任務(wù)優(yōu)先級由任務(wù)截止期決定,并根據(jù)任務(wù)截止期動態(tài)分配。截止時間越早,優(yōu)先級越高。當(dāng)檢測到一個事件時,相應(yīng)的處理進程被添加到就緒進程表中,該表按截止時間排序,調(diào)度器總是使表中截止時間最早的進程運行。即使處理最緊急事件的進程優(yōu)先于處理器。

根據(jù)搶占方式的不同,最早截斷時間優(yōu)先調(diào)度算法可以分為非搶占式最早截斷時間優(yōu)先調(diào)度算法和搶占式最早截斷時間優(yōu)先調(diào)度算法。前者主要用于處理非周期性的實時任務(wù),響應(yīng)時間可達數(shù)百毫秒至數(shù)秒;后者用于處理周期性的實時任務(wù),響應(yīng)時間可以達到幾毫秒到100毫秒,甚至更低的調(diào)度延遲。

最小松弛優(yōu)先級:最小松弛度優(yōu)先(LLF)調(diào)度算法根據(jù)任務(wù)的緊急程度(或松弛度)來確定任務(wù)的優(yōu)先級。任務(wù)的緊急程度越高,給予它的優(yōu)先級就越高,這樣它就可以先被執(zhí)行。要計算每個進程的松弛時間,如果一個進程需要運行200毫秒,并且必須在250毫秒內(nèi)結(jié)束,那么它的松弛時間就是50毫秒。該算法選擇具有最小凈空的進程來占用處理器,換句話說,該算法優(yōu)先考慮處理最小延遲事件的進程。

速率單調(diào)算法:單調(diào)速率算法是一種靜態(tài)優(yōu)先級調(diào)度算法,它假設(shè)系統(tǒng)中任務(wù)序列的截止期、執(zhí)行時間、執(zhí)行周期等參數(shù)已知。在該算法中,任務(wù)周期決定了任務(wù)優(yōu)先級。所有周期性任務(wù)按照周期的長短排序,即周期最短的任務(wù)優(yōu)先級最高,周期最短的任務(wù)優(yōu)先級次高,以此類推。如果把任務(wù)周期看作是任務(wù)執(zhí)行率的倒數(shù),那么優(yōu)先級就是關(guān)于任務(wù)執(zhí)行率的單調(diào)遞增函數(shù)。例如,每20毫秒運行一次的進程的優(yōu)先級為50,每100毫秒運行一次的進程的優(yōu)先級為10。運行時調(diào)度程序總是以最高優(yōu)先級運行就緒進程。如有必要,奪取當(dāng)前運行進程的處理器。

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

固定優(yōu)先級調(diào)度:固定優(yōu)先級調(diào)度是指任務(wù)的優(yōu)先級被分配后,在任務(wù)運行過程中優(yōu)先級不會改變。它可以根據(jù)處于可運行狀態(tài)的線程的相對優(yōu)先級來實現(xiàn)調(diào)度。創(chuàng)建線程時,它會繼承原始線程的優(yōu)先級。必要時可以修改優(yōu)先級。在任何時候,如果有多個線程等待運行,系統(tǒng)會選擇具有最高優(yōu)先級的可運行線程來運行。只有當(dāng)?shù)蛢?yōu)先級線程停止、自動放棄或由于某種原因而變得不活動時,它才能運行。如果兩個線程具有相同的優(yōu)先級,它們將交替運行。

循環(huán)調(diào)度:循環(huán)調(diào)度,也稱為循環(huán)調(diào)度,將處理時間平均分配給所有就緒的進程。同時在循環(huán)調(diào)度中定義了一個很小的時間單位,稱為時間量或時間片,時間片通常為10-100ms。就緒隊列被視為循環(huán)隊列,CPU調(diào)度程序循環(huán)就緒隊列,并為每個進程分配不超過一個時間片間隔的CPU。循環(huán)調(diào)度支持幾乎所有的作業(yè),被認(rèn)為是最公平的算法。

先到先服務(wù)服務(wù)調(diào)度:先來先服務(wù)(FCFS)當(dāng)一個進程進入就緒隊列時,它的進程控制塊(PCB)被鏈接到隊列的尾部。當(dāng)CPU空閑時,它被分配給隊列頭的進程。然后,從隊列中刪除正在運行的進程。FCFS策略的平均等待時間相當(dāng)長,算法是非搶占式的。

多級隊列調(diào)度:多級隊列調(diào)度算法的基本思想是引入多個就緒隊列,通過區(qū)別對待每個隊列來實現(xiàn)綜合調(diào)度目標(biāo)。在多級隊列調(diào)度中,根據(jù)進程的性質(zhì)或類型,將就緒隊列分成若干子隊列,每個進程屬于一個就緒隊列,不同的隊列可以使用不同的調(diào)度算法。

多級反饋隊列調(diào)度:多級反饋隊列調(diào)度是循環(huán)調(diào)度算法和優(yōu)先級調(diào)度算法的結(jié)合,可以通過動態(tài)調(diào)整優(yōu)先級和時間片大小來兼顧各種系統(tǒng)目標(biāo)。其主要思想是根據(jù)不同CPU間隔的特點來區(qū)分進程。如果一個進程使用了太多的CPU時間,它可能會被轉(zhuǎn)移到一個較低優(yōu)先級的隊列中。該方案將I/O約束和交互進程留在更高優(yōu)先級的隊列中。此外,在較低優(yōu)先級隊列中等待時間過長的進程將被轉(zhuǎn)移到較高優(yōu)先級隊列中。

優(yōu)先級反轉(zhuǎn):優(yōu)先級反轉(zhuǎn)是指在采用基于優(yōu)先級的調(diào)度策略時,由于多個線程共享資源,低優(yōu)先級的線程會先于高優(yōu)先級的線程執(zhí)行的情況。優(yōu)先級反轉(zhuǎn)可能會使實時性要求高的線程錯過關(guān)鍵截止期,從而導(dǎo)致系統(tǒng)崩潰。為了避免優(yōu)先級反轉(zhuǎn)的問題,需要讓低優(yōu)先級線程盡快釋放關(guān)鍵資源,可以采用兩種方法:優(yōu)先級繼承和優(yōu)先級上限。

典型應(yīng)用

智能家居:在智能家居中,不同的設(shè)備之間可以相互通信,通過智能感應(yīng)、交通控制、語音識別可以實現(xiàn)多個設(shè)備的聯(lián)動。智能家居幫助用戶以更便捷的方式管理家庭設(shè)備,提供高效舒適的生活和工作環(huán)境。

交通管理和汽車:在交通管理上,可以將物聯(lián)網(wǎng)技術(shù)與實時操作系統(tǒng)相結(jié)合,實現(xiàn)智能交通管理,可以進行實時分析,傳輸高校內(nèi)城市道路交通狀況,合理規(guī)劃路線,緩解城市交通擁堵。例如,ADAS可以通過提供實時增強的可視化和與周圍環(huán)境的交互來改善駕駛員對車輛的控制。此外,實時操作系統(tǒng)可以實現(xiàn)對車輛的全面管理,特別是在電動汽車的電源管理方面,可以節(jié)省汽車的能耗,延長電池的使用壽命。

工業(yè)控制:在工業(yè)控制中,許多智能工業(yè)機器人的出現(xiàn)是實時操作系統(tǒng)相結(jié)合的結(jié)果。工業(yè)控制的要求往往很高,需要復(fù)雜的設(shè)備接口,在顯示屏上實時顯示這些設(shè)備和傳感器的狀態(tài)等信息。在一些環(huán)境惡劣、地面條件復(fù)雜的地區(qū),可以通過內(nèi)置實時操作系統(tǒng)的智能機器人實現(xiàn)無人值守監(jiān)控。

軍事:在高科技戰(zhàn)爭中,實時操作系統(tǒng)的應(yīng)用越來越重要。它可以將衛(wèi)星定位、無線通信、圖像捕獲和傳輸?shù)裙δ芗傻教囟ǖ淖鲬?zhàn)環(huán)境中,如各種軍用電子設(shè)備、軍用雷達對抗通信設(shè)備、各種野戰(zhàn)指揮作戰(zhàn)專用設(shè)備等,都裝有實時操作系統(tǒng)。