日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

程序小白
認證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
關(guān)于軟件的作用域和生命周期的一些理解
淺析RTOS中的鉤子函數(shù)(HOOK)
RTOS的時間片調(diào)度不同處——FreeRTOS與RTT
FreeRTOS中任務(wù)間的同步——事件組與全局變量
FreeRTOS的優(yōu)先級翻轉(zhuǎn)與繼承
作者動態(tài) 更多
基于stm32采用PWM驅(qū)動伺服控制器學(xué)習(xí)筆記
05-13 15:25
基于STM32驅(qū)動TM1638學(xué)習(xí)筆記——軟件篇
04-19 12:42
基于TM1638驅(qū)動8位數(shù)碼管設(shè)計分享
02-24 11:26
RT-Thread驅(qū)動之路: Studio創(chuàng)建FAL分區(qū)⑤
01-02 08:30
RT-Thread驅(qū)動之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

RTOS的時間片調(diào)度不同處——FreeRTOS與RTT


      學(xué)的太多反而是一種煩惱,大多的RTOS其任務(wù)調(diào)度及管理其實都差不了太多,都是換湯不換藥,但是細節(jié)上確實有不少的差異性。


      例如Free和RTT的任務(wù)調(diào)度都支持時間片調(diào)度模式,先來科普下神馬叫時間片調(diào)度模式,很簡單,每個任務(wù)都有一個執(zhí)行時間的最大限度,也就是當(dāng)一個正在運行的任務(wù),在占用CPU資源運行時,如果其并沒有遇到高優(yōu)先級的任務(wù)搶占,也沒有自身進行阻塞或者掛起操作,那么他也不會一直運行下去,而是有個時間的限制,當(dāng)時間到了以后,他會自動切換到其他同優(yōu)先級的就緒的任務(wù)開始執(zhí)行,

      假如不切那么這個調(diào)度器的模式就是合作式調(diào)度,他會一直執(zhí)行這個運行態(tài)的任務(wù),同優(yōu)先級其他就緒的任務(wù)無法得到執(zhí)行。


時間片調(diào)度和合作式調(diào)度只能二選一

合作式基本已被遺忘在布滿灰塵的角落,官方針對其也不在做任何升級。


      FreeRTOS系統(tǒng)的默認狀態(tài)下就是開啟了時間片調(diào)度模式,也可以通過FreeRTOSConfig.h手動的開啟時間片調(diào)度模式。

      那么問題來了,開啟了時間片調(diào)度模式,那么運行任務(wù)運行的最大的時間片是多少呢?看某教程上是這么講的。

      但是翻遍了整個config文件,都沒有找到相關(guān)的參數(shù),于是度娘請教,得到的答復(fù)是這樣的,其實FreeRTOS并不支持設(shè)定時間片的設(shè)定,他的系統(tǒng)調(diào)度的tick就是他的最大時間片,也就是我們設(shè)定的1000HZ的系統(tǒng)滴答。

      在這里,好像記得RTT是可以創(chuàng)建任務(wù)的時間片長度的,那么每個任務(wù)的運行時間片長度是可以做到不同,

      對比一下FreeRTOS的任務(wù)創(chuàng)建函數(shù),在這里和config中都沒有tick的指定,那么他應(yīng)該是沒有這個參數(shù)的設(shè)置。

那么FreeRTOS的時間片應(yīng)該是固定的,被封印在了tick上。


接下來聊聊,固定的時間片和可設(shè)定的時間片到底有什么差異呢?


      時間片長度是讓一個任務(wù)獨霸CPU執(zhí)行的時間,在沒有高優(yōu)先任務(wù)搶占的情況,同優(yōu)先級的任務(wù)要等到這個時間片執(zhí)行完,然后切換其它同優(yōu)先級就緒任務(wù)。

      時間片長度可調(diào)影響的只是任務(wù)切換的次數(shù),站在應(yīng)用的角度上來講,切換的速度對于應(yīng)用并沒有任何的影響。

      同優(yōu)先級皆為就緒的任務(wù)原本的目的就是要讓他們執(zhí)行的時候看起來像是并行的,在不考慮任務(wù)切換頻率帶來的損耗時間的情況下,快與慢其實并不會對應(yīng)用產(chǎn)生任何影響。

      多一個參數(shù),你還要思考這個任務(wù)的tick設(shè)置到多少合適,當(dāng)然聊勝于無。

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 2
關(guān)注 155
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧