精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

搶占式內(nèi)核

嵌入式應用開發(fā) ? 來源:嵌入式應用開發(fā) ? 作者:嵌入式應用開發(fā) ? 2022-09-29 18:40 ? 次閱讀

μC/OS、RTT等大多數(shù)實時內(nèi)核都是搶占式的,準備運行的最高優(yōu)先級任務始終被賦予 CPU 控制權(quán)。

當一個任務使更高優(yōu)先級的任務準備好運行時,當前任務被搶占(掛起)并且更高優(yōu)先級的任務立即獲得 CPU 的控制權(quán)。

如果 ISR 使更高優(yōu)先級的任務準備就緒,當 ISR 完成時,被中斷的任務被掛起并恢復新的更高優(yōu)先級任務。

poYBAGM1dd6AGl4QAAFO_HeIp_U136.png

(1) 任務正在執(zhí)行但被中斷。(2) 如果中斷被使能,CPU 向量(跳轉(zhuǎn))到 ISR。(3) ISR 處理事件并使更高優(yōu)先級的任務準備好運行。ISR 完成后,調(diào)用內(nèi)核提供的服務(即調(diào)用內(nèi)核提供的函數(shù))。(4) & (5) 該函數(shù)知道一個更重要的任務已經(jīng)準備好運行,因此內(nèi)核將執(zhí)行上下文切換并執(zhí)行更重要的代碼而不是返回到被中斷的任務任務。當更重要的任務完成時,內(nèi)核提供的另一個函數(shù)被調(diào)用,讓任務進入休眠狀態(tài),等待事件(即 ISR)發(fā)生。(6) & (7) 然后內(nèi)核“看到”需要執(zhí)行一個較低優(yōu)先級的任務,并完成另一個上下文切換以恢復被中斷任務的執(zhí)行。

使用搶占式內(nèi)核,最高優(yōu)先級任務的執(zhí)行是確定性的;你可以確定它何時可以控制 CPU。因此,通過使用搶占式內(nèi)核可以最大限度地減少任務級響應時間。

使用搶占式內(nèi)核的應用程序代碼不應使用不可重入函數(shù),除非通過使用互斥信號量確保對這些函數(shù)的獨占訪問,因為低優(yōu)先級和高優(yōu)先級任務都可以使用公共函數(shù)。如果較高優(yōu)先級的任務搶占正在使用該功能的較低優(yōu)先級的任務,則可能會發(fā)生數(shù)據(jù)損壞。

總而言之,搶占式內(nèi)核始終執(zhí)行準備運行的最高優(yōu)先級任務。中斷搶占任務,完成 ISR 后,內(nèi)核將繼續(xù)執(zhí)行準備運行的最高優(yōu)先級任務(而不是被中斷的任務)。任務級別的響應是最佳的和確定性的,當系統(tǒng)響應性很重要時,建議使用搶占式內(nèi)核。

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

    關注

    3

    文章

    1363

    瀏覽量

    40228
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10826

    瀏覽量

    211162
  • 函數(shù)
    +關注

    關注

    3

    文章

    4307

    瀏覽量

    62434
  • RTT
    RTT
    +關注

    關注

    0

    文章

    65

    瀏覽量

    17088
  • ISR
    ISR
    +關注

    關注

    0

    文章

    38

    瀏覽量

    14408
收藏 人收藏

    評論

    相關推薦

    嵌入Hypervisor:架構(gòu)、原理與應用 閱讀體驗 +分離內(nèi)核的嵌入Hyperviso

    讀后感:分離內(nèi)核與SKH架構(gòu)的深刻洞察 在閱讀了關于分離內(nèi)核和SKH(分離內(nèi)核Hypervisor)的詳細闡述后,我深感這一技術(shù)在現(xiàn)代計算機系統(tǒng),尤其是嵌入系統(tǒng)和安全關鍵系統(tǒng)中的重要
    的頭像 發(fā)表于 10-12 17:06 ?273次閱讀
    嵌入<b class='flag-5'>式</b>Hypervisor:架構(gòu)、原理與應用 閱讀體驗 +分離<b class='flag-5'>內(nèi)核</b>的嵌入<b class='flag-5'>式</b>Hyperviso

    rtthread是搶占的rtos,那么線程的timeout參數(shù)具體的作用是什么呢?

    查閱相關說明,rtthread是搶占的rtos,那么線程的timeout參數(shù)具體的作用是什么呢, 假如線程A,B的優(yōu)先級分別是1和2,timeout是10ms。當線程B 在運行中,還未到timeout,此刻掛起的線程A被觸發(fā),是直接
    發(fā)表于 09-27 08:39

    新書發(fā)布——《RT-Thread嵌入實時操作系統(tǒng)內(nèi)核、驅(qū)動和應用開發(fā)技術(shù)》

    我們非常高興地宣布,由鄭苗秀、沈鴻飛和廖建尚編著的《RT-Thread嵌入實時操作系統(tǒng)內(nèi)核、驅(qū)動和應用開發(fā)技術(shù)》一書正式發(fā)布。本書的編寫團隊由多位在嵌入和實時操作系統(tǒng)領域有著豐富經(jīng)驗的專家組
    的頭像 發(fā)表于 09-03 08:06 ?478次閱讀
    新書發(fā)布——《RT-Thread嵌入<b class='flag-5'>式</b>實時操作系統(tǒng)<b class='flag-5'>內(nèi)核</b>、驅(qū)動和應用開發(fā)技術(shù)》

    linux驅(qū)動程序如何加載進內(nèi)核

    在Linux系統(tǒng)中,驅(qū)動程序是內(nèi)核與硬件設備之間的橋梁。它們允許內(nèi)核與硬件設備進行通信,從而實現(xiàn)對硬件設備的控制和管理。 驅(qū)動程序的編寫 驅(qū)動程序的編寫是Linux驅(qū)動開發(fā)的基礎。在編寫驅(qū)動程序之前
    的頭像 發(fā)表于 08-30 15:02 ?382次閱讀

    Linux內(nèi)核測試技術(shù)

    Linux 內(nèi)核是Linux操作系統(tǒng)的核心部分,負責管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux 內(nèi)核的不斷發(fā)展和更新,其復雜性和代碼規(guī)模也在不斷增加。因此,確保內(nèi)核的穩(wěn)定性和可靠性變得尤為重要
    的頭像 發(fā)表于 08-13 13:42 ?436次閱讀
    Linux<b class='flag-5'>內(nèi)核</b>測試技術(shù)

    歡創(chuàng)播報 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核

    1 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核 ? 6月21日,在華為開發(fā)者大會上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨立于安卓和iOS的鴻蒙操作系統(tǒng),正式登場。這是HarmonyOS
    的頭像 發(fā)表于 06-27 11:30 ?783次閱讀

    實時操作系統(tǒng)之RT-Thread及FreeRTOS

    (RTOS),它們在設計理念、內(nèi)核架構(gòu)、生態(tài)系統(tǒng)和應用領域等方面有一些區(qū)別:內(nèi)核設計:FreeRTOS的內(nèi)核是基于優(yōu)先級的搶占
    的頭像 發(fā)表于 05-29 08:10 ?3597次閱讀
    實時操作系統(tǒng)之RT-Thread及FreeRTOS

    相同的代碼,不同的工程出現(xiàn)定時器搶占的現(xiàn)象怎么解決?

    如題,相同的代碼,不同的工程出現(xiàn)定時器搶占的現(xiàn)象,事情是這樣的 ?項目功能描述:emwin作為人機交互,根據(jù)界面的輸入值,8個TIM依次輸出驅(qū)動電機,驅(qū)動方式為定時器中斷翻轉(zhuǎn)IO電平的方式
    發(fā)表于 05-15 08:27

    求助,關于stm32F4中斷優(yōu)先級0無法搶占的問題求解

    使用F407遇到一個搶占優(yōu)先級的問題: 現(xiàn)設置優(yōu)先級分組 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);也就是15個優(yōu)先級分組。按照手冊說明0
    發(fā)表于 04-23 07:26

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

    搶占發(fā)生時,任務即使沒有完成也會被迫放棄處理器,此時任務并沒有被掛起,而是會返回就緒隊列。任務在隊列中的位置是由優(yōu)先級決定的,它會在隊列中等待到下一次被調(diào)度。
    的頭像 發(fā)表于 04-05 05:22 ?2687次閱讀
    嵌入<b class='flag-5'>式</b>實時操作系統(tǒng)優(yōu)先級<b class='flag-5'>搶占</b><b class='flag-5'>式</b>調(diào)度機制解析

    STM32F103的寄存器NVIC_IPRx搶占優(yōu)先級和子優(yōu)先級是怎么設置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,搶占優(yōu)先級和子優(yōu)先級是怎么設置的? 如果,中斷分組2,搶占優(yōu)先級3,子優(yōu)先級3 那下面這樣寫對嗎? SCB->AIRCR|=0x05FA0500; NVIC->IP[1]|=11110000;
    發(fā)表于 03-27 07:48

    鴻蒙使用的是微內(nèi)核

    我們常說,看一個系統(tǒng)是不是自研,就看它的內(nèi)核,常見的內(nèi)核分為:宏內(nèi)核和微內(nèi)核,當然還有兩者結(jié)合體,他們到底有什么區(qū)別? 白話宏內(nèi)核和微
    的頭像 發(fā)表于 01-30 16:43 ?454次閱讀
    鴻蒙使用的是微<b class='flag-5'>內(nèi)核</b>?

    gd32vf103根據(jù)例子配置了systick和adc中斷,但是adc中斷無法搶占systick是為什么?

    根據(jù)例子配置了systick和adc中斷,但是adc中斷無法搶占systick 配置為向量和非相量都沒有實現(xiàn)
    發(fā)表于 01-10 07:43

    智能集成:整合模擬元件和ARM微控制器內(nèi)核,解決棘手嵌入系統(tǒng)問題

    智能集成:整合模擬元件和ARM微控制器內(nèi)核,解決棘手嵌入系統(tǒng)問題
    的頭像 發(fā)表于 01-05 18:18 ?672次閱讀
    智能集成:整合模擬元件和ARM微控制器<b class='flag-5'>內(nèi)核</b>,解決棘手嵌入<b class='flag-5'>式</b>系統(tǒng)問題

    如何修改內(nèi)核設備樹

    如何修改內(nèi)核設備樹
    的頭像 發(fā)表于 12-14 14:06 ?772次閱讀
    如何修改<b class='flag-5'>內(nèi)核</b>設備樹