2010年6月20日 星期日

Linux source code 目錄樹結構


Linux用來支持各種體系結構的源代碼包含大約4500個C語言程序,存放在270個左右的子目錄下,總共大約包含200萬行代碼,大概佔用58MB磁 盤空間。

源代碼所有在目錄:/usr/src/linux (大部分linux發行版本中)

init 內核初始化代碼
kernel 內核核心部分:進程、定時、程序執行、信號、模塊。 。 。
mm 內存處理
arch 平台相關代碼
    i386 IBM的PC體系結構
       kernel 內核核心部分
       mm 內存管理
       math-emu 浮點單元軟件仿真
       lib 硬件相關工具函數
       boot 引導程序
          compressed 壓縮內核處理
          tools 生成壓縮內核映像的程序
    alpha 康柏的Alpha體系結構
    s390 IBM的System/390體系結構
    sparc Sun的SPARC體系結構
   sparc64 Sun的Ultra-SPARC體系結構
    mips SGI的MIPS體系結構
    ppc Motorola-IBM的基於PowerPC的體系結構
    m68k Motorola的基於MC680x0的體系結構
    arm 基於ARM處理器的體系結構
fs 文件系統
    proc /proc虛擬文件系統
    devpts /dev/pts虛擬文件系統
    ext2 Linux本地的Ext2文件系統
    isofs ISO9660文件系統(CD-ROM)
    nfs 網絡文件系統(NFS)
    nfsd 集成的網絡文件系統服務器
    fat 基於FAT的文件系統的通用代碼
    msdos 微軟的MS-DOS文件系統
    vfat 微軟的Windows文件系統(VFAT)
    nls 本地語言支持
    ntfs 微軟的Windows NT文件系統
    smbfs 微軟的Windows服務器消息塊(SMB)文件系統
    umsdos UMSDOS文件系統
    minix MINIX文件系統
    hpfs IBM的OS/2文件系統
    sysv SystemV、SCO、Xenix、Coherent和Version7文件系統
    ncpfs Novell的Netware核心協議(NCP0
    ufs UnixBSD、SunOs、FreeBSD、NetBSD、OpenBSD和NeXTStep文件系統
    affs Amiga的快速文件系統(FFS)
    coda Coda網絡文件系統
    hfs 蘋果的Macintosh文件系統
    adfs Acorn磁盤填充文件系統
    efs SGI IRIX的EFS文件系統
    qnx4 QNX4 OS使用不的文件系統
    romfs 只讀小文件系統
    autofs 目錄自動裝載程序的支持
    lockd 遠程文件鎖定的支持
Net 網絡代碼
Ipc System V的進程間通信
Drivers 設備驅動程序
    block 塊設備驅動程序
       paride 從並口訪問IDE設備的支持
    scsi SCSI設備驅動程序
    char 字符設備驅動程序
       joystick 遊戲桿
       ftape 磁帶流設備
       hfmodem 無線電設備
       ip2 IntelliPort的多端口串行控制器
    net 網卡設備
    sound 音頻卡設備
    video 視頻卡設備
    cdrom 專用CD-ROM設備(除ATAPI和SCSI之外)
    isd0n ISDN設備
    apl000 富士的AP1000設備
    macintosh 蘋果的Macintosh設備
    sgi SGI的設備
    fc4 光纖設備
    acorn Acorn的設備
    misc 雜項設備
    pnp 即插即用的支持
    usb 通用串行總線(USB)的支持
    pci PCI總線的支持
    sbus Sun的SPARC SBus的支持
    nubus 蘋果的Macintosh Nubus的支持
    zorro Amiga的Zorro總線的支持
    dio 惠普的HP300 DIO總線的支持
    tc Sun的TurboChannel支持(尚未完成)
Lib 通用內核函數
Include 頭文件(.h)
    linux 內核核心部分
       lockd 遠程文件加鎖
       nfsd 集成的網絡文件服務器
       sunrpc Sun的遠程過程調用
       byteorder 字節交換函數
       modules 模塊支持
    asm-generic 平台無關低級頭文件
    asm-i386 IBM的PC體系結構
    asm-alpha 康柏的Alpha體系結構
    asm-mips SGI的MIPS體系結構
    asm-m68k Motorola-IBM的基於PowerPC的體系結構
    asm-ppc Motorola-IBM的PowerPC體系結構
    asm-s390 IBM的System/390體系結構
    asm-sparc Sun的SPARC體系結構
    asm-sparc64 Sun的Ultra-SPARC體系結構
    asm-arm 基於ARM處理器的體系結構
    net 網絡
    scsi SCSI支持
    video 視頻卡支持
    config 定義內核配置的宏所在的頭文件
scripts 生成內核映像的外部程序
Documentation有關內核各個部分的通用解釋和註釋的文本文件

參考資料:《UNDERSTANDING THE LINUX KERNEL》 DANIEL P.BOVET & MARCO CESATI 著  (by huihoo.com Allen)

沒有留言:

張貼留言

How to use simple speedtest in RaspberryPi CLI

  pi@ChunchaiRPI2:/tmp $  wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --2023-06-26 10:4...