99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

FreeRTOS任務(wù)調(diào)度器的三種調(diào)度算法講解(上)

瑞薩MCU小百科 ? 來(lái)源:瑞薩嵌入式小百科 ? 2024-03-21 13:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

瑞薩RZ/T2L MPU

RZ/T2L是一款高性能MPU,可通過(guò)EtherCAT實(shí)現(xiàn)高速、高精度的實(shí)時(shí)控制。RZ/T2L搭載最大頻率為800MHz的Arm Cortex-R52內(nèi)核以及與CPU緊密耦合的大容量?jī)?nèi)存(576KB),可以降低使用高速緩存存儲(chǔ)器時(shí)出現(xiàn)的執(zhí)行時(shí)間波動(dòng),并提供確定性與高速響應(yīng)處理。

RZ/T2L在CPU內(nèi)核、外設(shè)功能和LLPP(低延時(shí)外設(shè)端口)總線(xiàn)等方面具備與RZ/T2M無(wú)縫連接的硬件架構(gòu),可用于AC servo等更高性能的控制系統(tǒng)。此外,RZ/T2L提供了與瑞薩MPU和MCU可兼容、可擴(kuò)展的軟件平臺(tái)。它使客戶(hù)可以利用自己的軟件資產(chǎn)進(jìn)行新機(jī)型的開(kāi)發(fā)。

4a88dcba-e740-11ee-a297-92fbcf53809c.png

RZ/T2L產(chǎn)品框圖

1.任務(wù)狀態(tài)和事件的概述

實(shí)際正在運(yùn)行(使用處理時(shí)間)的任務(wù)處于運(yùn)行態(tài)。在單個(gè)核心處理器上,在任何時(shí)候都只能有一個(gè)任務(wù)處于運(yùn)行態(tài)。

沒(méi)有實(shí)際運(yùn)行,但既不處于阻塞態(tài)不處于掛起態(tài)的任務(wù)就是處于就緒態(tài)。

處于就緒態(tài)的任務(wù)可被調(diào)度器選擇,然后進(jìn)入運(yùn)行態(tài)。調(diào)度程序會(huì)始終選擇最高優(yōu)先級(jí)的就緒態(tài)任務(wù)進(jìn)入運(yùn)行態(tài)。

任務(wù)可以在阻塞態(tài)下等待事件,并在事件發(fā)生時(shí)自動(dòng)移回就緒態(tài)。

時(shí)間事件發(fā)生在特定的時(shí)間,例如當(dāng)阻塞時(shí)間過(guò)期時(shí),通常用于實(shí)現(xiàn)周期性或超時(shí)行為。當(dāng)任務(wù)或中斷服務(wù)例程使用任務(wù)通知、隊(duì)列、事件組或多種類(lèi)型的信號(hào)量之一發(fā)送信息時(shí),就會(huì)發(fā)生同步事件。它們通常用于需要同步的情況,例如數(shù)據(jù)同步。

2.配置調(diào)度算法

調(diào)度算法決定了調(diào)度器將哪個(gè)就緒態(tài)任務(wù)轉(zhuǎn)換到運(yùn)行態(tài)。

可以使用configUSE_PREEMPTION和configUSE_TIME_SLICING配置常量來(lái)更改算法。這兩個(gè)常量都在FreeRTOSConfig.h中定義。

還有個(gè)配置常數(shù)configUSE_TICKLESS_IDLE也會(huì)影響調(diào)度算法,因?yàn)槭褂盟鼤?huì)導(dǎo)致tick中斷在很長(zhǎng)一段時(shí)間內(nèi)被完全關(guān)閉。configUSE_TICKLESS_IDLE是一個(gè)高級(jí)選項(xiàng),專(zhuān)門(mén)用于必須最小化功耗的應(yīng)用程序。configUSE_TICKLESS_IDLE在之后解說(shuō)。

對(duì)于相同優(yōu)先級(jí)的任務(wù),F(xiàn)reeRTOS調(diào)度器依次選中相同優(yōu)先級(jí)的任務(wù)進(jìn)入運(yùn)行態(tài)。這種輪流策略被稱(chēng)為‘Round Robin Scheduling’

‘Round Robin Scheduling’算法并不能保證同等優(yōu)先級(jí)的任務(wù)之間運(yùn)行相同的時(shí)間,只能保證同等優(yōu)先級(jí)的“就緒”任務(wù)會(huì)依次進(jìn)入“運(yùn)行”態(tài)。

2.1

基于時(shí)間片的搶占式調(diào)度

如果按照如下配置:

configUSE_PREEMPTION 1

configUSE_TIME_SLICING 1

FreeRTOS調(diào)度器使用一種稱(chēng)為“基于時(shí)間片的固定優(yōu)先級(jí)搶占式調(diào)度”的調(diào)度算法,這是大多數(shù)小型RTOS應(yīng)用程序使用的調(diào)度算法。

固定優(yōu)先級(jí)

被描述為“固定優(yōu)先級(jí)”的調(diào)度算法不會(huì)改變分配給被調(diào)度任務(wù)的優(yōu)先級(jí),但也不會(huì)阻止任務(wù)本身改變自己的優(yōu)先級(jí)或其他任務(wù)的優(yōu)先級(jí)。

搶占式調(diào)度

在優(yōu)先級(jí)高于運(yùn)行態(tài)任務(wù)的任務(wù)進(jìn)入就緒態(tài)時(shí),調(diào)度器立即讓這個(gè)高優(yōu)先級(jí)的任務(wù)“搶占”運(yùn)行態(tài)任務(wù)。被搶占意味著任務(wù)移出運(yùn)行態(tài)并進(jìn)入就緒態(tài),并不是因?yàn)槿蝿?wù)自己主動(dòng)讓出或者阻塞。

時(shí)間片

時(shí)間片用于在具有相同優(yōu)先級(jí)的任務(wù)之間共享處理時(shí)間,即使任務(wù)沒(méi)有顯式地讓步或進(jìn)入阻塞狀態(tài)。使用“時(shí)間片”的調(diào)度算法將在每個(gè)時(shí)間片結(jié)束時(shí)選擇一個(gè)新任務(wù)進(jìn)入運(yùn)行狀態(tài),如果有其他與運(yùn)行任務(wù)具有相同優(yōu)先級(jí)的就緒狀態(tài)任務(wù)。一個(gè)時(shí)間片等于兩個(gè)RTOS tick中斷之間的時(shí)間。

4aa564de-e740-11ee-a297-92fbcf53809c.png

上圖演示了使用“基于時(shí)間片的固定優(yōu)先級(jí)搶占式調(diào)度”算法搶占調(diào)度任務(wù)的調(diào)度過(guò)程。

task1是最高優(yōu)先級(jí)的事件驅(qū)動(dòng)任務(wù),task2是中等優(yōu)先級(jí)的周期性任務(wù),task3是最低優(yōu)先級(jí)的事件驅(qū)動(dòng)任務(wù),Idle task是空閑任務(wù)。

task1周期性運(yùn)行,阻塞時(shí),空閑任務(wù)就會(huì)運(yùn)行,task3的事件到達(dá)就會(huì)搶占空閑任務(wù),task3運(yùn)行期間,如果task2的周期到了,因?yàn)閠ask2優(yōu)先級(jí)高就會(huì)搶占task3,task2運(yùn)行完了再接著運(yùn)行task2,task2運(yùn)行期間,由于task1優(yōu)先級(jí)高,一旦task1等待的事件到了就會(huì)搶占task2。

有相同優(yōu)先級(jí)任務(wù)的情況:

4ab7b210-e740-11ee-a297-92fbcf53809c.png

task1是優(yōu)先級(jí)最高的事件驅(qū)動(dòng)任務(wù),task2是和Idle task優(yōu)先級(jí)相同的持續(xù)處理型任務(wù)。

task2和空閑任務(wù)就會(huì)輪流運(yùn)行,而task1則可以搶占task2和空閑任務(wù)。

假如空閑任務(wù)里其實(shí)沒(méi)做什么事情,我們想讓和空閑任務(wù)相同優(yōu)先級(jí)的Task2有更多的運(yùn)行時(shí)間就可以配置configIDLE_SHOULD_YIELD。

如果configIDLE_SHOULD_YIELD設(shè)置為0,那么空閑任務(wù)將在整個(gè)時(shí)間片中保持運(yùn)行狀態(tài),除非它被更高優(yōu)先級(jí)的任務(wù)搶占。

如果configIDLE_SHOULD_YIELD設(shè)置為1,如果有其他空閑優(yōu)先級(jí)任務(wù)處于就緒狀態(tài),那么空閑任務(wù)將主動(dòng)讓出運(yùn)行時(shí)間。

4ac6582e-e740-11ee-a297-92fbcf53809c.png



審核編輯:劉清

聲明:本文內(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)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7653

    瀏覽量

    167465
  • ARM處理器
    +關(guān)注

    關(guān)注

    6

    文章

    361

    瀏覽量

    42632
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    493

    瀏覽量

    64385
  • ethercat
    +關(guān)注

    關(guān)注

    19

    文章

    1124

    瀏覽量

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

    關(guān)注

    0

    文章

    98

    瀏覽量

    5505
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FreeRTOS任務(wù)調(diào)度三種調(diào)度算法講解(下)

    配置如下時(shí),調(diào)度算法就會(huì)變成不帶時(shí)間片的搶占式調(diào)度
    的頭像 發(fā)表于 03-21 13:46 ?4252次閱讀
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>器</b>的<b class='flag-5'>三種</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>算法</b><b class='flag-5'>講解</b>(下)

    淺析FreeRTOS任務(wù)調(diào)度三種調(diào)度算法和應(yīng)用

    FreeRTOS在MCU領(lǐng)域應(yīng)用非常廣泛,今天就給大家講解一下FreeRTOS調(diào)度中的三種
    的頭像 發(fā)表于 05-10 14:02 ?9028次閱讀
    淺析<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>器</b>的<b class='flag-5'>三種</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>算法</b>和應(yīng)用

    改進(jìn)的SEDF調(diào)度算法

    引入一比較機(jī)制來(lái)執(zhí)行多處理間的負(fù)載平衡.當(dāng)VCPU調(diào)度時(shí),將就緒VCPU遷移到總運(yùn)行時(shí)間最少的處理.仿真實(shí)驗(yàn)結(jié)果表明:IEDF
    發(fā)表于 04-24 10:03

    轉(zhuǎn):第14章 任務(wù)調(diào)度—搶占式,時(shí)間片和合作式

    調(diào)度方式FreeRTOS操作系統(tǒng)支持三種調(diào)度方式:搶占式調(diào)度,時(shí)間片調(diào)度和合作式
    發(fā)表于 08-30 09:55

    轉(zhuǎn)第16章 FreeRTOS調(diào)度鎖,任務(wù)鎖和中斷鎖

    任務(wù)鎖函數(shù),但是使用FreeRTOS現(xiàn)有的功能有兩實(shí)現(xiàn)方法:(1)通過(guò)給調(diào)度加鎖實(shí)現(xiàn)利用FreeR
    發(fā)表于 09-01 07:45

    FreeRTOS如何使用delay作為系統(tǒng)延時(shí)、任務(wù)調(diào)度

    請(qǐng)教一個(gè)問(wèn)題,最近在學(xué)習(xí)使用FreeRTOS,想像原子一樣在delay.c里添加RTOS的系統(tǒng)支持,即使用tick時(shí)鐘作延時(shí)?,F(xiàn)在有幾個(gè)問(wèn)題:1、在啟動(dòng)任務(wù)調(diào)度前,如果調(diào)用了dela
    發(fā)表于 06-10 04:37

    調(diào)度的原理及其任務(wù)調(diào)度代碼實(shí)現(xiàn)

    一、介紹調(diào)度是常用的一編程框架,也是操作系統(tǒng)的拆分多任務(wù)的核心,比如單片機(jī)的裸機(jī)程序框架,網(wǎng)絡(luò)協(xié)議棧的框架如can網(wǎng)關(guān)、485網(wǎng)關(guān)等等,使用場(chǎng)合比較多,是做穩(wěn)定產(chǎn)品比較常用的編程技
    發(fā)表于 02-17 07:07

    基于實(shí)數(shù)編碼免疫算法的分布式任務(wù)調(diào)度

    任務(wù)調(diào)度問(wèn)題是一個(gè)NP難題,其算法是一個(gè)重要研究方向。該文通過(guò)對(duì)任務(wù)調(diào)度模型及已有免疫算法進(jìn)行研
    發(fā)表于 04-08 09:00 ?15次下載

    網(wǎng)格任務(wù)調(diào)度算法研究

    網(wǎng)格任務(wù)調(diào)度算法是影響網(wǎng)格成功與否的關(guān)鍵技術(shù)之一。本文總結(jié)了網(wǎng)格計(jì)算系統(tǒng)的體系結(jié)構(gòu)和特征,分析了網(wǎng)格任務(wù)調(diào)度
    發(fā)表于 08-14 10:27 ?10次下載

    任務(wù)閾值調(diào)度算法

    針對(duì)當(dāng)前云任務(wù)調(diào)度算法在密碼云環(huán)境中無(wú)法實(shí)現(xiàn)任務(wù)實(shí)時(shí)處理的問(wèn)題,提出一基于滾動(dòng)優(yōu)化窗口的實(shí)時(shí)閾值調(diào)度
    發(fā)表于 11-24 17:08 ?5次下載
    云<b class='flag-5'>任務(wù)</b>閾值<b class='flag-5'>調(diào)度</b><b class='flag-5'>算法</b>

    基于云計(jì)算遺傳算法的多任務(wù)調(diào)度算法

    任務(wù)調(diào)度是云計(jì)算中的一個(gè)關(guān)鍵問(wèn)題,遺傳算法是一能較好解決優(yōu)化問(wèn)題的算法。本論文針對(duì)遺傳算法
    發(fā)表于 12-07 15:16 ?0次下載

    基于改進(jìn)GEP的局部云任務(wù)調(diào)度算法

    針對(duì)云計(jì)算中一些現(xiàn)有的基于批量調(diào)度模式和進(jìn)化算法的動(dòng)態(tài)云任務(wù)調(diào)度算法計(jì)算量較大,計(jì)算時(shí)間成本較高的現(xiàn)象,提出了一
    發(fā)表于 01-18 13:50 ?0次下載
    基于改進(jìn)GEP的局部云<b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>算法</b>

    異構(gòu)多核處理任務(wù)調(diào)度算法

    任務(wù)調(diào)度響應(yīng)實(shí)時(shí)性方面表現(xiàn)優(yōu)異,但卻不適用于異構(gòu)多核處理環(huán)境。為此,提出一高實(shí)時(shí)性任務(wù)調(diào)度
    發(fā)表于 02-07 11:07 ?2次下載

    FreeRTOS時(shí)間片進(jìn)行任務(wù)調(diào)度?

    CPU的使用權(quán),讓擁有同優(yōu)先級(jí)的下一個(gè)任務(wù)運(yùn)行, 至于下一個(gè)要運(yùn)行哪個(gè)任務(wù)? 由時(shí)間片來(lái)調(diào)度,時(shí)間片調(diào)度發(fā)生在滴答定時(shí)的中斷服務(wù)函數(shù)中 。
    發(fā)表于 12-23 20:02 ?0次下載
    <b class='flag-5'>FreeRTOS</b>時(shí)間片進(jìn)行<b class='flag-5'>任務(wù)</b><b class='flag-5'>調(diào)度</b>?

    FreeRTOS調(diào)度中的三種調(diào)度算法實(shí)踐(

    在優(yōu)先級(jí)高于運(yùn)行態(tài)任務(wù)任務(wù)進(jìn)入就緒態(tài)時(shí),調(diào)度立即讓這個(gè)高優(yōu)先級(jí)的任務(wù)“搶占”運(yùn)行態(tài)任務(wù)。被搶
    發(fā)表于 03-21 13:45 ?790次閱讀
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>器</b>中的<b class='flag-5'>三種</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>算法</b>實(shí)踐(<b class='flag-5'>上</b>)