下載本文檔
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)械行業(yè)促銷計劃總結(jié)
- 健康行業(yè)采購工作總結(jié)
- 重要工程安保工作的系統(tǒng)總結(jié)計劃
- 科技產(chǎn)品設(shè)計師的智能體驗與科技感
- 水務(wù)文化建設(shè)的探索計劃
- 中小學(xué)了解學(xué)習(xí)歷史英雄人物故事主題班會:紅色人物1
- 2023年云南省臨滄市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年浙江省舟山市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年山西省忻州市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年浙江省麗水市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 新零售智慧零售門店解決方案
- 小學(xué)一年級數(shù)學(xué)20以內(nèi)的口算題(可直接打印A4)
- 上海黃浦區(qū)2025屆物理高一第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 肺結(jié)核課件教學(xué)課件
- 新生兒心臟病護(hù)理查房
- 規(guī)劃設(shè)計行業(yè)數(shù)字化轉(zhuǎn)型趨勢
- 2024年廣告代理合同的廣告投放范圍與分成比例
- 物業(yè)年終總結(jié)匯報工作
- 2024-2025學(xué)年上學(xué)期期中教育學(xué)業(yè)質(zhì)量監(jiān)測八年級生物學(xué)試卷
- 醫(yī)院住院病歷質(zhì)量檢查評分表(評分標(biāo)準(zhǔn))
- 員工安全記分管理實施細(xì)則
評論
0/150
提交評論