完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>
標簽 > RTOS
實時操作系統(tǒng)(RTOS)是指當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應,調(diào)度一切可利用的資源完成實時任務(wù),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。
實時操作系統(tǒng)(RTOS)是指當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應,調(diào)度一切可利用的資源完成實時任務(wù),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。提供及時響應和高可靠性是其主要特點。
RTOS系統(tǒng)
RTOS是一個內(nèi)核,典型的單片機程序在程序指針復位后,首先進行堆棧、中斷、中斷向量、定時器、串行口等接口設(shè)置、初始化數(shù)據(jù)存儲區(qū)和顯示內(nèi)容,然后就來到了一個監(jiān)測、等待或空循環(huán),在這個循環(huán)中,CPU可以監(jiān)視外設(shè)、響應中斷或用戶輸入。
這段主程序可以看作是一個內(nèi)核,內(nèi)核負責系統(tǒng)的初始化和開放、調(diào)度其它任務(wù),相當于C語言中的主函數(shù)。
RTOS就是這樣的一個標準內(nèi)核,包括了各種片上外設(shè)初始化和數(shù)據(jù)結(jié)構(gòu)的格式化,不必、也不推薦用戶再對硬件設(shè)備和資源進行直接操作,所有的硬件設(shè)置和資源訪問都要通過RTOS核心。硬件這樣屏蔽起來以后,用戶不必清楚硬件系統(tǒng)的每一個細節(jié)就可以進行開發(fā),這樣就減少了開發(fā)前的學習量。
實時操作系統(tǒng)(RTOS)是指當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應,調(diào)度一切可利用的資源完成實時任務(wù),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。提供及時響應和高可靠性是其主要特點。
定義
實時操作系統(tǒng)是保證在一定時間限制內(nèi)完成特定功能的操作系統(tǒng)。實時操作系統(tǒng)有硬實時和軟實時之分,硬實時要求在規(guī)定的時間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計時保證的;軟實時則只要按照任務(wù)的優(yōu)先級,盡可能快地完成操作即可。我們通常使用的操作系統(tǒng)在經(jīng)過一定改變之后就可以變成實時操作系統(tǒng)。
例如,可以為確保生產(chǎn)線上的機器人能獲取某個物體而設(shè)計一個操作系統(tǒng)。在“硬”實時操作系統(tǒng)中,如果不能在允許時間內(nèi)完成使物體可達的計算,操作系統(tǒng)將因錯誤結(jié)束。在“軟”實時操作系統(tǒng)中,生產(chǎn)線仍然能繼續(xù)工作,但產(chǎn)品的輸出會因產(chǎn)品不能在允許時間內(nèi)到達而減慢,這使機器人有短暫的不生產(chǎn)現(xiàn)象。一些實時操作系統(tǒng)是為特定的應用設(shè)計的,另一些是通用的。一些通用目的的操作系統(tǒng)稱自己為實時操作系統(tǒng)。但某種程度上,大部分通用目的的操作系統(tǒng),如微軟的Windows NT或IBM的OS/390有實時系統(tǒng)的特征。這就是說,即使一個操作系統(tǒng)不是嚴格的實時系統(tǒng),它們也能解決一部分實時應用問題。
大體上,實時操作系統(tǒng)(RTOS)要求:
多任務(wù)
處理能被區(qū)分優(yōu)先次序的進程線
一個中斷水平的充份數(shù)量
被裝入作為微型設(shè)備一部分的內(nèi)含小操作系統(tǒng)經(jīng)常要求實時操作系統(tǒng)。一些核心問題能被考慮以符合實時操作系統(tǒng)的需求。然而,因為像設(shè)備驅(qū)動程序這樣的其他成份,也通常被特別的方法需要,一個實時操作系統(tǒng)通常比核心更大。
RTOS系統(tǒng)
1.RTOS是一個內(nèi)核
典型的單片機程序在程序指針復位后,首先進行堆棧、中斷、中斷向量、定時器、串行口等接口設(shè)置、初始化數(shù)據(jù)存儲區(qū)和顯示內(nèi)容,然后就來到了一個監(jiān)測、等待或空循環(huán),在這個循環(huán)中,CPU可以監(jiān)視外設(shè)、響應中斷或用戶輸入。
這段主程序可以看作是一個內(nèi)核,內(nèi)核負責系統(tǒng)的初始化和開放、調(diào)度其它任務(wù),相當于C語言中的主函數(shù)。
RTOS就是這樣的一個標準內(nèi)核,包括了各種片上外設(shè)初始化和數(shù)據(jù)結(jié)構(gòu)的格式化,不必、也不推薦用戶再對硬件設(shè)備和資源進行直接操作,所有的硬件設(shè)置和資源訪問都要通過RTOS核心。硬件這樣屏蔽起來以后,用戶不必清楚硬件系統(tǒng)的每一個細節(jié)就可以進行開發(fā),這樣就減少了開發(fā)前的學習量。
一般來說,對硬件的直接訪問越少,系統(tǒng)的可靠性越高。RTOS是一個經(jīng)過測試的內(nèi)核,與一般用戶自行編寫的主程序內(nèi)核相比,更規(guī)范,效率和可靠性更高。對于一個精通單片機硬件系統(tǒng)和編程的“老手”而言,通過RTOS對系統(tǒng)進行管理可能不如直接訪問更直觀、自由度大,但是通過RTOS管理能夠排除人為疏忽因素,提高軟件可靠性。
另外,高效率地進行多任務(wù)支持是RTOS設(shè)計從始至終的一條主線,采用RTOS管理系統(tǒng)可以統(tǒng)一協(xié)調(diào)各個任務(wù),優(yōu)化CPU時間和系統(tǒng)資源的分配,使之不空閑、不擁塞。針對某種具體應用,精細推敲的應用程序不采用RTOS可能比采用RTOS能達到更高的效率;但是對于大多數(shù)一般用戶和新手而言,采用RTOS是可以提高資源利用率的,尤其是在片上資源不斷增長、產(chǎn)品可靠性和進入市場時間更重要的今天。
2.RTOS是一個平臺
RTOS建立在單片機硬件系統(tǒng)之上,用戶的一切開發(fā)工作都進行于其上,因此它可以稱作是一個平臺。采用RTOS的用戶不必花大量時間學習硬件,和直接開發(fā)相比起點更高。
RTOS還是一個標準化的平臺,它定義了每個應用任務(wù)和內(nèi)核的接口,也促進了應用程序的標準化。應用程序標準化后便于軟件的存檔、交流、修改和擴展,為嵌入式軟件開發(fā)的工程化創(chuàng)造了條件、減少開發(fā)管理工作量。嵌入式軟件標準化推廣到社會后,可以促進軟件開發(fā)的分工,減少重復勞動,近來出現(xiàn)的建立于RTOS上的文件和通信協(xié)議庫函數(shù)產(chǎn)品等就是實例。
RTOS對于開發(fā)單位和開發(fā)者個人來說也是一種提高。引入RTOS的開發(fā)單位,相當于引入了一套行業(yè)中廣泛采用的嵌入式系統(tǒng)應用程序開發(fā)標準,使開發(fā)管理更簡易、有效。基于RTOS和C語言的開發(fā),具有良好的可繼承性,在應用程序、處理器升級以及更換處理器類型時,現(xiàn)存的軟件大部分可以不經(jīng)修改地移植過來。
對于開發(fā)人員來說,則相當于在程序設(shè)計中采用一種標準化的思維方式,提高知識創(chuàng)造的效率;同時因為具有類似的思路,可以更快地理解同行其它人員的創(chuàng)造成果
特點
一、時間約束性
實時系統(tǒng)的任務(wù)具有一定的時間約束(截止時間)。根據(jù)截止時間,實時系統(tǒng)的實時性分為“硬實時”和“軟實時”。硬實時是指應用的時間需求能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財產(chǎn)損失和生態(tài)破壞,如在航空航天、軍事、核工業(yè)等一些關(guān)鍵領(lǐng)域中的應用。軟實時是指某些應用雖然提出時間需求,但實時任務(wù)偶爾違反這種需求對系統(tǒng)運行及環(huán)境不會造成嚴重影響,如監(jiān)控系統(tǒng)等和信息采集系統(tǒng)等。
二、可預測性
可預測性是指系統(tǒng)能夠?qū)崟r任務(wù)的執(zhí)行時間進行判斷,確定是否能夠滿足任務(wù)的時限要求。由于實時系統(tǒng)對時間約束要求的嚴格性,使可預測性稱為實時系統(tǒng)的一項重要性能要求。除了要求硬件延遲的可預測性以外,還要求軟件系統(tǒng)的可預測性,包括應用程序的響應時間是可預測的,即在有限的時間內(nèi)完成必須的工作;以及操作系統(tǒng)的可預測性,即實時原語、調(diào)度函數(shù)等運行開銷應是有界的,以保證應用程序執(zhí)行時間的有界性。
三、可靠性
大多數(shù)實時系統(tǒng)要求有較高的可靠性。在一些重要的實時應用中,任何不可靠因素和計算機的一個微小故障,或某些特定強實時任務(wù)(又叫關(guān)鍵任務(wù))超過時限,都可能引起難以預測的嚴重后果。為此,系統(tǒng)需要采用靜態(tài)分析和保留資源的方法及冗余配置,使系統(tǒng)在最壞情況下都能正常工作或避免損失。可靠性已成為衡量實時系統(tǒng)性能不可缺少的重要指標。
四、與外部環(huán)境的交互作用性
實時系統(tǒng)通常運行在一定的環(huán)境下,外部環(huán)境是實時系統(tǒng)不可缺少的一個組成部分。計算機子系統(tǒng)一般是控制系統(tǒng),它必須在規(guī)定的時間內(nèi)對外部請求做出反應。外部物理環(huán)境往往是被控子系統(tǒng),兩者互相作用構(gòu)成完整的實時系統(tǒng)。大多數(shù)控制子系統(tǒng)必須連續(xù)運轉(zhuǎn)以保證子系統(tǒng)的正常工作或準備對任何異常行為采取行動。
早期的實時系統(tǒng)功能簡單,包括單板機、單片機,以及簡單的嵌入式實時系統(tǒng)等,其調(diào)度過程相對簡單。隨著實時系統(tǒng)應用范圍的不斷擴大,系統(tǒng)復雜性不斷提高,實時系統(tǒng)具有以下新特點。
1、多任務(wù)類型
在實時系統(tǒng)中,不但包括周期任務(wù)、偶發(fā)任務(wù)、非周期任務(wù),還包括非實時任務(wù)。實時任務(wù)要求要滿足時限,而非實時任務(wù)要求要使其響應時間盡可能的短。多種類型任務(wù)的混合,使系統(tǒng)的可調(diào)度性分析更加困難。
2、約束的復雜性
任務(wù)的約束包括時間約束、資源約束、執(zhí)行順序約束和性能約束。時間約束是任何實時系統(tǒng)都固有的約束。資源約束是指多個實時任務(wù)共享有限的資源時,必須按照一定的資源訪問控制協(xié)議進行同步,以避免死鎖和高優(yōu)先級任務(wù)被低優(yōu)先級任務(wù)堵塞的時間(即優(yōu)先級倒置時間)不可預測。執(zhí)行順序約束是指各任務(wù)的啟動和執(zhí)行必須滿足一定的時間和順序約束。例如,在分布式端到端(end-to-end)實時系統(tǒng)很重,同一任務(wù)的各子任務(wù)之間存在前驅(qū)/后驅(qū)約束關(guān)系,需要執(zhí)行同步協(xié)議來管理子任務(wù)的啟動和控制子任務(wù)的執(zhí)行,使它們滿足時間約束和系統(tǒng)可調(diào)度要求。性能約束是指必須滿足如可靠性、可用性、可預測性、服務(wù)質(zhì)量(Quality of Service,QoS)等性能指標。
3、具有短暫超載的特點
在實時系統(tǒng)中,即使一個功能設(shè)計合理、資源充足的系統(tǒng)也可能由于一下原因超載:
1)系統(tǒng)元件出現(xiàn)老化,外圍設(shè)備錯誤或系統(tǒng)發(fā)生故障。隨著系統(tǒng)運行時間的增長,系統(tǒng)元件出現(xiàn)老化,系統(tǒng)部件可能發(fā)生故障,導致系統(tǒng)可用資源降低,不能滿足實時任務(wù)的時間約束要求。
2)環(huán)境的動態(tài)變化。由于不能對未來的環(huán)境、系統(tǒng)狀態(tài)進行正確有效地預測,因此不能從整體角度上對任務(wù)進行調(diào)度,可能導致系統(tǒng)超載。
3)應用規(guī)模的擴大。原先滿足實時任務(wù)時限要求的系統(tǒng),隨著應用規(guī)模的增大,可能出現(xiàn)不能滿足任務(wù)時限要求的情況,而重新設(shè)計、重建系統(tǒng)在時間和經(jīng)濟上又不允許。
RT-Thread開發(fā),如何有效學習RT-Thread的五個步驟
RT-Thread推出RT-Thread Inside戰(zhàn)略開放RT-Thread開發(fā)平臺授權(quán)合作,與硬件十萬個為什么合作首次推出第一款RT-Inside...
為了能讓開發(fā)者清楚地理解 RT-Thread DFS 框架的概念,學會使用 RT-Thread 文件系統(tǒng)。本應用筆記將一步步深入介紹 RT-Thread...
2018-08-17 標簽:文件系統(tǒng)rtosRT-Thread 3.1萬 0
國產(chǎn)RTOS介紹,國產(chǎn)化要求給國產(chǎn)RTOS帶來的機遇
djyos-是由長園深瑞繼保自動化有限公司(簡稱深瑞)主持的開源操作系統(tǒng)嵌入式實時操作系統(tǒng),采用BSD協(xié)議(由于允許使用者修改和重新發(fā)布代碼,也允許使用...
2018-04-24 標簽:RTOS嵌入式操作系統(tǒng) 2.3萬 0
幾位嵌入式技術(shù)大牛:嵌入式操作系統(tǒng)那么多,如何選擇?
物聯(lián)網(wǎng)、人工智能的發(fā)展都離不開嵌入式系統(tǒng),工程師對嵌入式操作系統(tǒng)的要求也由簡單易用上升到既要簡單易用又安全可靠。嵌入式操作系統(tǒng)那么多,到底哪一個才適合工...
2017-09-11 標簽:LinuxRTOS嵌入式操作系統(tǒng) 2.1萬 0
傳統(tǒng)的嵌入式系統(tǒng)開發(fā)人員一般使用不聯(lián)網(wǎng)的設(shè)備在裸機上工作,但 IoT 卻要求系統(tǒng)連接到因特網(wǎng)。這就要求嵌入式系統(tǒng)開發(fā)人員了解如何連接其設(shè)備和使用較高級別...
在很多操作系統(tǒng)中,都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
2022-04-12 標簽:操作系統(tǒng)函數(shù)RTOS 1.4萬 0
實時操作系統(tǒng) (RTOS) 是管理微處理器或微控制器時間的軟件。實時系統(tǒng)指如果系統(tǒng)的邏輯和時序正確性無法滿足,可能會導致嚴重后果的系統(tǒng)。實時多任務(wù)應用是...
2022-08-30 標簽:嵌入式系統(tǒng)RTOS實時操作系統(tǒng) 1.2萬 0
什么是操作系統(tǒng)?FreeRTOS中文實用教程讓你快速入門FreeRTOS立即下載
類別:物聯(lián)網(wǎng) 2018-09-12 標簽:操作系統(tǒng)RTOSFreeRTOS
類別:嵌入式開發(fā) 2019-12-06 標簽:嵌入式系統(tǒng)STM32RTOS
一個十余年歷史的國產(chǎn)RTOS,從RT-Thread中我們能學到什么?
本文將為大家簡要介紹一下筆者使用和學習RT-Thread過程中的體會和感悟,希望能幫助初識RT-Thread的人建立一個初步的印象,避免產(chǎn)生入寶山而空回的遺憾。
國產(chǎn)IoT OS在物聯(lián)網(wǎng)時代的發(fā)展機遇
中興事件,使得芯片產(chǎn)業(yè)第一次得到如此廣泛的關(guān)注,在正視差距、彌補差距的同時,我們也應該看到,除了硬件層面的芯片之外,整個電子信息產(chǎn)業(yè)還缺乏另一個鎮(zhèn)國重器...
2018-05-02 標簽:物聯(lián)網(wǎng)操作系統(tǒng)RTOS 1.6萬 0
Windows等操作系統(tǒng)與嵌入式系統(tǒng)中常用的RTOS的主要區(qū)別,在于對外部事件的響應時間。Windows等普通OS提供對事件的不確定性響應,即使試圖保持...
2020-04-29 標簽:控制系統(tǒng)嵌入式開發(fā)RTOS 1.6萬 0
RT-Thread已經(jīng)擁有一個國內(nèi)最大的嵌入式開源社區(qū)
2018-06-01 標簽:芯片物聯(lián)網(wǎng)RTOS 1.4萬 0
點擊上方名片關(guān)注我們單片機編程時,我們都知道有兩種基本操作:裸奔和操作系統(tǒng)。所謂裸奔,就是一個大循環(huán)往復執(zhí)行。今天要講的是幾個常用的操作系統(tǒng)。實時操作系...
FreeRTOS 內(nèi)核支持優(yōu)先級調(diào)度算法,每個任務(wù)可根據(jù)重要程度的不同被賦予一定的優(yōu)先級,下面說明了各類函數(shù)的具體應用,包括API函數(shù)從任務(wù)創(chuàng)建到聯(lián)合程...
什么是分時操作系統(tǒng),Linux屬于實時操作系統(tǒng)嗎?
我們平時分享的μC/OS、FreeRTOS、RT-Thread、ThreadX這些都是實時操作系統(tǒng)(RTOS),那么有讀者問:什么是分時操作系統(tǒng),Lin...
關(guān)于單片機與嵌入式、操作系統(tǒng)與 RTOS之間的關(guān)系詳解
這篇文章我們就來聊一下關(guān)于單片機與嵌入式、操作系統(tǒng)與 RTOS 之間的那些事!通過這篇文章,讓你操作系統(tǒng)的實時性有一個系統(tǒng)、全面的理解!
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |