當前位置:首頁 » 操作系統 » 查看內核源碼

查看內核源碼

發布時間: 2023-08-07 01:45:09

『壹』 怎麼看linux內核源碼

一定要結合書本,在明白了原理的基礎上去看,推薦《linux內核源代碼情景分析》
而且我建議不要所有都看,而是看一些核心代碼就行了,如進程調度、內存管理等代碼。
如果你有專業需要,可以看一些緊相關如協議棧方面的代碼。

『貳』 怎麼樣把linux內核源代碼放到insight course 查看

你可以到參考資料的鏈接去看,裡面有詳細的操作步驟。下面是一部分摘錄。
由 於Source Insight實質上是一個支持多種開發語言(java,c ,c++等等)的編輯器,只不過由於其查找、定位、彩色顯示等功能的強大,而被我們當成源代碼閱讀工具使用。所以,為了有效的閱讀源程序,首先必須選擇功 能菜單上的 「Project」選項的子菜單「New Project」新建一個項目,項目名稱可以自由選定。設定之後,將會彈出一個對話框如圖2,接受默認選擇,如果,硬碟空間足夠,可以將第一個復選框選上,該選項將會 需要與源代碼大致同等的空間來建立一個本地資料庫以加快查找的速度。
點 擊「OK」按鈕,接受選擇後,將會有一個新的對話框彈出,在這個對話框里,可以選擇將要閱讀的文件加入工程,一種方式是通過在File Name中輸入要閱讀源代碼文件的名稱,點擊「Add」按鈕將其加入,也可以通過其中「Add All」和「Add Tree」兩個按鈕可以將選中目錄的所有文件加入到工程中,其中「Add All」選項會提示加入頂層文件和遞歸加入所有文件兩種方式,而「Add Tree」相當於「Add All」選項的遞歸加入所有文件,可以根據需要使用,就我來說,更喜歡「Add Tree」一些。由於該程序採用了部分打開文件的方式,沒有用到的文件不會打開,所以,加入數千個文件也不用擔心加入的文件超出程序的所能容忍的最大值, 我就是採用「Add Tree」的方式將Linux2.4內核的四千五百九十一個文件加入的。
加入文件後,點擊一個文件,可以出現使用界面,其中,右邊的那個窗口(Linux Project,即工程窗口)預設按照字母順序列出當前工程中所有的文件。
點 擊一個文件就可以打開該文件,進入到右邊的那個窗口分別可以以文件列表的方式,列出所有的文件,每個窗體下邊有一排按鈕,左邊的窗口 (21142.c)從左至右分別為:按字母順序排列所有標記、按照文件中行數順序排列標記、按照類型排列標記、瀏覽本地文件標記、標記窗口屬性。右邊的窗 口(Linux Project)從左至右分別為:按字母順序文件列表、顯示文件夾、按照文件類型歸類文件、全部文件的所有標記列表、按照標記類型歸類標記、跳轉到定義 處、顯示標記信息、瀏覽工程標記、查找函數調用、工程屬性,其中全部文件的所有標記列表選項可能要一段時間抽取標記,同步到資料庫去,如果開始選擇了建立 標記資料庫,將會在今後節省同步時間,最有用的莫過於瀏覽標記信息和查找函數調用,前者可以通過「Jump」按鈕在不同的地方查找同樣的標志,還可以通過 「Reference」按鈕結合後者進行全局的標記查找。

『叄』 如何查看 linux 內核源代碼

Linux的內核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是內核源代碼。

對於源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對於linux內核源代碼來講,我認為,基本要求是:1、操作系統的基本知識;2、對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標准C的擴展的知識的了解。另外在閱讀之前,還應該知道Linux內核源代碼的整體分布情況。我們知道現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序、網路等組成。看一下Linux內核源代碼就可看出,各個目錄大致對應了這些方面。Linux內核源代碼的組成如下(假設相對於linux目錄):

arch 這個子目錄包含了此核心源代碼所支持的硬體體系結構相關的核心代碼。如對於X86平台就是i386。

include 這個目錄包括了核心的大多數include文件。另外對於每種支持的體系結構分別有一個子目錄。

init 此目錄包含核心啟動代碼。

mm 此目錄包含了所有的內存管理代碼。與具體硬體體系結構相關的內存管理代碼位於arch/*/mm目錄下,如對應於X86的就是arch/i386/mm/fault.c 。

drivers 系統中所有的設備驅動都位於此目錄中。它又進一步劃分成幾類設備驅動,每一種也有對應的子目錄,如音效卡的驅動對應於drivers/sound。

ipc 此目錄包含了核心的進程間通訊代碼。

moles 此目錄包含已建好可動態載入的模塊。

fs Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext2文件系統對應的就是ext2子目錄。

kernel 主要核心代碼。同時與處理器結構相關代碼都放在arch/*/kernel目錄下。

net 核心的網路部分代碼。裡面的每個子目錄對應於網路的一個方面。

lib 此目錄包含了核心的庫代碼。與處理器結構相關庫代碼被放在arch/*/lib/目錄下。

scripts此目錄包含用於配置核心的腳本文件。

Documentation 此目錄是一些文檔,起參考作用。

俗話說:「工欲善其事,必先利其器」。 閱讀象Linux核心代碼這樣的復雜程序令人望而生畏。它象一個越滾越大的雪球,閱讀核心某個部分經常要用到好幾個其他的相關文件,不久你將會忘記你原來在干什麼。所以沒有一個好的工具是不行的。由於大部分愛好者對於Window平台比較熟悉,並且還是常用Window系列平台,所以在此我介紹一個Window下的一個工具軟體:Source Insight。這是一個有30天免費期的軟體,可以從www.sourcedyn.com下載。安裝非常簡單,和別的安裝一樣,雙擊安裝文件名,然後按提示進行就可以了。安裝完成後,就可啟動該程序。這個軟體使用起來非常簡單,是一個閱讀源代碼的好工具。它的使用簡單介紹如下:先選擇Project菜單下的new,新建一個工程,輸入工程名,接著要求你把欲讀的源代碼加入(可以整個目錄加)後,該軟體就分析你所加的源代碼。分析完後,就可以進行閱讀了。對於打開的閱讀文件,如果想看某一變數的定義,先把游標定位於該變數,然後點擊工具條上的相應選項,該變數的定義就顯示出來。對於函數的定義與實現也可以同樣操作。別的功能在這里就不說了,有興趣的朋友可以裝一個Source Insight,那樣你閱讀源代碼的效率會有很大提高的。怎麼樣,試試吧!

『肆』 linux下怎樣用ctags查看內核源碼

ctags(Generate tag files for source code)是vim下方便代碼閱讀的工具。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可以幫助程序員很容易地瀏覽源代碼。
ctags能夠定位如下內容:

1)用#define定義的宏
2)枚舉型變數的值
3)函數的定義、原型和聲明
4)名字空間(namespace)
5)類型定義(typedefs)
6)變數(包括定義和聲明)
7)類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
8)類、結構和聯合中成員變數或函數

安裝ctags,如果是RedHat,則直接使用yum命令安裝:在指定的源碼位置生成tags文件,並且我們添加很多參數來完善ctags的功能(為了體現其功能的強大,我用它來生成linux源碼的tags文件):
然後我們查看tags內容就可以發現,原來tags就是linux內核代碼中各個元素的索引,這也就是ctags結合vim可以快速進行定位的原因了(查詢就是通過這個文件內容來定位的):

熱點內容
米思齊編譯失敗怎麼看 發布:2025-03-12 19:26:27 瀏覽:848
sql語句notexists 發布:2025-03-12 19:16:11 瀏覽:60
快手安卓版如何玩 發布:2025-03-12 19:15:26 瀏覽:36
scott資料庫 發布:2025-03-12 19:15:19 瀏覽:873
rom伺服器是什麼 發布:2025-03-12 19:10:27 瀏覽:62
我給你改個密碼叫什麼 發布:2025-03-12 19:09:32 瀏覽:674
寬頻密碼在手機上如何更改 發布:2025-03-12 19:07:52 瀏覽:116
python離線安裝pip 發布:2025-03-12 19:06:18 瀏覽:29
超時代加密視頻破解 發布:2025-03-12 19:03:10 瀏覽:96
伺服器怎麼做游戲 發布:2025-03-12 18:57:30 瀏覽:616