閱讀791 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Linux內核剖析 之 Linux源代碼組成

Linux內核剖析 之 Linux源代碼組成

 

++++Linux:

          ++COPYING:有關公共許可證製度GPL的具體說明。

          ++READMELinux內核安裝和使用的簡要說明。

          ++Makefile:重構Linux內核可執行代碼的make文件。用來組織內核的各模塊,記錄了個模塊間的聯係和依托關係,編譯時使用;仔細閱讀各子目錄下的Makefile文件對弄清各個文件這間的聯係和依托關係很有幫助。

          ++CREDITS:光榮榜,對Linux做出過很大貢獻的一些人的信息。

          ++MAINTAINERS::維護人員列表,對當前版本的內核各部分都由誰負責。

          ++REPORTING-BUGS:有關報告Bug的一些內容。

          ++Documentation:有關Linux內核的文檔。

          ++ArchArchArchitecture的縮寫,內核中與具體CPU和係統相關的代碼放在下一層的目錄中,而.h文件分別放在include/asm中。

                     +AlphaDEC 64CPU

                    +i386:包括x86係列中自80386後的所有32CPU,也包括AMD K6等兼容係列。

                    +m68k:由Motorola開發的68000係列。

                    +MIPSRISC CPU芯片。

                    +SparcRISC CPU芯片(sun)。

                    +S390IBM生產的人工計算機。

                    +ia64Intel IA-64結構64CPU

                    ......

          說明:每個CPU子目錄又進一步分解為bootmmkernel等子目錄,分別包含與係統引導、內存管理、係統調用等底層代碼。

          ++Drivers:設備驅動程序,包括各類塊設備和字符設備的驅動程序。

          ++Fs:文件係統,每個子目錄分別對應一個特定的文件係統(VFS等)。

          ++Include:包含了所有.h文件,如Arch子樹一樣,在include中也是為各種CPU都專設一個子目錄,還有通用目錄Linuxnet等。

          ++InitLinux內核的main()和係統初始化過程,包含main.c等文件。

          ++IpcLinux內核的進程間通信,包括msg.c等文件。

          ++Kernel:進程管理和調度,包括sched.cfork.c等文件。

          ++Lib:通用的工具性子程序,如對出錯信息的處理等等。

          ++Mm:這個目錄包括所有獨立於CPU體係結構的內存管理代碼,如頁式存儲管理內存的分配和釋放等;而和體係結構相關的內存管理代碼則位於arch/*/mm/,例如arch/i386/mm/fault.c

          ++Net:核心與網絡相關的代碼。包含各種不同的網卡和網絡規程的驅動程序。

          ++Scripts:用於係統配置的命令文件。

 

最後更新:2017-04-03 05:39:30

  上一篇:go 負載均衡
  下一篇:go HTML語言中TR、TH和TD有什麼區別?