Linux內(nèi)核體系結(jié)構(gòu)(一)概覽

掃描二維碼
獲取更多精彩
嵌入式雜牌軍

編輯|追夢星空
公眾號|嵌入式雜牌軍
適應(yīng)與轉(zhuǎn)變是穩(wěn)步前進的另一種方式。
文 章 導(dǎo) 讀
今天給小伙伴們匯總下Linux內(nèi)核體系結(jié)構(gòu)相關(guān)的內(nèi)容,主要涉及它的內(nèi)核模式、內(nèi)核服務(wù)的流程、體系架構(gòu)組成、Linux內(nèi)核源碼目錄樹等內(nèi)容!
閱讀過程中有什么問題可以后臺交流哈,
!
1 引出Linux內(nèi)核
1)操作系統(tǒng)的組成
一個完整的操作系統(tǒng)主要由4部分組成。
① 硬件。
② 操作系統(tǒng)內(nèi)核。
③ 操作系統(tǒng)服務(wù)。
④ 用戶應(yīng)用程序。
2)Linux內(nèi)核的模式
操作系統(tǒng)內(nèi)核的結(jié)構(gòu)模式主要可分為整體式的單內(nèi)核模式和層次式的微內(nèi)核模式。
① 整體式的單內(nèi)核模式。
優(yōu)點:內(nèi)核代碼結(jié)構(gòu)緊湊、執(zhí)行速度快,開銷小。
缺點:層次結(jié)構(gòu)性不強,內(nèi)核復(fù)雜,可移植性差。
② 層次式的微內(nèi)核模式。
優(yōu)點:可移植性好。
缺點:開銷大。
單內(nèi)核采用函數(shù)調(diào)用實現(xiàn)模塊的相關(guān)合作,多內(nèi)核則使用函數(shù)間通信的方式。
3)單內(nèi)核系統(tǒng)提供服務(wù)的流程
單內(nèi)核模式的內(nèi)核可粗略分為三個層次:調(diào)用服務(wù)的主程序?qū)?/span>、執(zhí)行系統(tǒng)調(diào)用的服務(wù)層和支持系統(tǒng)調(diào)用的底層函數(shù)。
① 應(yīng)用主程序使用指定的參數(shù)值執(zhí)行系統(tǒng)調(diào)用指令(int 0x80),使 CPU 從用戶態(tài)切換到核心態(tài)。
② 操作系統(tǒng)根據(jù)具體的參數(shù)值調(diào)用特定的系統(tǒng)調(diào)用服務(wù)程序。
③ 服務(wù)程序則根據(jù)需要再底層的一些支持函數(shù)以完成特定的功能。
④ 在完成了應(yīng)用程序所要求的服務(wù)后,操作系統(tǒng)又從核心態(tài)切換回用戶態(tài)。
⑤ 返回到應(yīng)用程序中繼續(xù)執(zhí)行后面的指令。
2 Linux內(nèi)核系統(tǒng)結(jié)構(gòu)
1)Linux內(nèi)核的組成
Linux內(nèi)核主要由5個模塊構(gòu)成。

① 進程調(diào)度模塊。
進程調(diào)度模塊用來負責控制進程對CPU資源的使用。
② 內(nèi)存管理模塊。
內(nèi)存管理模塊用于確保所有進程能夠安全地共享機器主內(nèi)存區(qū)。
③ 文件系統(tǒng)模塊。
文件系統(tǒng)模塊用于支持對外部設(shè)備的驅(qū)動和存儲。
虛擬文件系統(tǒng)模塊通過向所有的外部存儲設(shè)備提供一個通用的文件接口,隱藏了各種硬件設(shè)備的不同細節(jié)。從而提供并支持與其它操作系統(tǒng)兼容的多種文件系統(tǒng)格式。
④ 進程間通信模塊。
進程間通信模塊子系統(tǒng)用于支持多種進程間的信息交換方式。
⑤ 網(wǎng)絡(luò)接口模塊。
網(wǎng)絡(luò)接口模塊提供對多種網(wǎng)絡(luò)通信標準的訪問并支持許多網(wǎng)絡(luò)硬件。
2)Linux內(nèi)核結(jié)構(gòu)框圖
主要可以分為三個層次用戶層、內(nèi)核層、硬件層。

3)Linux源碼結(jié)構(gòu)
進入到Linux內(nèi)核源碼目錄用命令tree -L 2查看的二級目錄樹如下,后面大致寫了下各個文件夾的作用,
。

今天就到這吧,希望對小伙伴有所幫助哈,喜歡的話歡迎轉(zhuǎn)發(fā)、點贊、分享、在看、轉(zhuǎn)載哈,
。
免責聲明:本文內(nèi)容源于網(wǎng)絡(luò)或技術(shù)手冊,版權(quán)歸原作者所有。如涉及侵權(quán)問題,請與我聯(lián)系刪除。
推薦一款Linux下好用的截圖工具shutter——shutter的安裝、配置與使用
