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

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

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

嵌入式實(shí)時(shí)操作系統(tǒng)優(yōu)先級(jí)搶占式調(diào)度機(jī)制解析

麥克泰技術(shù) ? 來(lái)源:麥克泰技術(shù) ? 2024-04-05 05:22 ? 次閱讀

電電俠 想學(xué)習(xí)RTOS,奈何不知從何下手,唉 實(shí)時(shí)操作系統(tǒng)?我熟啊,且聽(tīng)我慢慢給你道來(lái)

科科君

實(shí)時(shí)操作系統(tǒng)(RTOS)廣泛應(yīng)用于消費(fèi)電子、娛樂(lè)產(chǎn)品、家用電器、工業(yè)設(shè)備、醫(yī)療儀器、軍事武器和科研設(shè)備中,在航空航天控制系統(tǒng)、汽車工業(yè)、銀行金融、機(jī)器人系統(tǒng)、安全和電信以及交通控制等安全攸關(guān)領(lǐng)域發(fā)揮著關(guān)鍵作用。

電電俠 應(yīng)用領(lǐng)域真廣啊,我還想知道學(xué)習(xí)RTOS的關(guān)鍵是什么 那必須是調(diào)度,調(diào)度調(diào)度驚起一番。。。

科科君

RTOS首先至少需支持優(yōu)先級(jí)搶占式調(diào)度,任務(wù)間同步與通信應(yīng)能避免優(yōu)先級(jí)反轉(zhuǎn), 并提供高精度定時(shí)器。RTOS往往運(yùn)行在資源受限的設(shè)備,調(diào)度資源確定性與調(diào)度時(shí)間確 定性是重要需求,進(jìn)而可以保證在事先確定的時(shí)間內(nèi)使用系統(tǒng)資源。

電電俠 有點(diǎn)明白了,科科大大快快繼續(xù)講 接下來(lái)我們將探討基于優(yōu)先級(jí)的搶占式調(diào)度

科科君

在我們的例子中,當(dāng)一個(gè)優(yōu)先級(jí)更高的任務(wù)進(jìn)入就緒狀態(tài)時(shí),當(dāng)前的任務(wù)會(huì)停止運(yùn)行。這意味著一個(gè)任務(wù)可以處在三個(gè)狀態(tài)之一:運(yùn)行中(執(zhí)行中)、就緒和掛起??梢杂萌缦?tīng)顟B(tài)轉(zhuǎn)換圖描述任務(wù)在搶占式調(diào)度中的行為。

b4458ea8-ed82-11ee-a297-92fbcf53809c.png

電電俠 那什么時(shí)候任務(wù)處于運(yùn)行狀態(tài)?什么時(shí)候處于就緒狀態(tài)? 只有在被RTOS調(diào)度時(shí)一個(gè)任務(wù)才能進(jìn)入運(yùn)行狀態(tài),在此之前它必須處在就緒狀態(tài),在基于優(yōu)先級(jí)的系統(tǒng)中它還必須處在就緒隊(duì)列的第一位。

科科君

任務(wù)掛起或者被搶占時(shí)會(huì)離開(kāi)運(yùn)行狀態(tài)。當(dāng)任務(wù)結(jié)束執(zhí)行,或者因?yàn)槟撤N原因無(wú)法繼續(xù)時(shí),任務(wù)會(huì)掛起,比如在本例中任務(wù)需要進(jìn)行特定時(shí)長(zhǎng)的延時(shí)。當(dāng)任務(wù)進(jìn)入掛起狀態(tài)時(shí)會(huì)釋放處理器的使用權(quán),從而允許其他任務(wù)運(yùn)行(見(jiàn)下圖)。釋放可以是任務(wù)自行觸發(fā)的,也可以是 RTOS強(qiáng)制的。一個(gè)運(yùn)行中的任務(wù)可以用兩種方式自行釋放處理器:其一,任務(wù)完成了必需的操作退出;其二,任務(wù)因?yàn)閮?nèi)部產(chǎn)生的信號(hào)(內(nèi)部事件)放棄對(duì)處理器的控制。

下圖列舉了強(qiáng)制釋放處理器的原因

科科君

b460865e-ed82-11ee-a297-92fbcf53809c.png

電電俠 有沒(méi)有任務(wù)狀態(tài)模型可供參考呢 下圖即為任務(wù)狀態(tài)的一般模型,詳細(xì)過(guò)程如下所述

科科君

b4839a36-ed82-11ee-a297-92fbcf53809c.png

當(dāng)搶占發(fā)生時(shí),任務(wù)即使沒(méi)有完成也會(huì)被迫放棄處理器,此時(shí)任務(wù)并沒(méi)有被掛起,而是會(huì)返回就緒隊(duì)列。任務(wù)在隊(duì)列中的位置是由優(yōu)先級(jí)決定的,它會(huì)在隊(duì)列中等待到下一次被調(diào)度。當(dāng)條件滿足時(shí)任務(wù)會(huì)從掛起狀態(tài)進(jìn)入就緒狀態(tài),比如完成一個(gè)事件、經(jīng)過(guò)特定的時(shí)間或者某種事件和時(shí)間的組合。不同的任務(wù)有不同的掛起狀態(tài)。

簡(jiǎn)單示例

如果需要,任務(wù)模型可以進(jìn)一步擴(kuò)充并顯示任務(wù)的創(chuàng)建和刪除。在基于優(yōu)先級(jí)的系統(tǒng)中,任務(wù)的就緒和再調(diào)度會(huì)變得很復(fù)雜,下圖是一個(gè)簡(jiǎn)單的例子,圖中展示了優(yōu)先級(jí)對(duì)任務(wù)在就緒和掛起隊(duì)列中位置的影響,以及當(dāng)任務(wù)就緒時(shí)就緒隊(duì)列是如何變化的。

b4973488-ed82-11ee-a297-92fbcf53809c.png

電電俠 學(xué)習(xí)到了,不過(guò)還有一個(gè)小問(wèn)題,可否解釋下“再調(diào)度(reschedule/rescheduling)”? 再調(diào)度是決定接下來(lái)要運(yùn)行的任務(wù)的過(guò)程,也可翻譯為重新調(diào)度。

審核編輯:黃飛

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

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229853
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19126

    瀏覽量

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

    關(guān)注

    37

    文章

    6825

    瀏覽量

    123333
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    813

    瀏覽量

    119643

原文標(biāo)題:嵌入式實(shí)時(shí)操作系統(tǒng)——基于優(yōu)先級(jí)的搶占式調(diào)度

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于優(yōu)先級(jí)調(diào)度嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核詳解(上)

    今日分享參加瑞薩RA MCU創(chuàng)意氛圍賽的選手項(xiàng)目——基于優(yōu)先級(jí)的RTOS內(nèi)核。本項(xiàng)目為基于優(yōu)先級(jí)調(diào)度嵌入式實(shí)時(shí)
    發(fā)表于 09-04 14:12 ?771次閱讀

    嵌入式實(shí)時(shí)操作系統(tǒng)uCos

    嵌入式實(shí)時(shí)操作系統(tǒng)uCos:嵌入式實(shí)時(shí)操作系統(tǒng)μCOS -II一、RTOS基礎(chǔ) 
    發(fā)表于 12-10 14:35

    嵌入式領(lǐng)域linux作為實(shí)時(shí)操作系統(tǒng)的缺點(diǎn)

    `linux以自由和開(kāi)發(fā)源碼贏得了許多工程師的青睞,現(xiàn)在許多嵌入式產(chǎn)品使用的是linux系統(tǒng),然而linux內(nèi)核作為實(shí)時(shí)操作系統(tǒng)有非常,明顯的幾個(gè)缺點(diǎn)1.任務(wù)
    發(fā)表于 01-06 13:31

    幾種嵌入式實(shí)時(shí)操作系統(tǒng)分析與比較

    實(shí)時(shí)操作系統(tǒng)采用基于優(yōu)先級(jí)搶占調(diào)度與時(shí)間片輪轉(zhuǎn)調(diào)度
    發(fā)表于 06-11 09:14

    嵌入式操作系統(tǒng)FreeRTOS 的原理與實(shí)現(xiàn)

    的使用權(quán)后才能獲得運(yùn)行,這樣可提高CPU的運(yùn)行效率。2、FreeRTOS操作系統(tǒng)的原理與實(shí)現(xiàn)2.1任務(wù)調(diào)度機(jī)制的實(shí)現(xiàn)任務(wù)調(diào)度機(jī)制嵌入式實(shí)時(shí)
    發(fā)表于 06-23 08:00

    實(shí)時(shí)操作系統(tǒng)概念

    對(duì)很多嵌入式系統(tǒng)來(lái)說(shuō),一個(gè)設(shè)計(jì)良好的實(shí)時(shí)操作系統(tǒng)可以讓開(kāi)發(fā)工程師把握系統(tǒng)執(zhí)行任何任務(wù)或響應(yīng)任何關(guān)鍵事件的時(shí)間,滿足
    發(fā)表于 07-19 06:18

    【案例分享】FreeRTOS的嵌入式實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)

    FreeRTOS是一個(gè)源碼公開(kāi)的免費(fèi)的嵌入式實(shí)時(shí)操作系統(tǒng),通過(guò)研究其內(nèi)核可以更好地理解嵌入式操作系統(tǒng)的實(shí)現(xiàn)原理.本文主要闡述FreeRTOS
    發(fā)表于 07-23 04:30

    嵌入式實(shí)時(shí)系統(tǒng)中的優(yōu)先級(jí)反轉(zhuǎn)是什么?

    的可搶占調(diào)度策略。系統(tǒng)為每一個(gè)任務(wù)分配一個(gè)優(yōu)先權(quán),調(diào)度程序保證當(dāng)前運(yùn)行的進(jìn)程是
    發(fā)表于 09-17 07:16

    嵌入式系統(tǒng)概論

    操作系統(tǒng):多道批處理系統(tǒng),分時(shí)操作系統(tǒng),實(shí)時(shí)操作系統(tǒng)。5.實(shí)時(shí)
    發(fā)表于 10-27 08:09

    VxWorks操作系統(tǒng)具有哪些優(yōu)點(diǎn)

    的控制采用優(yōu)先級(jí)搶占和輪轉(zhuǎn)調(diào)度機(jī)制,充分保證了可靠的實(shí)時(shí)性?!た煽啃愿撸瑥亩WC了用戶工作環(huán)境的穩(wěn)定?!ぜ?/div>
    發(fā)表于 12-22 08:12

    嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks內(nèi)核調(diào)度機(jī)制研究

    嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks內(nèi)核調(diào)度機(jī)制研究
    發(fā)表于 03-29 12:26 ?13次下載

    高可信賴實(shí)時(shí)操作系統(tǒng)的防危調(diào)度機(jī)制

    為增強(qiáng)實(shí)時(shí)操作系統(tǒng)的防危性,在分析現(xiàn)有調(diào)度機(jī)制的基礎(chǔ)上,探討了最大關(guān)鍵度優(yōu)先調(diào)度算法,該算法是一種混合型的
    發(fā)表于 05-16 11:52 ?10次下載

    嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks內(nèi)核調(diào)度機(jī)制分析

    本文簡(jiǎn)要介紹了多任務(wù)內(nèi)核,重點(diǎn)分析了嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks的內(nèi)核調(diào)度機(jī)制——優(yōu)先級(jí)搶占
    發(fā)表于 12-11 16:15 ?14次下載

    基于FreeRTOS的嵌入式實(shí)時(shí)操作系統(tǒng)的原理和實(shí)現(xiàn)

    FreeRTOS是一個(gè)源碼公開(kāi)的免費(fèi)的嵌入式實(shí)時(shí)操作系統(tǒng),通過(guò)研究其內(nèi)核可以更好地理解嵌入式操作系統(tǒng)的實(shí)現(xiàn)原理.本文主要闡述FreeRTOS
    發(fā)表于 11-18 03:34 ?6684次閱讀

    基于優(yōu)先級(jí)調(diào)度嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核詳解(下)

    基于優(yōu)先級(jí)調(diào)度嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核詳解(下)
    的頭像 發(fā)表于 09-06 12:46 ?893次閱讀
    基于<b class='flag-5'>優(yōu)先級(jí)</b><b class='flag-5'>調(diào)度</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>內(nèi)核詳解(下)