1. 程式人生 > 其它 >v03.01 百圖畫鴻蒙(任務控制塊) | 競爭系統資源的最小執行單元 | 畫出鴻蒙骨骼系統

v03.01 百圖畫鴻蒙(任務控制塊) | 競爭系統資源的最小執行單元 | 畫出鴻蒙骨骼系統

百圖畫鴻蒙 | 一圖一主幹

  • 如果把鴻蒙比作人,百圖目的是要畫出其骨骼系統。

  • 百圖系列每張圖都是心血之作,耗時甚大,能用一張就絕不用兩張,所以會畫的比較複雜,高清圖會很大,可以從 公眾號 獲取超高清圖。如果喜歡也請分享給更多的人。

  • 任務控制塊 是核心最重要和複雜的超級結構體,注意沒有說之一,鴻蒙核心的說法叫任務,外部的叫法就是執行緒,它像個小孩老被家長(程序)管著。非常的調皮搗蛋,家裡還有很多像它一樣的小孩,都是一個爸生的,孩子們都有自己的房間(獨立棧空間包括使用者態棧和核心態棧), 他們的想法創意很多,各種各樣的需求,經常要和別人玩,不僅要和自己的兄弟姐妹玩,還要和小區裡的其他小朋友玩。玩著玩著就容易搶東西打起來(資源競爭),讓小區管理員(核心程序)和家長們(使用者程序們)鬧心的很, 就得幫著這群熊孩子協調資源。畢竟他們才是祖國的花朵,未來是屬於他們的。

  • 以上雖是個小比喻,其實核心也基本是這麼玩的,核心一切的一切是圍繞著任務來展開的,如果非要選一個核心最核心的概念,那隻能是它,所以這是一個必須要熟練掌握的結構體,也是最複雜的一個結構體,這張圖畫了足足兩天時間,後續還會不斷的修改,請關注它的動態變化,這也是一個非常考驗對雙向連結串列掌握程度的結構體,和程序控制塊一樣很容易讓你的腦棧溢位,如果能熟悉其整體運作,核心的基本功就比較紮實了。

鴻蒙研究站回覆: 任務控制塊

百文說核心 | 抓住主脈絡

  • 百文相當於摸出核心的肌肉和器官系統,讓人開始豐滿有立體感,因是直接從註釋原始碼起步,在加註釋過程中,每每有心得處就整理,慢慢形成了以下文章。內容立足原始碼,常以生活場景打比方儘可能多的將核心知識點置入某種場景,具有畫面感,容易理解記憶。說別人能聽得懂的話很重要! 百篇部落格絕不是百度教條式的在說一堆詰屈聱牙的概念,那沒什麼意思。更希望讓核心變得栩栩如生,倍感親切。
  • 與程式碼需不斷debug一樣,文章內容會存在不少錯漏之處,請多包涵,但會反覆修正,持續更新,v**.xx 代表文章序號和修改的次數,精雕細琢,言簡意賅,力求打造精品內容。
  • 百文在 < 鴻蒙研究站 | 開源中國 | 部落格園 | 51cto | csdn | 知乎 | 掘金 > 站點發布。

按功能模組:

前因後果 基礎工具 載入執行 程序管理
總目錄
排程故事
記憶體主奴
原始碼註釋
原始碼結構
靜態站點
參考文件
雙向連結串列
點陣圖管理
用棧方式
定時器
原子操作
時間管理
ELF格式
ELF解析
靜態連結
重定位
程序映像
程序管理
程序概念
Fork
特殊程序
程序回收
訊號生產
訊號消費
Shell編輯

Shell解析
編譯構建 程序通訊 記憶體管理 任務管理
編譯環境
編譯過程
環境指令碼
構建工具
gn應用
忍者ninja
自旋鎖
互斥鎖
程序通訊
訊號量
事件控制
訊息佇列
記憶體分配
記憶體管理
記憶體彙編
記憶體對映
記憶體規則
實體記憶體
時鐘任務
任務排程
任務管理
排程佇列
排程機制
執行緒概念
併發並行
CPU
系統呼叫
任務切換
檔案系統 硬體架構
檔案概念
檔案系統
索引節點
掛載目錄
根檔案系統
VFS
檔案控制代碼
管道檔案
彙編基礎
彙編傳參
工作模式
暫存器
異常接管
彙編彙總
中斷切換
中斷概念
中斷管理

百萬注原始碼 | 處處扣細節

  • 百萬漢字註解核心目的是要看清楚其毛細血管,細胞結構,等於在拿放大鏡看核心。核心並不神祕,帶著問題去原始碼中找答案是很容易上癮的,你會發現很多文章對一些問題的解讀是錯誤的,或者說不深刻難以自圓其說,你會慢慢形成自己新的解讀,而新的解讀又會碰到新的問題,如此層層遞進,滾滾向前,拿著放大鏡根本不願意放手。
  • < gitee | github | coding | codechina > 四大碼倉推送 | 同步官方原始碼

原創不易,歡迎轉載,也請註明出處。若能點贊 | 分享則更佳,感謝支援,一點微光,足以照亮前方。