Linux核心目錄結構

2021-10-11 12:45:29 字數 3372 閱讀 3443

.

├──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

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排程演算法。塊裝置是以資料塊方式接收和傳送的資料的裝置。資料塊都是一塊一塊的資料而不是持續的資料流。這個資料夾包含許多加密演...