那曲檬骨新材料有限公司

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

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

3天內不再提示

開源鴻蒙內核源碼分析系列 | “內核”驅動 | 作者披露寫這個系列的動因

共熵服務中心 ? 來源:未知 ? 2022-11-18 21:15 ? 次閱讀

我是誰?

大家可以叫我turing ,計算機碩士,某互聯網公司技術副總裁 。計劃用 5 - 10 年時間把鴻蒙系統的底層實現整理成檔,包括:內核實現、驅動框架、協議棧、應用框架、編譯構建、運行時系統 等核心子系統。工程浩大,自不量力,然興趣所至,義無反顧, 此念不息,堅如磐石。

內驅力?

一句話:熱愛是所有的理由和答案。

因大學時閱讀 linux 2.6 內核痛并快樂的經歷,一直有個心愿,對底層基礎技術進行一次系統性的整理,方便自己隨時翻看,同時讓更多對底層感興趣的小伙伴減少時間,加速對計算機系統級的理解,而不至于過早的放棄。但因過程種種,多年一直沒有行動,基本要放棄這件事了。恰逢 2020/9/10 鴻蒙正式開源,重新激活了多年的心愿,就有那么點如黃河之水一發不可收拾了。

包含三部分內容:注源,寫博 ,畫圖, 目前對內核源碼的注解完成 80% ,博客分析完成80+篇,百圖畫鴻蒙完成20張,空閑時間幾乎被占用,時間不夠用,但每天都很充實,連做夢鴻蒙系統都在魚貫而入。是件很有挑戰的事,時間單位以年計,已持續一年半,期間得到眾多小伙伴的支持與糾錯,在此謝過 ! :P

為何要精讀內核源碼?

碼農的學職生涯,都應精讀一遍內核源碼。以澆筑好計算機知識大廈的地基,地基縱深的堅固程度,很大程度能決定未來大廈能蓋多高。那為何一定要精讀細品呢?

因為內核代碼本身并不太多,都是濃縮的精華,精讀是讓各個知識點高頻出現,不孤立成點狀記憶,沒有足夠連接點的知識點是很容易忘的,點點成線,線面成體,連接越多,記得越牢,如此短時間內容易結成一張高濃度,高密度的系統化知識網,訓練大腦肌肉記憶,駐入大腦直覺區,想抹都抹不掉,終生攜帶,隨時調取。跟騎單車一樣,一旦學會,即便多年不騎,照樣跨上就走,游刃有余。

大家在平時,一定會有這種體會:學任何一個新東西的過程中,必然會接觸到很多新的概念,尤其是像 Java/android 這樣的的生態,枝繁葉茂,相應的概念也特別多。很多同學,如果掌握不到要領,一個猛子扎下去,很快就會無數的概念海藻繞在其中出,難以自拔,痛苦難耐。

(〃?????)ゞ鴻蒙內核開發者

感謝開放原子開源基金會,致敬鴻蒙內核開發者提供了如此優秀的源碼,一了多年的夙愿,津津樂道于此。從內核一行行的代碼中能深深感受到開發者各中艱辛與堅持,及鴻蒙生態對未來的價值,這些是張嘴就來的網絡噴子們永遠不能體會到的。可以毫不夸張的說鴻蒙內核源碼可作為大學:C語言,數據結構,操作系統匯編語言,計算機系統結構,計算機組成原理,微機接口 七門課程的教學項目。如此寶庫,不深入研究實在是暴殄天物,于心不忍,堅信鴻蒙大勢所趨,未來可期,其必定成功,也必然成功,誓做其堅定的追隨者和傳播者。

理解內核的三個層級

普通概念映射級:這一級不涉及專業知識,用大眾所熟知的公共認知就能聽明白是個什么概念,也就是說用一個普通人都懂的概念去詮釋或者映射一個他們從沒聽過的概念。讓陌生的知識點與大腦中爛熟于心的知識點建立多重鏈接,加深記憶。說別人能聽得懂的話這很重要。一個沒學過計算機知識的賣菜大媽就不可能知道內核的基本運作了嗎?不一定。在系列篇中試圖用故事,打比方,去引導這一層級的認知,希望能卷入更多的人來關注基礎軟件,人多了場子熱起來了創新就來了。

專業概念抽象級:對抽象的專業邏輯概念具體化認知, 比如虛擬內存,老百姓是聽不懂的,學過計算機的人都懂,具體怎么實現的很多人又都不懂了,但這并不妨礙成為一個優秀的上層應用開發者,因為虛擬內存已經被抽象出來,目的是要屏蔽上層對它具體實現的認知。試圖用百篇博客系列篇去拆解那些已經被抽象出來的專業概念, 希望能卷入更多對內核感興趣的應用軟件人才流入基礎軟硬件生態, 應用軟件咱們是無敵宇宙,但基礎軟件卻很薄弱。

具體微觀代碼級:這一級是具體到每一行代碼的實現,到了用代碼指令級的地步,這段代碼是什么意思?為什么要這么設計?有沒有更好的方案?鴻蒙內核源碼注解分析 試圖從細微處去解釋代碼實現層,英文真的是天生適合設計成編程語言的人類語言,計算機的01碼映射到人類世界的26個字母,誕生了太多的偉大奇跡。但我們的母語注定了很大部分人存在著自然語言層級的理解映射,希望內核注解分析能讓更多愛好者節約時間成本,哪怕節約一分鐘也是這件事莫大的意義。

四個維度解剖內核

為了全方位剖析內核,在 畫圖寫文注源成冊 四個方向做了努力,試圖以講故事,畫圖表,寫文檔,拆源碼 立體的方式表述內核。很喜歡易中天老師的一句話:研究方式不等于表述方式。底層技術并不枯燥,它可以很有意思,它可以是我們生活中的場景。

一:百圖畫鴻蒙 | 一圖一主干 | 骨骼系統

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

百圖系列每張圖都是心血之作,耗時甚大,能用一張就絕不用兩張,所以會畫的比較復雜,高清圖會很大,可在公眾號中回復 百圖 獲取3倍超高清最新圖。v**.xx代表圖的版本,請留意圖的更新。

例如:雙向鏈表 是內核最重要的結構體,站長更愿意將它比喻成人的左右手,其意義是通過寄生在宿主結構體上來體現,可想象成在宿主結構體裝上一對對勤勞的雙手,它真的很會來事,超級活躍分子,為宿主到處拉朋友,建圈子。其插入 | 刪除 | 遍歷操作是它最常用的社交三大件,若不理解透徹在分析源碼過程中很容易卡殼。雖在網上能找到很多它的圖,但怎么看都不是自己想要的,干脆重畫了它的主要操作。

二:百萬注內核 | 處處扣細節 | 細胞血管

百萬漢字注解內核目的是要看清楚其毛細血管,細胞結構,等于在拿放大鏡看內核。內核并不神秘,帶著問題去源碼中找答案是很容易上癮的,你會發現很多文章對一些問題的解讀是錯誤的,或者說不深刻難以自圓其說,你會慢慢形成自己新的解讀,而新的解讀又會碰到新的問題,如此層層遞進,滾滾向前,拿著放大鏡根本不愿意放手。

因鴻蒙內核6W+代碼量,本身只有較少的注釋, 中文注解以不對原有代碼侵入為前提,源碼中所有英文部分都是原有注釋,所有中文部分都是中文版的注釋,同時為方便同步官方版本的更新,盡量不去增加代碼的行數,不破壞文件的結構,注釋多類似以下的方式:

  • 在重要模塊的.c/.h文件開始位置先對模塊功能做整體的介紹,例如異常接管模塊注解如圖所示:

    注解過程中查閱了很多的資料和書籍,在具體代碼處都附上了參考鏈接。

  • 繪制字符圖幫助理解模塊 ,例如 虛擬內存區域分布沒有圖很難理解。

  • 而函數級注解會詳細到重點行,甚至每一行, 例如申請互斥鎖的主體函數,不可謂不重要,而官方注釋僅有一行,如圖所示:

    注解創建了一些特殊記號,可直接搜索查看

    • 搜索 @note_pic 可查看繪制的全部字符圖
    • 搜索 @note_why 是尚未看明白的地方,有看明白的,請新建 Pull Request完善
    • 搜索 @note_thinking 是一些的思考和建議
    • 搜索 @note_#if0 是由第三方項目提供不在內核源碼中定義的極為重要結構體,為方便理解而添加的。
    • 搜索 @note_link 是網址鏈接,方便理解模塊信息,來源于官方文檔,百篇博客,外部鏈接
    • 搜索 @note_good 是給源碼點贊的地方

三:參考手冊 | Doxygen呈現 | 診斷

在中文加注版基礎上構建了參考手冊,如此可以看到毛細血管級的網絡圖,注解支持 doxygen 格式標準。

圖為內核main的調用關系直觀展現,如果沒有這張圖,光main一個函數就夠喝一壺。main本身是由匯編指令 bl main調用

可前往 >> 鴻蒙研究站 | 參考手冊 (http://doxygen.weharmonyos.com/index.html)體驗

圖為內核所有結構體索引,點擊可查看每個結構變量細節

可前往 >> 鴻蒙研究站 | 結構體索引 (http://doxygen.weharmonyos.com/classes.html)體驗。

四:百文說內核 | 抓住主脈絡 | 肌肉器官

百文相當于摸出內核的肌肉和器官系統,讓人開始豐滿有立體感,因是直接從注釋源碼起步,在加注釋過程中,每每有心得處就整理,慢慢形成了以下文章。內容立足源碼,常以生活場景打比方盡可能多的將內核知識點置入某種場景,具有畫面感,容易理解記憶。說別人能聽得懂的話很重要! 百篇博客絕不是百度教條式的在說一堆詰屈聱牙的概念,那沒什么意思。更希望讓內核變得栩栩如生,倍感親切。

與代碼需不斷debug一樣,文章內容會存在不少錯漏之處,請多包涵,但會反復修正,持續更新,在開發者論壇發布的內容文章名稱前面會有v**.xx 代表文章序號和修改的次數,精雕細琢,言簡意賅,力求打造精品內容。

基礎知識

開源鴻蒙內核源碼分析(雙向鏈表) | 誰是內核最重要結構體

開源鴻蒙內核源碼分析(內核概念) | 正在制作中 ...

開源鴻蒙內核源碼分析(源碼結構) | 正在制作中 ...

開源鴻蒙內核源碼分析(地址空間) | 正在制作中 ...

開源鴻蒙內核源碼分析(計時單位) | 內核如何看待時間

開源鴻蒙內核源碼分析(優雅的宏) | 編譯器也喜歡復制粘貼

開源鴻蒙內核源碼分析(鉤子框架) | 正在制作中 ...

開源鴻蒙內核源碼分析(位圖管理) | 一分錢被掰成八半使用

開源鴻蒙內核源碼分析(POSIX) | 操作系統界的話事人

開源鴻蒙內核源碼分析(main函數) | 正在制作中 ...

進程管理

開源鴻蒙內核源碼分析(調度故事) | 大郎,該喝藥了

開源鴻蒙內核源碼分析(進程控制塊) | 可憐天下父母心

開源鴻蒙內核源碼分析(進程空間) | 正在制作中 ...

開源鴻蒙內核源碼分析(線性區) | 人要有空間才能好好相處

開源鴻蒙內核源碼分析(紅黑樹) | 眾里尋他千百度

開源鴻蒙內核源碼分析(進程管理) | 家家有本難念的經

開源鴻蒙內核源碼分析(Fork進程) | 一次調用 兩次返回

開源鴻蒙內核源碼分析(進程回收) | 臨終托孤的短命娃

開源鴻蒙內核源碼分析(Shell編輯) | 兩個任務 三個階段

開源鴻蒙內核源碼分析(Shell解析) | 應用窺伺內核的窗口

任務管理

開源鴻蒙內核源碼分析(任務控制塊) | 內核最重要的概念

開源鴻蒙內核源碼分析(并發并行) | 如何搞清楚它倆區分

開源鴻蒙內核源碼分析(就緒隊列) | 美好的事物永遠值得等待

開源鴻蒙內核源碼分析(調度機制) | 公平是相對的

開源鴻蒙內核源碼分析(任務管理) | 如何管理任務池

開源鴻蒙內核源碼分析(用棧方式) | 誰來提供程序運行場地

開源鴻蒙內核源碼分析(軟件定時器) | 內核最高級任務竟是它

開源鴻蒙內核源碼分析(控制臺) | 一個讓很多人模糊的概念

開源鴻蒙內核源碼分析(遠程登錄) | 內核如何接待遠方的客人

開源鴻蒙內核源碼分析(協議棧) | 正在制作中 ...

內存管理

開源鴻蒙內核源碼分析(內存規則) | 內存管理到底在管什么

開源鴻蒙內核源碼分析(物理內存) | 真實的可不一定精彩

開源鴻蒙內核源碼分析(內存概念) | 正在制作中 ...

開源鴻蒙內核源碼分析(虛實映射) | 映射是偉大的發明

開源鴻蒙內核源碼分析(頁表管理) | 映射關系保存在哪

開源 鴻蒙內核源碼分析(靜態分配) | 很簡單的一位小朋友

開源鴻蒙內核源碼分析(TLFS算法) | 圖表解讀TLFS原理

開源鴻蒙內核源碼分析(內存池管理) | 如何高效切割合并內存塊

開源鴻蒙內核源碼分析(原子操作) | 誰在守護指令執行的完整性

開源鴻蒙內核源碼分析(圓整對齊) | 正在制作中 ...

通訊機制

開源鴻蒙內核源碼分析(通訊總覽) | 內核跟人一樣都喜歡八卦

開源鴻蒙內核源碼分析(自旋鎖) | 死等丈夫歸來的貞潔烈女

開源鴻蒙內核源碼分析(互斥鎖) | 有你沒她 相安無事

開源鴻蒙內核源碼分析(快鎖使用) | 用戶態負責快鎖邏輯

開源鴻蒙內核源碼分析(快鎖實現) | 內核態負責快鎖調度

開源鴻蒙內核源碼分析(讀寫鎖) | 內核如何實現多讀單寫

開源鴻蒙內核源碼分析(信號量) | 誰在解決任務間的同步

開源鴻蒙內核源碼分析(事件機制) | 多對多任務如何同步

開源鴻蒙內核源碼分析(信號生產) | 年過半百 活力十足

開源鴻蒙內核源碼分析(信號消費) | 誰讓CPU連續四次換棧運行

開源鴻蒙內核源碼分析(消息隊列) | 進程間如何異步傳遞大數據

開源鴻蒙內核源碼分析(消息封裝) | 剖析LiteIpc(上)進程通訊內容

開源鴻蒙內核源碼分析(消息映射) | 剖析LiteIpc(下)進程通訊機制

開源鴻蒙內核源碼分析(共享內存) | 進程間最快通訊方式

文件系統

開源鴻蒙內核源碼分析(文件概念) | 為什么說一切皆是文件

開源鴻蒙內核源碼分析(文件故事) | 用圖書管理說文件系統

開源鴻蒙內核源碼分析(索引節點) | 誰是文件系統最重要的概念

開源鴻蒙內核源碼分析(VFS) | 文件系統的話事人

開源鴻蒙內核源碼分析(文件句柄) | 你為什么叫句柄

開源鴻蒙內核源碼分析(根文件系統) | 誰先掛到/誰就是老大

開源鴻蒙內核源碼分析(掛載機制) | 隨根逐流不掉隊

開源鴻蒙內核源碼分析(管道文件) | 如何降低數據流動成本

開源鴻蒙內核源碼分析(文件映射) | 正在制作中 ...

開源 鴻蒙內核源碼分析(寫時拷貝) | 正在制作中 ...

硬件架構

開源鴻蒙內核源碼分析(芯片模式) | 回顧芯片行業各位大佬

開源鴻蒙內核源碼分析(ARM架構) | ARMv7 & Cortex(A|R|M)

開源鴻蒙內核源碼分析(指令集) | CICS PK RICS

開源鴻蒙內核源碼分析(協處理器) | CPU的好幫手

開源鴻蒙內核源碼分析(工作模式) | 正在制作中 ...

開源鴻蒙內核源碼分析(寄存器) | 世界被它們玩出了花

開源鴻蒙內核源碼分析(多核管理) | 并發真正的基礎

開源鴻蒙內核源碼分析(中斷概念) | 海公公的日常工作

開源鴻蒙內核源碼分析(中斷管理) | 沒中斷太可怕

內核匯編

開源鴻蒙內核源碼分析(編碼方式) | 機器指令是如何編碼的

開源鴻蒙內核源碼分析(匯編基礎) | CPU上班也要打卡

開源鴻蒙內核源碼分析(匯編傳參) | 如何傳遞復雜的參數

開源鴻蒙內核源碼分析(鏈接腳本) | 正在制作中 ...

開源鴻蒙內核源碼分析(內核啟動) | 正在制作中 ...

開源鴻蒙內核源碼分析(進程切換) | 正在制作中 ...

開源鴻蒙內核源碼分析(任務切換) | 看匯編如何切換任務

開源鴻蒙內核源碼分析(中斷切換) | 系統因中斷活力四射

開源鴻蒙內核源碼分析(異常接管) | 社會很單純 復雜的是人

開源鴻蒙內核源碼分析(缺頁中斷) | 正在制作中 ...

編譯運行

開源鴻蒙內核源碼分析(編譯過程) | 簡單案例說透中間過程

開源鴻蒙內核源碼分析(編譯構建) | 正在制作中 ...

開源鴻蒙內核源碼分析(ELF格式) | 應用程序入口并非main

開源鴻蒙內核源碼分析(ELF解析) | 敢忘了她姐倆你就不是銀

開源鴻蒙內核源碼分析(靜態鏈接) | 正在制作中 ...

開源鴻蒙內核源碼分析(重定位) | 正在制作中 ...

開源鴻蒙內核源碼分析(動態鏈接) | 正在制作中 ...

開源鴻蒙內核源碼分析(進程映像) | 程序是如何被加載運行的

開源鴻蒙內核源碼分析(應用啟動) | 正在制作中 ...

開源鴻蒙內核源碼分析(系統調用) | 開發者永遠的口頭禪

開源鴻蒙內核源碼分析(VDSO) | 正在制作中 ...

調測工具

開源鴻蒙內核源碼分析(模塊監控) | 正在制作中 ...

開源鴻蒙內核源碼分析(日志跟蹤) | 正在制作中 ...

開源鴻蒙內核源碼分析(系統安全) | 正在制作中 ...

開源鴻蒙內核源碼分析(測試用例) | 正在制作中 ...

鴻蒙論壇 | 干凈.營養.不盲從

鴻蒙論壇的鏈接如下:bbs.weharmonyos.com

搭個論壇貌似不合時宜, 但站長卻固執的認為它是技術人最好的溝通方式, 它不像群各種叨絮使人焦慮被逼的屏蔽它, 它更像個異性知己,懂你給你留足空間思考,從不擾亂你的生活,鴻蒙論壇會一直存在,并堅持自己的風格(干凈.營養.不盲從)。選擇 Discuz 是因為它太優秀, 一個沉淀了20年的開源平臺,被所謂的時代遺忘實在是太過可惜。哪天您得空了就去逛逛吧 , 它可能并沒有那么糟糕。

四大碼倉發布 | 源碼同步官方

內核注解同時在 gitee | github | coding | gitcode 發布:

gitee倉

https://gitee.com/weharmony/kernel_liteos_a_note


github倉

https://github.com/kuangyufei/kernel_liteos_a_note


codechina倉

https://codechina.csdn.net/kuangyufei/kernel_liteos_a_note


coding倉

https://weharmony.coding.net/public/harmony/kernel_liteos_a_note/git/files

注解與官方源碼按月保持同步。同步歷史如下:

2022/08/28 -- 完善測試用例

2022/07/18 -- 開機代碼微調

2022/06/03 -- 增加 jffs2 編譯選項

2022/05/09 -- 標準庫(musl , newlib) 目錄調整

2022/04/16 -- 任務調度模塊有很大更新

2022/03/23 -- 新增各CPU核自主管理中斷, 定時器模塊較大調整

2022/02/18 -- 官方無代碼更新, 只有測試用例的完善

2022/01/20 -- 同步官方代碼,本次官方對測試用例和MMU做了較大調整

2021/12/20 -- 增加LMS模塊,完善PM,Fat Cache

2021/11/12 -- 加入epoll支持,對shell模塊有較大調整,微調process,task,更正單詞拼寫錯誤

2021/10/21 -- 增加性能優化模塊perf,優化了文件映射模塊

2021/09/14 -- common,extended等幾個目錄結構和Makefile調整

2021/08/19 -- 各目錄增加了BUILD。gn文件,文件系統部分文件調整

2021/07/15 -- 改動不大,新增blackbox,hidumper,對一些宏規范化使用

2021/06/27 -- 對文件系統/設備驅動改動較大,目錄結構進行了重新整理

2021/06/08 -- 對編譯構建,任務,信號模塊有較大的改動

2021/05/28 -- 改動不大,主要針對一些錯誤單詞拼寫糾正

2021/05/13 -- 對系統調用,任務切換,信號處理,異常接管,文件管理,shell做了較大更新,代碼結構更清晰

2021/04/21 -- 官方優化了很多之前吐槽的地方,點贊

2020/09/16 -- 中文注解版起點

注解子系統倉庫

在給鴻蒙內核源碼加注過程中發現僅僅注解內核倉庫還不夠,因為它關聯了其他子系統,若對這些子系統不了解是很難完整的注解鴻蒙內核,所以也對這些關聯倉庫進行了部分注解,這些倉庫包括:

編譯構建子系統 | build_lite
https://gitee.com/weharmony/build_lite_note
協議棧 | lwip
https://gitee.com/weharmony/third_party_lwip
文件系統 | NuttX
https://gitee.com/weharmony/third_party_NuttX
標準庫 | musl
https://gitee.com/weharmony/third_party_musl
關于 zzz 目錄

中文加注版比官方版無新增文件,只多了一個zzz的目錄,里面放了一些加注所需文件,它與內核代碼無關,可以忽略它,取名zzz是為了排在最后,減少對原有代碼目錄級的侵入,zzz 的想法源于微信中名稱為AAA的那幫朋友,你的微信里應該也有他們熟悉的身影吧 :-)

/kernel/liteos_a
├── apps # 用戶態的init和shell應用程序
├── arch # 體系架構的目錄,如arm
│ └── arm # arm架構代碼
├── bsd # freebsd相關的驅動和適配層模塊代碼引入,例如USB
├── compat # 內核接口兼容性目錄
│ └── posix # posix相關接口
├── drivers # 內核驅動
│ └── char # 字符設備
│ ├── mem # 訪問物理IO設備驅動
│ ├── quickstart # 系統快速啟動接口目錄
│ ├── random # 隨機數設備驅動
│ └── video # framebuffer驅動框架
├── fs # 文件系統模塊,主要來源于NuttX開源項目
│ ├── fat # fat文件系統
│ ├── jffs2 # jffs2文件系統
│ ├── include # 對外暴露頭文件存放目錄
│ ├── nfs # nfs文件系統
│ ├── proc # proc文件系統
│ ├── ramfs # ramfs文件系統
│ └── vfs # vfs層
├── kernel # 進程、內存、IPC等模塊
│ ├── base # 基礎內核,包括調度、內存等模塊
│ ├── common # 內核通用組件
│ ├── extended # 擴展內核,包括動態加載、vdso、liteipc等模塊
│ ├── include # 對外暴露頭文件存放目錄
│ └── user # 加載init進程
├── lib # 內核的lib庫
├── net # 網絡模塊,主要來源于lwip開源項目
├── platform # 支持不同的芯片平臺代碼,如Hi3516DV300等
│ ├── hw # 時鐘與中斷相關邏輯代碼
│ ├── include # 對外暴露頭文件存放目錄
│ └── uart # 串口相關邏輯代碼
├── security # 安全特性相關的代碼,包括進程權限管理和虛擬id映射管理
├── syscall # 系統調用
├── testsuites # 單元測試用例
├── tools # 構建工具及相關配置和代碼
└── zzz # 中文注解版新增目錄
官方文檔 | 靜態站點呈現

研究鴻蒙需不斷的翻閱資料,吸取精華,其中官方文檔必不可少, 為更好的呈現 OpenHarmony開發文檔 , 特意做了靜態站點 >> 鴻蒙研究站 | 官方文檔 (https://weharmony.github.io/)來方便查閱官方資料,與官方資料保持同步更新。

左側導航欄,右邊索引區:


寫在最后

我們最近正帶著大家玩嗨OpenHarmony。如果你有用OpenHarmony開發的好玩的東東,或者有對OpenHarmony的深度技術剖析,想通過我們平臺讓更多的小伙伴知道和分享的,歡迎投稿,讓我們一起嗨起來!有點子,有想法,有Demo,立刻聯系我們:

合作郵箱:zzliang@atomsource.org



原文標題:開源鴻蒙內核源碼分析系列 | “內核”驅動 | 作者披露寫這個系列的動因

文章出處:【微信公眾號:開源技術服務中心】歡迎添加關注!文章轉載請注明出處。

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

    關注

    0

    文章

    389

    瀏覽量

    7992
  • OpenHarmony
    +關注

    關注

    25

    文章

    3747

    瀏覽量

    16594

原文標題:開源鴻蒙內核源碼分析系列 | “內核”驅動 | 作者披露寫這個系列的動因

文章出處:【微信號:開源技術服務中心,微信公眾號:共熵服務中心】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    rk3566-pwm內核驅動

    rk3566-pwm內核驅動
    發表于 01-05 09:18 ?0次下載

    關于驅動編譯進蜂鳥派內核時候遇到的問題

    內核源碼為: 編譯內核可以通過,但編譯驅動的時候無法生成.ko文件
    發表于 12-30 17:02

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核簡介

    學到本章節,大家應該對Linux操作系統都有了一定的了解,但可能還不知道我們拿到手的內核源碼都經歷了什么。linux有一個龐大的開源社區,每個人都可以向開源社區提交代碼。由于linux
    發表于 12-16 13:08

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核簡介

    學到本章節,大家應該對Linux操作系統都有了一定的了解,但可能還不知道我們拿到手的內核源碼都經歷了什么。linux有一個龐大的開源社區,每個人都可以向開源社區提交代碼。由于linux
    發表于 12-13 09:03

    linux驅動程序如何加載進內核

    在Linux系統中,驅動程序是內核與硬件設備之間的橋梁。它們允許內核與硬件設備進行通信,從而實現對硬件設備的控制和管理。 驅動程序的編寫 驅動
    的頭像 發表于 08-30 15:02 ?592次閱讀

    為了學習內核開發,大佬手搓了一個輕量級操作系統YiYiYa OS

    支持vfs,fat32文件格式 05 支持elf文件,ipc管道等 06 支持ahci、gpio、i2c、spi驅動等 系統移植教程 作者本人及團隊自制的開源掌機FunKey所采用的操作系統就是
    發表于 08-30 14:57

    NVIDIA全面轉向開源GPU內核模塊

    借助 R515 驅動程序,NVIDIA 于 2022 年 5 月發布了一套開源的 Linux GPU 內核模塊,該模塊采用雙許可證,即 GPL 和 MIT 許可。初始版本主要面向數據中心計算 GPU,而 GeForce 和工作站
    的頭像 發表于 07-25 09:56 ?532次閱讀
    NVIDIA全面轉向<b class='flag-5'>開源</b>GPU<b class='flag-5'>內核</b>模塊

    鴻蒙OpenHarmony南向/北向快速開發教程-迅為RK3568開發板

    優化開發流程-配置遠程訪問環境 P8_優化開發流程-編譯源碼和燒鏡像 P9_OpenHarmony源碼目錄介紹 P10_整體移植方案介紹 P11_編譯目標分析 P12_編譯框架基本概
    發表于 07-23 10:44

    英偉達將全面轉向開源GPU內核模塊

    英偉達公司近期宣布了一項重大決策,即全面轉向開源GPU內核模塊,并計劃最終以此取代閉源驅動程序。這一戰略轉變標志著英偉達在開源領域邁出了重要一步,旨在為用戶提供更強大、更全面的Linu
    的頭像 發表于 07-19 15:26 ?612次閱讀

    華為鴻蒙內核獲中國信通院自主成熟度A級認證

    在科技創新的浪潮中,華為再次以其卓越的自主研發能力引領行業前行。近日,中國信息通信研究院(簡稱“中國信通院”)官方公眾號宣布了一項重要成果:華為技術有限公司的鴻蒙內核成功通過了自主成熟度等級認證
    的頭像 發表于 07-03 14:32 ?731次閱讀

    歡創播報 華為宣布鴻蒙內核已超越Linux內核

    1 華為宣布鴻蒙內核已超越Linux內核 ? 6月21日,在華為開發者大會上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨立于安卓和iOS的
    的頭像 發表于 06-27 11:30 ?903次閱讀

    AOSP源碼定制-內核驅動編寫

    有時候為了分析一些殼的檢測,需要在內核層面對讀寫相關的操作進行監控,每次去修改對應的內核源碼編譯重刷過于耗時耗力,這里就來嘗試編寫一個內核
    的頭像 發表于 04-23 11:15 ?1416次閱讀
    AOSP<b class='flag-5'>源碼</b>定制-<b class='flag-5'>內核</b><b class='flag-5'>驅動</b>編寫

    eBPF動手實踐系列三:基于原生libbpf庫的eBPF編程改進方案簡析

    在上一篇文章《eBPF動手實踐系列二:構建基于純C語言的eBPF項目》中,我們初步實現了脫離內核源碼進行純C語言eBPF項目的構建。libbpf庫在早期和內核
    的頭像 發表于 03-19 14:19 ?914次閱讀
    eBPF動手實踐<b class='flag-5'>系列</b>三:基于原生libbpf庫的eBPF編程改進方案簡析

    兆易創新推出GD32F5系列Cortex-M33內核MCU

    兆易創新GigaDevice宣布,正式推出GD32F5系列高性能微控制器,該系列MCU基于Arm? Cortex?-M33內核,旨在滿足各類高要求應用場景的需求。
    的頭像 發表于 03-16 09:58 ?1322次閱讀

    鴻蒙內核源碼分析:Newlib C

    使用 Musl C 庫的時候,內核提供了基于 LOS_XXX 適配實現 pthread、mqeue、fs、semaphore、time 等模塊的 posix 接口(//kernel/liteos_m
    的頭像 發表于 02-18 15:41 ?798次閱讀
    <b class='flag-5'>鴻蒙</b>輕<b class='flag-5'>內核</b><b class='flag-5'>源碼</b><b class='flag-5'>分析</b>:Newlib C
    百家乐中的小路怎样| 帝王百家乐官网全讯网2| 百家乐经验之谈| 贵族国际娱乐城| 玩百家乐凤凰娱乐城| 百家乐官网赌博机吧| 电玩百家乐游戏机路单| 百家乐官网用什么平台| 二八杠的玩法| JJ百家乐官网的玩法技巧和规则 | 横峰县| 蓝盾百家乐具体玩法技巧| 百家乐官网大小桌布| 二八杠视频| 悍马百家乐官网的玩法技巧和规则| 新皇冠现金网| 百家乐博乐36bol在线| 任我赢百家乐官网自动投注系统 | 大发888线上娱乐百家乐| 立博百家乐官网的玩法技巧和规则| 明升备用| 百家乐暗红色桌布| 菲利宾百家乐官网现场| bet365体育在线注册| 百家乐的玩法和技巧| 百家乐官网博彩资讯论坛| 大发888娱乐城官网下载真钱| 网上百家乐优博| 百家乐官网游戏机出千| 大发888娱乐城大奖| 百家乐作弊内幕| 百家乐官网代理每周返佣| 游戏百家乐押金| 贵宾百家乐官网的玩法技巧和规则| 365在线投注| 百家乐管家| 玩百家乐技巧博客| 至尊百家乐官网20111110| 爱赢娱乐城开户| 澳门百家乐网上娱乐场开户注册| 娱乐网百家乐官网的玩法技巧和规则|