在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

RTOS為什么用PendSV進(jìn)行線程調(diào)度?

CHANBAEK ? 來源:硬件工程師干貨 ? 作者:硬件工程師干貨 ? 2023-03-01 10:47 ? 次閱讀

有些操作系統(tǒng)在“心跳”中斷(SysTick中斷)里進(jìn)行線程切換,如果處理器正在執(zhí)行一個ISR,此時SysTick異常到來,且SysTick優(yōu)先級高,搶占了正在運(yùn)行的用戶ISR,SysTick ISR是不能進(jìn)行線程切換的,因為SysTick ISR運(yùn)行完后要返回上一層用戶ISR,此時仍然處于異常模式,不能進(jìn)入線程模式,強(qiáng)行進(jìn)入線程模式會導(dǎo)致Fault異常。如下圖,延時到了第二個SysTick ISR才線程切換,實時性降低。在這種情況下,SysTick ISR中切換任務(wù),這會導(dǎo)致任務(wù)切換延后。

pYYBAGP-vBmABjqgAACZDOEhLTs867.png

極端的情況下,SysTick中斷和用戶中斷步調(diào)一致,會導(dǎo)致任務(wù)切換嚴(yán)重滯后。如下圖所示:

pYYBAGP-vC-ARgIWAACHJ2Iqn98501.png

有朋友說了,既然SysTick中斷搶占了用戶中斷不能調(diào)度線程,那么在用戶ISR即將退出時進(jìn)行調(diào)度就好了呀,確實比上面的情況要好一些,但這就需要在所有中斷的末尾都要檢查是否需要切換,增加用戶中斷程序復(fù)雜度。

也有朋友說了,把SysTick中斷優(yōu)先級調(diào)到最低是不是也可以呢,當(dāng)然可以,調(diào)低了優(yōu)先級,避免了嵌套,就算用戶中斷期間產(chǎn)生SysTick中斷,但是SysTick中斷不能運(yùn)行,用戶中斷結(jié)束后,SysTick中斷“咬尾”,這樣是沒問題的,可是有一點SysTick的優(yōu)先級就無法提高了。

鑒于上述原因,我們想到了PendSV異常,這個異常比較特殊,可以理解為一個軟中斷(軟異常),代碼中操作寄存器就可以觸發(fā)此中斷,我們把它的優(yōu)先級調(diào)整到最低,當(dāng)SysTick ISR搶占了用戶中斷后,發(fā)現(xiàn)需要任務(wù)調(diào)度,就設(shè)置寄存器觸發(fā)PendSV異常,因為它優(yōu)先級最低,不能響應(yīng),等到用戶中斷執(zhí)行完立即自動響應(yīng),進(jìn)行任務(wù)切換,如下圖所示。

poYBAGP-vECAXPiBAAC198jzyNM802.png

一般情況下:

1、PendSV中斷優(yōu)先級設(shè)置為最低,用于線程調(diào)度。

2、SysTick中斷優(yōu)先級根據(jù)自己需求設(shè)置,如果想讓心跳更準(zhǔn)確就調(diào)高一些,如果想讓用戶中斷相應(yīng)更迅速就調(diào)低一些。

3、可以和PendSV一樣都設(shè)置為最低。

聲明:本文內(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

    文章

    7101

    瀏覽量

    125019
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    904

    瀏覽量

    42541
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    844

    瀏覽量

    120808
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    507

    瀏覽量

    20090
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    13499
收藏 人收藏

    評論

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

    RTOS中的線程、進(jìn)程和協(xié)程詳解

    看到有小伙伴在討論【RTOS任務(wù)屬于線程還是進(jìn)程】的話題,這里就來分析一下OS中的線程、進(jìn)程和協(xié)程的這幾個概念,同時一起看看RTOS中的任務(wù)到底屬于哪一種。
    的頭像 發(fā)表于 11-09 12:36 ?2430次閱讀
    <b class='flag-5'>RTOS</b>中的<b class='flag-5'>線程</b>、進(jìn)程和協(xié)程詳解

    RTOS如何在FX3中工作?

    大家好, 我正在使用 FX3 進(jìn)行一個項目。 我想知道 RTOS 調(diào)度是如何工作的。 我知道調(diào)用“CyU3PKernelEntry();”后 RTOS 就會開始工作。 如果我只注冊
    發(fā)表于 05-06 13:20

    rtthread線程調(diào)度

    rtthread線程調(diào)度,RT-Thread多線程學(xué)習(xí)總結(jié)多線程是實時操作系統(tǒng)里面最重要的知識點之一,要學(xué)習(xí)RTOS,多
    發(fā)表于 07-20 07:21

    如何合理的進(jìn)行線程切換與調(diào)度

    線程并發(fā)情況下,如何合理的進(jìn)行線程切換與調(diào)度,充分發(fā)揮芯片性能,解決線程間沖突,是迫切需要解決的問題。MDK5.25版本以后提供了新的Sy
    發(fā)表于 08-24 07:33

    RT-Thread的線程簡介

    。RT-Thread的線程簡介線程(thread)是系統(tǒng)能夠進(jìn)行調(diào)度的最小單位,在linux中也是這樣定義的,但是和我們RTOS中的thre
    發(fā)表于 08-24 07:56

    RTOS進(jìn)行講解

    自動化類專業(yè)小伙伴最早接觸一般都是在接觸RTOS后了,然而對于計算機(jī)相關(guān)專業(yè)的小伙伴應(yīng)該在學(xué)《計算機(jī)操作系統(tǒng)》老師對這一塊講解的非常清楚了,包括一些性能指標(biāo)的定義與計算等等,不過作者這里僅僅只針對RTOS進(jìn)行講解,大家感興趣可以
    發(fā)表于 11-10 07:24

    RT-Thread代碼啟動與線程切換過程的實現(xiàn)

    線程的上下文切換可以下圖表示:2.2.3 系統(tǒng)調(diào)度系統(tǒng)調(diào)度就是在就緒列表中尋找優(yōu)先級最高的就緒線程,然后去執(zhí)行該
    發(fā)表于 04-25 11:38

    實現(xiàn)OSEK/VDX的RTOS進(jìn)行汽車電控單元開發(fā)

    討論了現(xiàn)階段實現(xiàn)OSEK/VDX規(guī)范的實時操作系統(tǒng)(RTOs)進(jìn)行汽車電控單元開發(fā)的必要性,介紹了OSEK OS的運(yùn)行機(jī)制和特點,并對實現(xiàn)OSEK/VDX的
    發(fā)表于 04-20 08:49 ?15次下載

    RTOS線程訪問同一硬件(如UART)的方法

    RTOS線程(任務(wù))訪問同一硬件(如UART)的方法
    的頭像 發(fā)表于 03-12 11:28 ?5801次閱讀

    LEDs狀態(tài)燈任務(wù)(線程)設(shè)計 (基于RTOS

    LEDs狀態(tài)燈任務(wù)(線程)設(shè)計(基于RTOS
    的頭像 發(fā)表于 03-12 11:30 ?2600次閱讀

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

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

    什么是虛擬線程?虛擬線程到底是做什么用的呢?

    虛擬線程是在Java并發(fā)領(lǐng)域添加的一個新概念,那么虛擬線程到底是做什么用的呢?
    的頭像 發(fā)表于 10-29 10:23 ?3516次閱讀
    什么是虛擬<b class='flag-5'>線程</b>?虛擬<b class='flag-5'>線程</b>到底是做<b class='flag-5'>什么用</b>的呢?

    SCP線程模型特點

    線程 混合協(xié)作調(diào)度模型-調(diào)度在具有相同優(yōu)先級的線程之間是協(xié)作的。 ?無需鎖 ?使代碼更簡單,避免了死鎖的情況。 ?它消除了對執(zhí)行上下文/RTOS
    的頭像 發(fā)表于 11-02 17:07 ?806次閱讀
    SCP<b class='flag-5'>線程</b>模型特點

    新手必看的RTOS基礎(chǔ)知識

    時間片調(diào)度保證每個線程都有一個要執(zhí)行的槽。這種類型的調(diào)度通常不利于實時應(yīng)用。如果需要,TI-RTOS內(nèi)核支持使用任務(wù)進(jìn)行時間切片
    的頭像 發(fā)表于 11-20 16:06 ?2896次閱讀
    新手必看的<b class='flag-5'>RTOS</b>基礎(chǔ)知識

    基于RTOS的應(yīng)用進(jìn)程中的典型線程

    RTOS中的關(guān)鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價值在于它的響應(yīng)速度或可預(yù)測性,而不是它在給定時間段內(nèi)可以執(zhí)行的工作量。
    發(fā)表于 03-05 09:32 ?960次閱讀
    基于<b class='flag-5'>RTOS</b>的應(yīng)用進(jìn)程中的典型<b class='flag-5'>線程</b>
    主站蜘蛛池模板: 国产在线精彩视频二区 | 女上男下边吃奶边做视频成都 | 免费在线播放黄色 | 欧美日韩一区二区三区视视频 | 韩国在线a免费观看网站 | 手机看片1024日韩 | 最近高清在线视频观看免费 | 成人精品亚洲人成在线 | 视频在线一区二区 | 日韩精品一区二区三区免费视频 | 欧日韩视频777888 | 5g成人影院 | 天天插天天摸 | 国产美女视频免费 | 4hu四虎永久免在线视 | 在线色综合 | 欧美在线你懂的 | 一区二区三区四区在线 | 天天干天天操天天玩 | 日韩精品免费一级视频 | 国产高清精品自在久久 | 天天看a| 一级做a爱片久久毛片 | 午夜性爽爽爽 | 污视频18高清在线观看 | 国产91色综合久久免费分享 | 黄篇网站在线观看 | 222aaa免费| 久久青草精品免费资源站 | 黄色毛片免费 | 色综合天天综合中文网 | 欧美国产黄色 | 精品卡1卡2卡三卡免费视频 | 爱逼综合| 日本一区二区三区在线观看视频 | 久久久国产高清 | 四虎国产精品免费入口 | 黄色国产在线视频 | 日本黄色美女视频 | 一级爱片 | 欧美成人性高清观看 |