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

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

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

3天內不再提示

分析RTOS實現多任務調度的基本原理

strongerHuang ? 來源:嵌入式專欄 ? 作者:嵌入式專欄 ? 2021-07-27 15:59 ? 次閱讀

很多朋友長時間使用裸機編程,切換過來學習RTOS,就對其中很多概念產生誤解。

大部分人開始學習RTOS實時操作系統時,對RTOS中的一些概念都不太理解。

一上來就是臨界段、調度、信號量、互斥鎖等這些概念,相信大部分初學者都是懵的。

不太懂這些概念很正常,一下子懂了,我倒反而覺得不正常。

1什么是多任務

這里大部分人應該都是從裸機階段過來的,裸機系統一般也稱之為單任務系統、輪詢系統或前后臺系統。

這個概念相信大家都能明白,輪詢就是在一個大while循環里執行。前后臺系統就是在執行while時,有中斷(前臺)響應的系統。

int main(void){ /* 初始化 */ while(1) { /* 循環處理多項事情 */ }}

那么,什么是多任務呢?

當多任務操作系統使用某種任務調度策略允許兩個或更多進程并發共享一個處理器時,事實上處理器在某一時刻只會給一件任務提供服務。

因為任務調度機制保證不同任務之間的切換速度十分迅速,因此給人多個任務同時運行的錯覺。

---來自百度百科

初學者可以理解為:有類似上面的多個輪詢系統。

如下代碼,將大while中的多項事情,分為幾個事情,分別處理。

void Task1(void){ /* 初始化 */ while(1) { /* 處理事情1 */ }}

void Task2(void){ /* 初始化 */ while(1) { /* 處理事情2 */ }}

這里就要牽涉到各個任務之間的切換:任務調度。

2任務調度

說任務調度之前,先說一插曲:

我開始學RTOS時,覺得CPU這么短時間(1ms)在各個任務之間來回切換,而且切換還需要執行那么多代碼,這樣CPU還能執行多少代碼啊?

其實,我當時太低估了處理器的能力。

STM32F103跑72M來說,1ms時間可以執行的代碼有多少,你們心里有概念嗎?

沿著這個問題,大家進一步思考其實都能明白,區區那切換(任務調度)的幾行代碼對于CPU速度來說,這個處理時間可以忽略不計(當然,這是相對高速處理而言。如果低頻的處理器,這個時間可能相對較長)。

任務調度

任務調度可以分搶占調度和輪詢調度。

在RTOS中,為了使任務得到實時響應,一般使用搶占調度方式,我們拿UCOS為例:

0753a0c2-eb96-11eb-a97a-12bb97331649.jpg

你會發現只程序執行過程中,如果有高優先級任務帶來,高優先級任務就會打斷低優先級任務。

直到高優先級任務執行完,低優先級任務才得到相應。

這里有人可能會問:如果高優先級一直或長時間執行可以嗎?

答案是:NO

這里就關系到任務優先級分配,以及任務設計問題。

一般來說,高優先級任務是在等待一個事件的觸發,執行一件緊急,而不會太耗時的事情。

太耗時任務一般留給低優先級任務,在系統不忙時慢慢處理。

調度過程

我們設置系統滴答為1ms時間,那么系統就會間隔1ms檢查一次就緒任務中優先級更高的任務。

這個1ms滴答是由定時器中斷產生,一般像在STM32由內核滴答定時器產生。

如上圖,他在(2)的位置就檢測到有更高優先級任務(7)就緒,此時就會跳轉到任務(7)去執行。

編輯:jq

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

    關注

    22

    文章

    814

    瀏覽量

    119677

原文標題:RTOS實現多任務調度的基本原理

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32 簡單多任務調度

    STM32的開發目前大多數還開處于“裸奔”的階段,處于開發成本的考慮,可能還未嵌入任何的RTOS系統,由于沒有操作系統的支持,因而不能方便的對多任務進行調度和管理,在main函數中你可能會寫成如下
    發表于 03-09 15:59

    STM32 簡單多任務調度的方法與程序例程

    處于“裸奔”的階段,處于開發成本的考慮,可能還未嵌入任何的RTOS系統,由于沒有操作系統的支持,因而不能方便的對多任務進行調度和管理,在main函數中你可能會寫成如下方式:int main(void
    發表于 09-05 14:39

    RTOS多任務同步和通訊

    、郵箱、事件標記、管道、信號和條件變量等。深入理解和實現RTOS深入理解和實現RTOS_連載6_多任務同步和通訊.pdf (379.46 K
    發表于 02-18 06:35

    RTOS多任務機制應用演示

    的執行路徑。深入理解和實現RTOS深入理解和實現RTOS_連載5_多任務機制應用.pdf (247.18 KB )
    發表于 02-17 23:30

    在STM32下完成FreeRTOS的多任務程序開發

    ---------FreeRTOS是一個迷你的實時操作系統內核。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協程等,可基本滿足較小系統的需要。(二)FreeRTOS基本原理---------
    發表于 08-09 07:27

    實時多任務操作系統(RTOS

    多任務處理是指用戶可以在同一時間內運行多個應用程序,每個應用程序被稱作一個任務.Linux、windows就是支持多任務的操作系統,比起單任務系統它的功能增強了許多。當
    發表于 08-24 06:34

    RTOS中的多任務切換怎么實現

    RTOS中的多任務切換怎么實現
    發表于 11-30 07:23

    RTOS中的多任務切換的相關資料分享

    函數四.總流程五.結果六.后記(含代碼鏈接)一. 簡介??RTOS中的多任務切換是操作系統與裸機編程的一個非常大的區別,一般邏輯變成運行在一個循環內,裸機編程很難實現兩個事件的并行(這里的并行指的是
    發表于 12-06 07:08

    如何使用Tracealyzer理解多任務調度

    ,可能會阻止低優先級任務的執行,使其無法得到響應。分析RTOS應用中的任務優先級和運行時行為,需要記錄和可視化多任務
    發表于 12-17 16:01

    如何去實現一種基于ARM9的多任務搶占式調度器設計

    本文檔以ARM9(三星 2410/2440)為平臺,介紹一個多任務搶占式調度器------搶占式任務調度,提供延時,掛起,恢復任務操作。最精
    發表于 04-14 09:14

    網格任務調度算法研究

    網格任務調度算法是影響網格成功與否的關鍵技術之一。本文總結了網格計算系統的體系結構和特征,分析了網格任務調度算法的
    發表于 08-14 10:27 ?10次下載

    基于DSP的實時多任務調度內核設計

    基于DSP的實時多任務調度內核設計
    發表于 10-19 15:30 ?7次下載
    基于DSP的實時<b class='flag-5'>多任務</b><b class='flag-5'>調度</b>內核設計

    RTOS實時操作系統怎么執行多任務的?

    RTOS實時操作系統中是怎樣實現多任務的?
    的頭像 發表于 03-03 13:49 ?4657次閱讀
    <b class='flag-5'>RTOS</b>實時操作系統怎么執行<b class='flag-5'>多任務</b>的?

    DSP實時多任務調度的解決方案

    本文闡述了一個用于DSP的簡潔而實用的實時多任務調度內核的實現方法。DSP由于其架構的特殊性,在任務調度方面與
    的頭像 發表于 03-24 15:22 ?4872次閱讀

    STM32 簡單多任務調度的方法與程序例程

    多任務處理是指用戶可以在同一時間內運行多個應用程序,每個應用程序被稱作一個任務.Linux、windows就是支持多任務的操作系統,比起單任務系統它的功能增強了許多。當
    發表于 12-22 19:04 ?13次下載
    STM32 簡單<b class='flag-5'>多任務</b><b class='flag-5'>調度</b>的方法與程序例程
    主站蜘蛛池模板: 日韩 三级| 欧美精品亚洲网站| se94se最新网站| 18女毛片| 久久国产伦三级理电影| 天天射色综合| 欧美一级免费看| ts人妖系列在线专区| 看日本黄大片在线观看| 色爱综合网欧美| 亚洲天堂.com| 国产内地激情精品毛片在线一| 国产黄在线观看免费观看不卡| 天天干夜夜怕| 亚洲国产成人久久午夜| 国产免费一区二区三区| 美女国产在线观看免费观看| 日本大片免费播放网站| 色综合天天综久久久噜噜噜久久〔| 在线播放真实国产乱子伦| 免费看黄视频的网站| 38pao强力打造永久免费高清视频| 国产乱子伦一区二区三区| 色综合天| 日本xxxxbbbb| 天天爽天天色| 午夜影院在线观看免费| 综综综综合网| 日韩一级片免费在线观看| 97天天干| 久久99热久久精品动漫| 狠狠成人| 国产2021成人精品| 下农村女人一级毛片| 午夜三级a三点| 欧美成人观看免费全部完小说| 国产三级在线免费观看| 丁香六月婷婷七月激情| 成人欧美一区二区三区小说| 天天拍夜夜操| 日本69sex护士xxx|