【lLinux驱动】linux内核源码目录结构
生活随笔
收集整理的這篇文章主要介紹了
【lLinux驱动】linux内核源码目录结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
linux內核源碼目錄結構
代碼目錄結構?
在閱讀源碼之前,還應知道Linux內核源碼的整體分布情況。現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序和網絡等組成。Linux內核源碼的各個目錄大致與此相對應,其組成如下(假設相對于Linux-2.4.23目錄):?
arch目錄包括了所有和體系結構相關的核心代碼。它下面的每一個子目錄都代表一種Linux支持的體系結構,例如i386就是Intel CPU及與之相兼容體系結構的子目錄。PC機一般都基于此目錄。?
include目錄包括編譯核心所需要的大部分頭文件,例如與平臺無關的頭文件在include/linux子目錄下。?
init目錄包含核心的初始化代碼(不是系統的引導代碼),有main.c和Version.c兩個文件。這是研究核心如何工作的好起點。?
mm目錄包含了所有的內存管理代碼。與具體硬件體系結構相關的內存管理代碼位于arch/*/mm目錄下。?
drivers目錄中是系統中所有的設備驅動程序。它又進一步劃分成幾類設備驅動,每一種有對應的子目錄,如聲卡的驅動對應于drivers/sound。?
ipc目錄包含了核心進程間的通信代碼。?
modules目錄存放了已建好的、可動態加載的模塊。?
fs目錄存放Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext3文件系統對應的就是ext3子目錄。?
Kernel內核管理的核心代碼放在這里。同時與處理器結構相關代碼都放在arch/*/kernel目錄下。?
net目錄里是核心的網絡部分代碼,其每個子目錄對應于網絡的一個方面。?
lib目錄包含了核心的庫代碼,不過與處理器結構相關的庫代碼被放在arch/*/lib/目錄下。?
scripts目錄包含用于配置核心的腳本文件。?
documentation目錄下是一些文檔,是對每個目錄作用的具體說明。?
一般在每個目錄下都有一個Makefile文件。這兩個文件都是編譯時使用的輔助文件。仔細閱讀這兩個文件對弄清各個文件之間的聯系和依托關系很有幫助。另外有的目錄下還有Readme文件,它是對該目錄下文件的一些說明,同樣有利于對內核源碼的理解。
在閱讀源碼之前,還應知道Linux內核源碼的整體分布情況。現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序和網絡等組成。Linux內核源碼的各個目錄大致與此相對應,其組成如下(假設相對于Linux-2.4.23目錄):?
arch目錄包括了所有和體系結構相關的核心代碼。它下面的每一個子目錄都代表一種Linux支持的體系結構,例如i386就是Intel CPU及與之相兼容體系結構的子目錄。PC機一般都基于此目錄。?
include目錄包括編譯核心所需要的大部分頭文件,例如與平臺無關的頭文件在include/linux子目錄下。?
init目錄包含核心的初始化代碼(不是系統的引導代碼),有main.c和Version.c兩個文件。這是研究核心如何工作的好起點。?
mm目錄包含了所有的內存管理代碼。與具體硬件體系結構相關的內存管理代碼位于arch/*/mm目錄下。?
drivers目錄中是系統中所有的設備驅動程序。它又進一步劃分成幾類設備驅動,每一種有對應的子目錄,如聲卡的驅動對應于drivers/sound。?
ipc目錄包含了核心進程間的通信代碼。?
modules目錄存放了已建好的、可動態加載的模塊。?
fs目錄存放Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext3文件系統對應的就是ext3子目錄。?
Kernel內核管理的核心代碼放在這里。同時與處理器結構相關代碼都放在arch/*/kernel目錄下。?
net目錄里是核心的網絡部分代碼,其每個子目錄對應于網絡的一個方面。?
lib目錄包含了核心的庫代碼,不過與處理器結構相關的庫代碼被放在arch/*/lib/目錄下。?
scripts目錄包含用于配置核心的腳本文件。?
documentation目錄下是一些文檔,是對每個目錄作用的具體說明。?
一般在每個目錄下都有一個Makefile文件。這兩個文件都是編譯時使用的輔助文件。仔細閱讀這兩個文件對弄清各個文件之間的聯系和依托關系很有幫助。另外有的目錄下還有Readme文件,它是對該目錄下文件的一些說明,同樣有利于對內核源碼的理解。
總結
以上是生活随笔為你收集整理的【lLinux驱动】linux内核源码目录结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【物联网】OpenWrt编译出现Unab
- 下一篇: linux 其他常用命令