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

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

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

3天內不再提示

RTOS入門之掃盲篇-理解任務、線程、進程的概念

zhangxiaognag ? 來源:zhangxiaognag ? 作者:zhangxiaognag ? 2023-06-06 11:52 ? 次閱讀

在我們實際開發或者構思項目的過程中,會根據產品的定義或者客戶需求對產品的功能上進行分解從而轉換成我們軟件的開發的概要設計需求表現,比如我們需要做一個多路可調的電源輸出并且可以通過 PC 端控制電源的當前輸出以及實時顯示當前的輸出電壓和電流,但是接上負載之后可能由于線阻問題可能會導致負載端的電壓低于實際輸出端的電壓,所以還需要一個負載端(遠端)的電壓補償功能,如下圖1所示:

pYYBAGR929qAVE2uAAECGzy8z88824.png圖1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2

1.1 任務定義
在上述圖 1 和圖 2 的設計模塊的功能圖和功能關系圖之后,此時我們可以通過上述圖能發現哪些功能或者說模塊需要設計的,其實這里的“多通道電源控制”就是我們的“任務”。現在我們把這個大的任務已經分解開上述圖 1 所示的 5 個小功能,這個 5 個小的功能咱們也可以稱之為任務。


1.2 觀察者角度
所以這里我們軟件上對“ 任務” 的理解,其實它是我們對所要做的一件事情從某種角度上的抽象出來的一功能或者一個執行活動。 這里面為什么是從某種角度呢?這個很好理解,就是通常我們看到一個事情可以有很多方面去觀察的,比如事物的功能去劃分觀察,又或者是對事物的顏色或者活動狀態去劃分。所以在我們軟件開發過程中“某種角度”也就是說觀察者的觀察方向很重要,因為它直接的影響到了我們的軟件模塊劃分以及后續針對這個模塊進行線程或者進程的執行有著直接影響。

1.3 操作系統的調度
這里面我們不得不說些關于操作系統的調度這個概念了, 當有一堆任務需要被處理,但由于資源有限,比如說只有一臺打印機,現在有很多人都需要打印各自的文檔那怎么辦呢?現在的資源(打印機)只有一個,但任務(很多人需要打印)比較多。 這就需要確定某種規則來決定處理這些任務,這就是調度要做的事情了。 現在回到我們的 CPU 上,就拿現在的單核 CPU, CPU 在同一個時間點只能做一件事情,那它是如何處理多件不同的事情呢? 這里一般情況分為搶占式和時間片式的調度方式,當然還有很多其它的調度算法,咱們只是
了解即可。

1.4 線程
線程則是某一進程中一路單獨運行的程序。也就是說,線程存在于進程之中。一個進程由一個或多個線程構成,各線程共享相同的代碼和全局數據,但各有其自己的堆棧。由于堆棧是每個線程一個,所以局部變量對每一線程來說是私有的。由于所有線程共享同樣的代碼和全局數據,它們比進程更緊密,比單獨的進程間更趨向于相互作用,線程間的相互作用更容易些,因為它們本身就有某些供通信用的共享內存:進程的全局數據。線程是進程中執行運算的最小單位,亦即執行處理機調度的基本單位。 如果把進程理解為在邏輯上操作系統所完成的任務,那么線程表示完成該任務的許多可能的子任務之一。 還是列舉上述圖 1 的例子“多通道電源控制”項目。這里面的“多通道電源控制”的這個大任務,如果把它當作一個進程的話,那么它下面 5 個小任務就可以理解為我們的線程(子任務)。線程可以在處理器上獨立調度執行,這樣,在多處理器環境下就允許幾個線程各自在單獨處理器上進行。操作系統提供線程就是為了方便而有效地實現這種并發性,當然在單處理器上的線程,其實從宏觀角度來看也是并行執行的。

1.5 進程
進程是表示資源分配的基本單位,又是調度運行的基本單位。例如,用戶運行自己的程序,系統就創建一個進程,并為它分配資源,包括各種表格、內存空間、磁盤空間、 I/O 設備等。然后,把該進程放人進程的就緒隊列。進程調度程序選中它,為它分配 CPU 以及其它有關資源,該進程才真正運行。所以,進程是系統中的并發執行的單位。一個進程和一個線程最顯著的區別是:線程有自己的全局數據。線程存在于進程中,因此一個進程的全局變量由所有的線程共享。由于線程共享同樣的系統區域,操作系統分配給一個進程的資源對該進程的所有線程都是可用的,正如全局數據可供所有線程使用一樣。

pYYBAGR93OGAN_BBAADS75DRFTk820.png

poYBAGR93TKAByUXAA0UFMzfick296.png實戰項目應用


郵箱:TianjiStar.work@outlook.com

審核編輯:湯梓紅


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

    關注

    68

    文章

    11053

    瀏覽量

    216249
  • FreeRTOS
    +關注

    關注

    12

    文章

    492

    瀏覽量

    63900
  • 線程
    +關注

    關注

    0

    文章

    507

    瀏覽量

    20109
  • 進程
    +關注

    關注

    0

    文章

    207

    瀏覽量

    14239
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    RTOS中的線程進程和協程詳解

    看到有小伙伴在討論【RTOS任務屬于線程還是進程】的話題,這里就來分析一下OS中的線程進程和協
    的頭像 發表于 11-09 12:36 ?2460次閱讀
    <b class='flag-5'>RTOS</b>中的<b class='flag-5'>線程</b>、<b class='flag-5'>進程</b>和協程詳解

    進程線程概念及其區別

    今天浩道跟大家分享一關于進程線程之間關聯的硬核干貨,看看大神如何通過通俗易懂的圖文,讓大家更加深刻理解進程
    的頭像 發表于 11-21 10:50 ?1236次閱讀
    <b class='flag-5'>進程</b>和<b class='flag-5'>線程</b>的<b class='flag-5'>概念</b>及其區別

    深入理解和實現RTOS_連載

    ,那里有更詳細的注釋,而且是全中文的。深入理解和實現RTOS_連載5_多任務機制應用演示本節我們通過在評估板上的實例來演示有關線程調度和管理的API。因為每個例子中都包括了
    發表于 05-29 11:20

    深入理解和實現RTOS_連載

    和trcohili的帖子。trochili rtos完全是作者興趣所在,且行且堅持,比沒有duo。深入理解和實現RTOS_連載1_RTOS的前生今世今天發布的是第一
    發表于 05-30 01:02

    【MiCOKit試用體驗】慶科MiCO系統(1)MiCO RTOS線程

    2mico_rtos_delete_thread刪除進程,使進入終止狀態,并在IDLE線程中清除資源3mico_rtos_suspend_
    發表于 10-24 16:26

    進程線程的通俗解釋

    本帖最后由 檸檬守護 于 2016-8-10 17:42 編輯 進程(process)和線程(thread)是操作系統的基本概念,但是它們比較抽象,不容易掌握。最近,我讀到一
    發表于 08-10 17:31

    進程線程區別

    `1、進程線程的區別和聯系進程(process)和線程(thread)是操作系統的基本概念,但是它們比較抽象,不容易掌握。計算機的核心是C
    發表于 11-30 14:06

    請問uCOS-II中的任務進程還是線程

    個提問,然后上面的定義是百度的。按照定義任務應該是進程。有沒大佬從rtos的角度剖析一下進程線程的區別。
    發表于 06-03 05:07

    理解任務切換和任務狀態改變的關鍵是什么?

    理解任務調度與切換的關鍵是從代碼層面理解各種列表的操作邏輯思路:狀態列表(Running,Ready,Blocked,Suspended)和事件列表(比如隊列,信號量等中的阻塞事件列表)。這些操作是在各個API 函數中的,綜合起來感覺還是有些霧水。現在遇到一個問題麻煩大佬
    發表于 06-13 09:00

    【資料】RT-Threa操作系統中任務概念及實現任務所用到的數據結構

    。因為在RT-Thread操作系統中不會區分進程線程概念,因此可以理解為CPU可執行的最基本實例。如果你一定要用進程
    發表于 03-23 15:11

    進程與多線程的基本概念

    ,如此往復,宏觀上看來,就好像是多個線程在一起執行.由于這多個線程分屬于不同的進程,因此在我們看來,就好像是多個進程在同時執行,這樣就實現了多任務
    發表于 04-02 14:49 ?835次閱讀

    LEDs狀態燈任務(線程)設計 (基于RTOS

    LEDs狀態燈任務(線程)設計(基于RTOS
    的頭像 發表于 03-12 11:30 ?2613次閱讀

    淺析OS中的線程進程和協程與RTOS任務屬于那種

    今天為大家講解講解OS中的線程進程和協程的這幾個概念,同時一起看看RTOS中的任務到底屬于哪一種。
    的頭像 發表于 04-19 10:06 ?3438次閱讀
    淺析OS中的<b class='flag-5'>線程</b>、<b class='flag-5'>進程</b>和協程與<b class='flag-5'>RTOS</b><b class='flag-5'>任務</b>屬于那種

    RTOS中的任務線程進程?還是協程?

    今天為大家講解講解OS中的線程進程和協程的這幾個概念,同時一起看看RTOS中的任務到底屬于哪一種。
    的頭像 發表于 06-04 17:19 ?1980次閱讀
    <b class='flag-5'>RTOS</b>中的<b class='flag-5'>任務</b>是<b class='flag-5'>線程</b>?<b class='flag-5'>進程</b>?還是協程?

    基于RTOS的應用進程中的典型線程

    RTOS中的關鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價值在于它的響應速度或可預測性,而不是它在給定時間段內可以執行的工作量。
    發表于 03-05 09:32 ?970次閱讀
    基于<b class='flag-5'>RTOS</b>的應用<b class='flag-5'>進程</b>中的典型<b class='flag-5'>線程</b>
    主站蜘蛛池模板: 伊人久操 | 97av在线视频 | aa亚洲 | 在线免费观看一级毛片 | 亚洲邪恶天堂影院在线观看 | 五月婷婷一区二区 | 77788色淫网站女女免费视频 | 国模最新私拍视频在线观看 | 免费网站看av片 | 天天干天天操天天玩 | 日本一本高清视频 | 国产精品综合色区在线观看 | 一区二区网站 | 同性恋激情视频 | 久久人人干 | 黄色小网站在线观看 | 久久精品国产清自在天天线 | 手机在线观看视频你懂的 | 婷婷四房综合激情五月性色 | 五月天丁香婷婷综合 | 久久国产乱子伦精品免费强 | 又粗又长又大真舒服好爽漫画 | 1024手机在线看 | 成人福利在线视频 | 5g影院欧美成人免费 | 免费国产高清精品一区在线 | 国产精品一久久香蕉产线看 | 最新国产厕所 | 久久老色鬼天天综合网观看 | 亚洲视频你懂的 | 婷婷久久久五月综合色 | 午夜爽爽性刺激一区二区视频 | 国产在线一卡二卡 | 亚洲一区免费看 | xxxx性欧美极品另类 | 亚洲成人www | 福利片午夜 | 亚洲黄色一区二区 | a级毛片免费观看网站 | 最新欧美精品一区二区三区 | 乱妇伦小说 |