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

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

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

來了解一下RTOS應(yīng)用中的調(diào)度策略

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-02-24 11:51 ? 次閱讀

從前后臺架構(gòu)的軟件開發(fā)過渡到使用實時操作系統(tǒng)(RTOS)可能是一項困難的工作。但使用RTOS有許多優(yōu)勢,例如簡化應(yīng)用集成,支持任務(wù)搶占調(diào)度,當(dāng)開發(fā)人員使用復(fù)雜的32位微控制器,且可以獲取足夠的Flash和RAM空間時,使用RTOS開始變得有意義。許多32位應(yīng)用程序需要使用USB、TCP/IP和文件系統(tǒng),這對于裸機應(yīng)用程序的開發(fā)是非常困難的,且大多數(shù)第三方中間件被設(shè)計為與RTOS無縫集成。

在使用RTOS之前,用戶可能需要深入研究RTOS的細節(jié),我們來了解一下RTOS中常用的調(diào)度技術(shù)。

1時間片輪詢調(diào)度

前后臺系統(tǒng)實現(xiàn)通?;谳喸冋{(diào)度技術(shù),它是一種很自然的軟件編寫方式,只需向超級循環(huán)中添加新代碼,相當(dāng)于增加了一個新的任務(wù)。

RTOS中的輪詢調(diào)度策略,是允許多個任務(wù)可以分配同一個優(yōu)先級別。調(diào)度程序基于時鐘監(jiān)控任務(wù)時間,任務(wù)處于相關(guān)優(yōu)先級,按照先進先出的原則執(zhí)行分配到的時間片,時間到了,即使當(dāng)前任務(wù)還沒有完成,任務(wù)也將CPU時間傳遞給下一個任務(wù)。在下一個分配到的時間段內(nèi),該任務(wù)將從它停止的位置繼續(xù)執(zhí)行。

35bf6066-b3f6-11ed-bfe3-dac502259ad0.png

常用的RTOS,如μC/OS-III(Cs/OS3)、FreeRTOS都支持時間片輪詢算法。FreeRTOS中每個任務(wù)的時間片長度是固定的,為一個時間節(jié)拍;而μC/OS-III中每個任務(wù)的時間片長度可變,可在任務(wù)創(chuàng)建時指定。

2基于優(yōu)先級的協(xié)同調(diào)度

在RTOS中,協(xié)同調(diào)度是基于優(yōu)先級的非搶占調(diào)度方法。任務(wù)按優(yōu)先級排序,并且是事件驅(qū)動類型的,一旦正在運行的任務(wù)完成,或者任務(wù)主動調(diào)用OS服務(wù)放棄CPU,就緒運行的優(yōu)先級最高的任務(wù)才可以獲得CPU使用權(quán)。

35db3750-b3f6-11ed-bfe3-dac502259ad0.png

3搶占式調(diào)度

RTOS通過可搶占調(diào)度保證實時性。為了保證任務(wù)響應(yīng),在搶占調(diào)度策略中,只要一個優(yōu)先級更高的任務(wù)就緒,正在運行的任務(wù)低優(yōu)先級任務(wù)將被切換出來。通過搶占,正在運行的任務(wù)被迫放棄處理器,即使任務(wù)工作還沒有完成。

35ede3fa-b3f6-11ed-bfe3-dac502259ad0.png

RTOS通??梢耘渲脼槭褂迷S多確定性調(diào)度算法,以保證滿足任務(wù)截止時限。如FreeRTOS、μC/OS-III支持搶占和時間片輪詢兩種調(diào)度方法。

4總結(jié)

RTOS對于嵌入式軟件開發(fā)人員來說是一個強大的工具。RTOS應(yīng)用中,每個任務(wù)都有單獨的任務(wù)控制塊,其中包含堆棧、優(yōu)先級和ID等參數(shù)。每個任務(wù)都可以被看作是單獨的應(yīng)用程序。RTOS還提供了各種各樣的同步和通信工具,如信號量、互斥信號量和消息隊列,簡化應(yīng)用的開發(fā)。

但任務(wù)切換將消耗CPU時間,即使在32位處理器上,RTOS也會造成時間損失。任務(wù)切換比中斷占用更多的時間。如果是一個很小的應(yīng)用程序,但需要充分利用處理器資源,在這種情況下,需仔細考慮RTOS的可行性。

每種調(diào)度算法都有其優(yōu)缺點,了解RTOS常用的調(diào)度算法,可以幫助我們做出合適的選擇。

審核編輯:湯梓紅

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

    關(guān)注

    37

    文章

    6688

    瀏覽量

    123141
  • RTOS
    +關(guān)注

    關(guān)注

    21

    文章

    809

    瀏覽量

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

    關(guān)注

    1

    文章

    196

    瀏覽量

    30731
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3237

    瀏覽量

    57547
  • 調(diào)度
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    10751

原文標題:來了解一下RTOS應(yīng)用中的調(diào)度策略

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問CMSIS-RTOS RTX的任務(wù)調(diào)度鎖在哪里?

    請問一下,CMSIS-RTOS RTX的任務(wù)調(diào)度鎖在哪里?謝謝!
    發(fā)表于 05-13 08:28

    選擇實時操作系統(tǒng)(RTOS)前你需要了解的幾個要點

    響應(yīng)速度。對開發(fā)人員來說,竅門在于把系統(tǒng)需求與硬件和軟件匹配起來,然后才是RTOS在嵌入式應(yīng)用的重要性。RTOS可以實現(xiàn)一系列調(diào)度
    發(fā)表于 06-29 08:00

    了解一下stm32的外部中斷

    ,然后又繼續(xù)寫作業(yè)。停止正在處理的事情轉(zhuǎn)而處理另件事,在處理完另件事后又回來處理原來的事情,這在單片機中就是中斷的概念。在各類單片機中都有這幾類中斷:串口中斷定時器中斷外部中斷今天就來了解
    發(fā)表于 08-16 07:22

    如何使用Tracealyzer理解多任務(wù)調(diào)度

    調(diào)試器視圖的補充。我們今天來了解一下如何通過Tracealyzer記錄的數(shù)據(jù)獲取任務(wù)優(yōu)先級及執(zhí)行時間相關(guān)的信息。優(yōu)先級決定何時調(diào)度大多數(shù)RTOS使用固定優(yōu)先級
    發(fā)表于 12-17 16:01

    RTOS核的作用是什么

    [導(dǎo)讀] 大家好,我是逸珺。前面文利用FreeRTOS點燈,算是將FreeRTOS給跑起來了,要用好RTOS,從黑盒角度去理解一下調(diào)度器是怎么工作的是很必要的,當(dāng)然如果想研究其內(nèi)部實
    發(fā)表于 01-13 06:54

    CPU頻率調(diào)度策略有哪些?

    CPU頻率調(diào)度策略有哪些?
    發(fā)表于 03-10 06:54

    十分鐘了解RTOS

    越好。4、調(diào)度調(diào)度是內(nèi)核的主要職責(zé),負責(zé)確認運行哪個任務(wù)以及何時運行。大多數(shù)實時內(nèi)核采用優(yōu)先級策略,每個任務(wù)根據(jù)其重要性分配個優(yōu)先級。任務(wù)的優(yōu)先級由應(yīng)用指定。在基于優(yōu)先級
    發(fā)表于 09-07 13:17

    了解一下RTOS消息隊列的應(yīng)用

    基于RTOS的應(yīng)用,通常使用隊列機制實現(xiàn)任務(wù)間的數(shù)據(jù)交互,個應(yīng)用程序可以有任意數(shù)量的消息隊列,每個消息隊列都有自己的用途。 什么是消息隊列? 消息隊列是個內(nèi)核對象(即數(shù)據(jù)結(jié)構(gòu))
    發(fā)表于 06-12 14:17

    宏碁智能佛珠了解一下

    朋友,最近工作順利嗎?家庭幸福嗎?生活美滿嗎?看你心情復(fù)雜,要不要了解一下宏碁剛發(fā)布的智能佛珠?
    的頭像 發(fā)表于 08-08 16:27 ?3521次閱讀

    RTOS應(yīng)用調(diào)度策略

    RTOS,協(xié)同調(diào)度是基于優(yōu)先級的非搶占調(diào)度方法。任務(wù)按優(yōu)先級排序,并且是事件驅(qū)動類型的,旦正在運行的任務(wù)完成,或者任務(wù)主動調(diào)用OS服務(wù)
    的頭像 發(fā)表于 05-29 09:19 ?633次閱讀
    <b class='flag-5'>RTOS</b>應(yīng)用<b class='flag-5'>中</b>的<b class='flag-5'>調(diào)度</b><b class='flag-5'>策略</b>

    了解一下光纖傳輸?shù)奶攸c

    光纖作為綜合布線種常見的傳輸媒介,很多人搞不清楚光纖和光纜這兩者,光纖是光傳導(dǎo)工具,傳輸原理是“光的全反射”,被用作長距離的信息傳遞,下面跟著科蘭小編一起來了解一下光纖傳輸?shù)奶攸c。
    的頭像 發(fā)表于 06-08 13:42 ?780次閱讀

    RTOS核心:調(diào)度和分割

    對許多嵌入式項目來說,系統(tǒng)設(shè)計師都傾向于選擇實時操作系統(tǒng)(RTOS)。但RTOS總是必要的嗎?答案是取決于具體的應(yīng)用,因此了解我們要達到什么目標是決定RTOS是必要的還是花瓶的關(guān)鍵。
    的頭像 發(fā)表于 06-22 10:46 ?711次閱讀

    虹科帶你來了解一下汽車以太網(wǎng)和TSN的測試標準

    虹科帶你來了解一下汽車以太網(wǎng)和TSN的測試標準
    的頭像 發(fā)表于 12-22 17:46 ?3310次閱讀
    虹科帶你<b class='flag-5'>來了解</b><b class='flag-5'>一下</b>汽車以太網(wǎng)和TSN的測試標準

    了解一下“薄膜厚度監(jiān)控”

    光學(xué)鍍膜干貨來了了解一下“薄膜厚度監(jiān)控”
    的頭像 發(fā)表于 07-20 10:11 ?815次閱讀
    <b class='flag-5'>了解</b><b class='flag-5'>一下</b>“薄膜厚度監(jiān)控”

    無需電流采樣電阻的智能電機驅(qū)動IC,不來了解一下么?

    無需電流采樣電阻的智能電機驅(qū)動IC,不來了解一下么?
    的頭像 發(fā)表于 11-30 17:43 ?425次閱讀
    無需電流采樣電阻的智能電機驅(qū)動IC,不<b class='flag-5'>來了解</b><b class='flag-5'>一下</b>么?