色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

鴻蒙系統內核中CPU空閑時間都在干嘛

鴻蒙系統HarmonyOS ? 來源:計算機java編程 ? 作者:計算機java編程 ? 2021-03-15 14:37 ? 次閱讀

本篇說清楚CPU

cpu是負責執行指令的,誰能給它指令?是線程(也叫任務), 任務是內核的調度單元,調度到哪個任務CPU就去執行哪個任務的指令. 要執行指令就要有個取指令的開始地址. 開始地址就是大家所熟知的main函數.一個程序被加載解析后內核會在ELF中找到main函數的位置,并自動創建一個線程,指定線程的入口地址為main函數的地址,由此開始了取指,譯指,執指之路.

多線程內核是怎么處理的? 一樣的, 以JAVA舉例,對內核來說 new thread中的run() 函數 和 main() 并沒有區別. 都是一個線程(任務)的執行入口. 注意在系列篇中反復的說任務就是線程,線程就是任務,它們是一個東西在不同層面上的描述.對應用層說線程,對內核層說任務. 有多少個線程就會有多少個入口,它們統一接受調度算法的調度, 調度算法只認優先級的高低,不會管你是main() 還是 run() 而區別對待.

定時器的實現也是通過任務實現的,只不過是個系統任務OsSwtmrTaskCreate,優先級最高,和入口地址OsSwtmrTask由系統指定.

所以理解CPU就要先理解任務,任務是理解內核的主線,把它搞明白了分析內核就輕輕松松,事半功倍了.看似高深的CPU只不過是摟草打兔子.

不相信?那就看看內核對CPU是怎么描述的吧.本篇就圍繞這個結構體展開說.

#內核如何描述CPU?

結構體不復雜,但很重要,一個一個掰開了說.

taskSortLink是干什么用的? 一個任務在運行過程中,會經常會主動或被動中斷,而進入等待狀態.主動中斷情況, 例如:主動delay300毫秒,這是應用層很常見的操作.被動中斷情況, 例如:申請互斥鎖失敗,等待某個事件發生 等等. 發生這些情況時任務將被掛到taskSortLink上.

`OsAdd2SortLink`,將任務掛到排序鏈表上,因等待時間不一樣,所以內核會對這些任務按時間長短排序.

定時器相關三個變量,在系列篇定時器機制篇中已有對定時器的詳細描述,可前往查看.

搞明白定時器的機制只需搞明白: 定時器(SWTMR_CTRL_S),定時任務(swtmrTaskID),定時器響應函數(SwtmrHandlerItem),定時器處理隊列swtmrHandlerQueue 四者的關系就可以了. 一句話概括:定時任務swtmrTaskID是個系統任務,優先級最高,它循環讀取隊列swtmrHandlerQueue中的已到時間的定時器(SWTMR_CTRL_S),并執行定時器對應的響應函數SwtmrHandlerItem.

idleTaskID空閑任務,注意這又是個任務,每個cpu核都有屬于自己的空閑任務,cpu沒事干的時候就待在里面.空閑任務長什么樣?Look!

taskLockCnt 這個很簡單,記錄等鎖的任務數量.任務在運行過程中優先級是會不斷地變化的, 例如 高優先級的A任務在等某鎖,但持有鎖的一方B任務優先級低,這時就會調高B的優先級至少到A的等級,提高B被調度算法命中的概率,如此就能快速的釋放鎖交給A運行.taskLockCnt記錄被CPU運行過的正在等鎖的任務數量.schedFlag 調度的標簽.

調度并不是每次都能成功的,在某些情況下內核會阻止調度進行.例如:OS_INT_ACTIVE硬中斷發生的時候.

excFlag標識CPU的運行狀態,只在多核CPU下可見.

以上為內核對CPU描述的全貌,不是很復雜.

編輯:hfy

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

    關注

    68

    文章

    10858

    瀏覽量

    211643
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2634

    瀏覽量

    66316
收藏 人收藏

    評論

    相關推薦

    鴻蒙內核源碼Task/線程技術分析

    前言 在鴻蒙內核,廣義上可理解為一個Task就是一個線程 一、怎么理解Task 1. 官方文檔是怎么描述線程 基本概念 從系統的角度看,線程是競爭
    的頭像 發表于 10-18 10:42 ?2211次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內核</b>源碼Task/線程技術分析

    你的計算機CPU使用率是多少?CPU空閑時干嘛

    假設你正在用計算機瀏覽網頁,當網頁加載完成后你開始閱讀,此時你沒有移動鼠標,沒有敲擊鍵盤,也沒有網絡通信,那么你的計算機此時在干嘛
    的頭像 發表于 12-05 09:27 ?1133次閱讀
    你的計算機<b class='flag-5'>CPU</b>使用率是多少?<b class='flag-5'>CPU</b><b class='flag-5'>空閑時</b>在<b class='flag-5'>干嘛</b>?

    如何在Aurix TC399控制器測量空閑時間

    我想測量一下微控制器的空閑時間(Aurix TC399)。 你能幫我解決這個問題嗎? 我們需要監控任何寄存器嗎?或者該怎么做? 期待你的回復。
    發表于 01-25 07:31

    有沒空閑時間承包項目的高手。我司研發項目轉包

    有沒空閑時間承包項目的高手。我司研發項目轉包,有愿意的聯系{ QQ:1725408475
    發表于 02-23 09:10

    鴻蒙內核開發的相關資料分享

    第一章 鴻蒙內核開發概述1.1鴻蒙系統有哪些內容?鴻蒙系統,就相當于一套完整的PC軟件
    發表于 11-08 06:16

    CPU 空閑時都在做什么?

    人在空閑的時候免不了昏昏欲睡那cpu空閑時在做什么呢?
    的頭像 發表于 03-06 15:43 ?5021次閱讀
    當 <b class='flag-5'>CPU</b> <b class='flag-5'>空閑時</b>它<b class='flag-5'>都在</b>做什么?

    鴻蒙內核源碼分析:鴻蒙內核的每段匯編代碼解析

    本篇說清楚CPU的工作模式 讀本篇之前建議先讀鴻蒙內核源碼分析(總目錄)其他篇. 正如一個互聯網項目的后臺管理系統有權限管理一樣,CPU工作
    的頭像 發表于 03-02 09:56 ?4348次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內核</b>源碼分析:<b class='flag-5'>鴻蒙</b><b class='flag-5'>內核</b>的每段匯編代碼解析

    鴻蒙內核源碼分析:task是內核調度的單元

    系統的角度看,線程是競爭系統資源的最小運行單元。線程可以使用或等待CPU、使用內存空間等系統資源,并獨立于其它線程運行。 鴻蒙
    發表于 11-23 15:51 ?22次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內核</b>源碼分析:task是<b class='flag-5'>內核</b>調度的單元

    鴻蒙內核源碼分析:時鐘是觸發調度最大的源動力

    時鐘管理模塊很簡單,但卻有內核最重要的代碼段 OsTickHandler(),這是干嘛的,可以理解為 JAVA的定時任務,但這是系統內核的定時器。因
    發表于 11-24 17:50 ?32次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內核</b>源碼分析:時鐘是觸發調度最大的源動力

    華為系統openharmony 鴻蒙內核的理解

    鴻蒙OS分布式操作系統是一款基于微內核的全場景分布式OS,是華為自主研發的操作系統
    的頭像 發表于 06-23 10:48 ?4108次閱讀

    鴻蒙推送時間 華為鴻蒙推送時間

    自從華為6月正式發布推送鴻蒙系統2.0,許多用戶都對鴻蒙系統感興趣也想下載,然而不怎么清楚鴻蒙系統
    的頭像 發表于 07-08 11:23 ?8478次閱讀
    <b class='flag-5'>鴻蒙</b>推送<b class='flag-5'>時間</b> 華為<b class='flag-5'>鴻蒙</b>推送<b class='flag-5'>時間</b>

    鴻蒙內核開發概述

    第一章 鴻蒙內核開發概述1.1 鴻蒙系統有哪些內容?鴻蒙系統,就相當于一套完整的PC軟件
    發表于 11-03 11:21 ?20次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內核</b>開發概述

    恒訊科技分析:是什么導致云計算CPU竊取時間

    由于云計算CPU竊取時間比傳統的專用物理環境要復雜一些。由于操作系統的報告工具尚未針對在
    的頭像 發表于 08-05 16:55 ?667次閱讀

    FreeRTOS空閑任務是什么

    空閑任務是 FreeRTOS 必不可少的一個任務,其他 RTOS 類系統也有空閑任務,比如 uC/OS。看名字就知道,空閑任務是處理器空閑
    的頭像 發表于 07-30 10:55 ?1275次閱讀

    如何在內核啟動secondary cpu

    給調度器之前,并沒有實際的業務進程,而我們知道內核cpu空閑時會執行idle進程。因此,在其啟動之前需要為每個cpu初始化一個idle進
    的頭像 發表于 12-05 15:46 ?602次閱讀
    如何在<b class='flag-5'>內核</b><b class='flag-5'>中</b>啟動secondary <b class='flag-5'>cpu</b>
    主站蜘蛛池模板: 中国xxxxxxxxx孕交| 果冻传媒在线观看网站| 亚洲视频网站欧美视频网站| 免费人成视频19674不收费| 国产激情一级毛片久久久| 799是什么意思网络用语| 无码AV精品久久一区二区免费 | 奇米狠狠干| 国内精品偷拍在线观看| AAA级精品无码久久久国片| 亚洲精品色婷婷在线蜜芽| 秋霞电影在线观看午夜伦| 久久精品天天爽夜夜爽| 国产精品午夜福利在线观看| 99热6精品视频6| 与嫂子同居的日子在线观看| 羞羞在线观看| 人人射人人插| 暖暖免费 高清 日本社区中文| 极品虎白在线观看| 国产普通话精品久久| 达达兔午夜一级毛片| 99精品视频在线观看re| 岳的奶大又白又胖| 亚洲精品一二三区-久久| 午夜福到在线2019| 肉肉高潮液体高干文H| 蜜桃日本MV免费观看| 久久精品亚洲视频| 红尘影院在线观看| 高清大胆欧美videossexo| VIDEOSGGRATIS欧美另类| 99久久久精品免费观看国产| 最近高清日本免费| 伊人成综合网伊人222| 亚洲熟女丰满多毛XXXXX| 亚洲AV精品无码喷水直播间| 日韩丰满少妇无码内射| 日本片bbbxxx| 色欲蜜臀AV免费视频| 十8禁用B站在线看漫画|