Linux內(nèi)核源代碼的閱讀和工具詳細(xì)介紹_第1頁
Linux內(nèi)核源代碼的閱讀和工具詳細(xì)介紹_第2頁
Linux內(nèi)核源代碼的閱讀和工具詳細(xì)介紹_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Linux內(nèi)核源代碼的閱讀和工具詳細(xì)介紹Linux內(nèi)核源代碼的閱讀和工具具體介紹Linux的內(nèi)核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統(tǒng)下,/usr/src/linux目錄下的東西就是內(nèi)核源代碼。另外還可以從互連網(wǎng)上下載,解壓縮后文件一般也都位于linux目錄下。內(nèi)核源代碼有很多版本,目前最新的版本是2.2.14。許多人對于閱讀Linux內(nèi)核有一種恐懼感,其實大可不必。當(dāng)然,象Linux內(nèi)核這樣大而復(fù)雜的系統(tǒng)代碼,閱讀起來確實有很多困難,但是也不象想象的那么高不可攀。只要有恒心,困難都是可以克服的。任何事情做起來都需要有方法和工具。正確的方法可以指導(dǎo)工作,良好的工具可以事半功

2、倍。對于Linux 內(nèi)核源代碼的閱讀也同樣如此。下面我就把自己閱讀內(nèi)核源代碼的一點經(jīng)驗介紹一下,最后介紹Window平臺下的一種閱讀工具。對于源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對于linux內(nèi)核源代碼來講,基本要求是: 操作系統(tǒng)的基本知識; 對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標(biāo)準(zhǔn)C的擴(kuò)展的知識的了解。另外在閱讀之前,還應(yīng)該知道Linux內(nèi)核源代碼的整體分布情況。我們知道現(xiàn)代的操作系統(tǒng)一般由進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動程序、網(wǎng)絡(luò)等組成。看一下Linux內(nèi)核源代碼就可看出,各個目錄大致對應(yīng)了這些方面。Linux內(nèi)核源代碼的組成如下(假設(shè)相

3、對于linux目錄):arch 這個子目錄包含了此核心源代碼所支持的硬件體系結(jié)構(gòu)相關(guān)的核心代碼。如對于X86平臺就是i386。include 這個目錄包括了核心的大多數(shù)include文件。另外對于每種支持的體系結(jié)構(gòu)分別有一個子目錄。init 此目錄包含核心啟動代碼。mm 此目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/*/mm目錄下,如對應(yīng)于X86的就是arch/i386/mm/fault.c 。drivers 系統(tǒng)中所有的設(shè)備驅(qū)動都位于此目錄中。它又進(jìn)一步劃分成幾類設(shè)備驅(qū)動,每一種也有對應(yīng)的子目錄,如聲卡的驅(qū)動對應(yīng)于drivers/sound。ipc 此目錄

4、包含了核心的進(jìn)程間通訊代碼。modules 此目錄包含已建好可動態(tài)加載的模塊。fs Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對應(yīng),如ext2文件系統(tǒng)對應(yīng)的就是ext2子目錄。kernel 主要核心代碼。同時與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/*/kernel目錄下。net 核心的網(wǎng)絡(luò)部分代碼。里面的每個子目錄對應(yīng)于網(wǎng)絡(luò)的一個方面。lib 此目錄包含了核心的庫代碼。與處理器結(jié)構(gòu)相關(guān)庫代碼被放在arch/*/lib/目錄下。在Mac OS中創(chuàng)建后臺進(jìn)程的源代碼后臺進(jìn)程就是Daemon,Daemon就是一個無界面的程序。另需要一個plist描述文件來描述這個daemon的path和參數(shù),將此文件放到/Library/LaunchAgents/下啟動deamon:launchctl load /Library/LaunchAgent/com.yourplist停止deamon:launchctl unload /Library

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論