./include├──arch//存放特定平台的晶元對linux核心程序排程、記憶體管理、中斷等支援;基於架構的具體實現,都應該在該目錄下尋找
├──block//塊裝置驅動程式i/o排程
├── certs //證書
├── credits
├── crypto //常用加密演算法(非對稱加密演算法rsa、對稱加密演算法aes)、雜湊演算法(又稱hash演算法、訊息摘要演算法,md5、sha)、hmac(hash message authenticate code)、種子演算法、crc校驗演算法
├──documentation //核心各部分的通用解釋和注釋
├──drivers //裝置驅動程式;每個不同的驅動占用乙個子目錄
├── firmware
├──fs //所支援的各種檔案系統
├──include//核心api級別標頭檔案,與系統相關的標頭檔案放置在include/linux子目錄下
├──init//核心初始化**,著名的start_kernel()就位於init/main.c檔案中
├── ipc //程序間通訊
├──kernel//核心最核心的部分,包括程序排程、定時器等,和體系架構相關的一部分**放在arch/*/kernel
目錄下
├──lib //包含公用函式庫;核心程式設計中用到的紅黑樹、字串相關操作等
├── maintainers //上核心patch須知
├──mm //memory management;記憶體管理**,和體系架構相關的一部分**放在arch/*/mm目錄下
├──net //網路相關**,實現各種常見的網路協議
├── readme
├── samples
├──scripts //配置核心的指令碼檔案;格式檢查、make menuconfig等;
├── security //安全相關。selinux
├── sound //alsa、oss音訊裝置的驅動核心**和常用裝置驅動
├──tools
├── usr //實現用於打包和壓縮的cpio等
└── virt //kvm
核心的通用部分(如kernel、fs、ipc、net等)則與具體的硬體(arch和drivers)剝離。
include/├── acpi
├── asm-generic //各體系架構通用
├── clocksource //時鐘源
├── crypto //加密
├──drm//圖形渲染架構(direct render manager) ;顯示卡驅動的一種架構;最基本的功能就是把使用者的繪圖輸出到顯示屏上
├── dt-bindings //
├──keys /加密
├── kvm
├── linux //核心api,驅動檔案中新增標頭檔案
├── media //多**,v4l2
├── memory
├── microvisor
├── misc
├──net //網路
├── ras
├── rdma
├── scsi
├──soc
├──sound
├── target
├── trace
│ ├── define_trace.h
│ ├── events
│ ├── perf.h
│ ├── syscall.h
│ └── trace_events.h
├── uapi //解決標頭檔案include recursive問題
│ ├── asm-generic
│ ├── drm
│ ├── linux
│ ├── media
│ ├── misc
│ ├── mtd
│ ├── rdma
│ ├── scsi
│ ├── sound
│ ├── video
│ └── xen
├──video
├── vservices
│ ├── buffer.h
│ ├── ioctl.h
│ ├── kbuild
│ ├── protocol
│ ├── service.h
│ ├── session.h
│ ├── transport.h
│ ├── types.h
│ └── wait.h
└── xen
├── acpi.h
├── arm
├── balloon.h
├── events.h
├── features.h
├── grant_table.h
├── hvc-console.h
├── hvm.h
├── inte***ce
├── page.h
├── platform_pci.h
├── swiotlb-xen.h
├── tmem.h
├── xenbus_dev.h
├── xenbus.h
├── xen.h
└── xen-ops.h
linux核心目錄結構
分類 嵌入式 l arch目錄 arch 是architecture 的縮寫。核心所支援的每種 cpu體系,在該目錄下都有對應的子目錄。每個 cpu的子目錄,又進一步分解為 boot,mm,kernel 等子目錄,分別包含控制系統引導,記憶體管理,系統呼叫等。x86 英特爾 cpu及與之相相容體系結...
分析核心目錄
注 為學習朱有鵬課程的筆記 在根目錄裡kbuild kernel build核心編譯 arch目錄裡是不同架構的cpu block表示塊裝置,以扇區等進行整體訪問 不是以位元組進行訪問 幾乎可以認為塊裝置就是儲存裝置,外存 crypto裡面放了加密演算法的實現crc32 md5 init核心初始化 ...
2 Linux核心目錄概述
arch目錄表示核心所支援的處理器架構,如經典的arm x86,在編譯核心時要指定arch arm 此資料夾包含塊裝置驅動程式的 該目錄用於實現塊裝置的基本框架和塊裝置的i o排程演算法。塊裝置是以資料塊方式接收和傳送的資料的裝置。資料塊都是一塊一塊的資料而不是持續的資料流。這個資料夾包含許多加密演...