linux內核目錄結構

內核版本:2.6.32-504.el6.x86_64算法

內核目錄:編程

各個目錄的內容:網絡

arch:包含全部與系統結構相關的代碼app

       |--x86  /*英特爾cpu及與之相兼容體系結構的子目錄*/函數

  |  |--boot   /*引導程序*/工具

  |  |  |--compressed   /*內核解壓縮*/ui

  |  |--tools   /*生成壓縮內核映象的程序*/加密

  |  |--kernel   /*相關內核特性實現的方式,如信號處理、時鐘處理*/操作系統

  |  |  |--lib   /*硬件相關工具函數*/blog

block:塊設備驅動

crypto:內核自己所用的加密API,實現了經常使用的加密和散列算法

drivers:驅動代碼,驅動是一個控制硬件的軟件,是內核中最龐大的一個目錄。例如顯卡、網卡、SCSI適配器,PCI總線、USB總線和其餘任何Linux支持的外圍設備或總線的驅動程序均可以在這找到

firmware:包含了讓計算機讀取和理解從設備發來的信號的代碼

fs:虛擬文件系統(VFS)的代碼,和各個不一樣文件系統的代碼都在這個目錄中

  |  |--devpts  /* /dev/pts虛擬文件系統 */

  |  |--ext2  /* 第二擴展文件系統 */

  |  |--fat /* MS的fat32文件系統 */

  |  |--isofs  /* ISO9660光盤cd-rom上的文件系統 */

include:包含內核中大部分的頭文件,要修改處理器結構只需編輯核心的Makefile並從新運行Linux核心配置程序

init:內核的初始代碼,包括main.c,建立早期用戶空間的代碼及其餘的初始代碼

ipc:IPC進程間通訊,包含了共享內存、信號量及其形式的IPC代碼

kernel:內核中最核心部分,包括進城的調度以及進程的建立和撤銷(fork.c和exit.c)和平臺相關的另外一部分核心代碼在arch和kernel目錄下

mm:包含了與體系無關的部份內存管理代碼

net:核心的網絡部分代碼

  |  |--appletalk   /* 與蘋果系統連網的協議 */

  |  |--802  /* 802無線通信協議核心支持代碼 */

  |  |--ax25  /* AX25無線INTERNET協議 */

  |  |--bridge  /* 橋接設備 */

  |  |--ipv4  /* IP協議族V4版32位尋址模式 */

  |  |--ipv6  /* IP協議族V6版 */

samples:一些內核編程的範例

script:無內核代碼,只包含了用來配置內核的腳本文件,當運行make menuconfig或者mak xconfig之類的命令配置內核時,用戶就是和位於這個目錄的腳本進行交互的

security:主要是一個SELinux的模塊

sound:聲卡驅動以及其餘聲音相關的源碼

tool:這個文件夾中包含了和內核交互的工具

usr:實現用於打包和壓縮的GZIP等,其中的代碼在內核編譯完成後建立這個文件

virt:包含虛擬代碼,他容許用戶一次運行多個操做系統

Makefile:這個腳本是編譯內核的主要文件

Kbuild:設置一些內核設定的腳本

CPOYING:許可和受權信息

相關文章
相關標籤/搜索