日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核源码树

發布時間:2023/12/10 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核源码树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux內核源碼樹掃盲分析

sudo apt-get install tree //下載tree tree //輸入指令(該指令可以檢查第三方工具包里的內容是否完整)

可以看到如圖的樹狀結構:


linux內核源碼:
為什么內核大約1.3w個c文件,1100w行代碼?
linux是一個開源的,支持多架構多平臺代碼,可移植性非常高。但是linux內核編譯出來一般就若干M,因為支持多平臺,多架構,所以編譯之前要配置,配置成適合目標平臺來用。代碼編譯出來是給一個平臺一個架構來用的,很多代碼是不參與編譯的。

例如支持:
ARM架構:
比如以下平臺:
?????? ?海思 ,友善之臂 ,RK ,樹莓派, nanopi

X86架構

PowerPc架構
Mips架構
后兩個架構現在占得市場份額較小。

Linux內核源代碼目錄樹結構

arch(和架構相關):包含和硬件體系結構相關的代碼,每種平臺占一個相應的目錄。和32位PC相關的代碼存放在i386目錄下,其中比較重要的包括kernel(內核核心部分)、mm(內存管理)、math-emu(浮點單元仿真)、lib(硬件相關工具函數)、boot(引導程序)、pci(PCI總線)和power(CPU相關狀態)。

block:部分塊設備驅動程序。

crypto:常用加密和散列算法(如AES、SHA等),還有一些壓縮和CRC校驗算法。

Documentation:關于內核各部分的通用解釋和注釋。

drivers:設備驅動程序,每個不同的驅動占用一個子目錄。

fs:各種支持的文件系統,如ext、fat、ntfs等。

include:頭文件。其中,和系統相關的頭文件被放置在linux子目錄下。

init:內核初始化代碼(注意不是系統引導代碼)。

ipc:進程間通信的代碼。

kernel:內核的最核心部分,包括進程調度、定時器等,和平臺相關的一部分代碼放在arch/*/kernel目錄下。

lib:庫文件代碼。

mm:內存管理代碼,和平臺相關的一部分代碼放在arch/*/mm目錄下。

net:網絡相關代碼,實現了各種常見的網絡協議。

scripts:用于配置內核文件的腳本文件。

security:主要是一個SELinux的模塊。

sound:常用音頻設備的驅動程序等。

usr:實現了一個cpio。

在i386體系下,系統引導將從arch/i386/kernel/head.s開始執行,并進而轉移到init/main.c中的main()函數初始化內核。

參考博客:
https://www.cnblogs.com/senior-engineer/p/4929703.html

總結

以上是生活随笔為你收集整理的linux内核源码树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。