linux內核模塊編寫及運行 如何查看linux內核源代碼?
如何查看linux內核源代碼?象在Linux系統中的/usr/src/linux*.*.*(*.*.*華指的是內核版本,如2.4.23)目錄下就是內核源代碼(假如還沒有帶有目錄,是只不過還沒有安裝內核
如何查看linux內核源代碼?
象在Linux系統中的/usr/src/linux*.*.*(*.*.*華指的是內核版本,如2.4.23)目錄下就是內核源代碼(假如還沒有帶有目錄,是只不過還沒有安裝內核代碼)。另還可從互連網上免費下載。注意一點,千萬不能總到去上網下載,好是可以使用它的鏡像站點去下載。請在里找個比較合適的下載點,再到pub/linux/kernel/v2.6/目錄下去上網下載2.4.23內核。
代碼目錄結構
在閱讀理解源碼之前,還應明白Linux內核源碼的整體分布情況。古代和現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序和網絡等分成。Linux內核源碼的各個目錄大概情況與此相按,其組成不勝感激(舉例相對而言Linux-2.4.23目錄):
目錄包括了所有和體系結構設計相關的核心代碼。它下面的每一個子目錄都屬於一種Linux支持什么的體系結構,比如i386應該是IntelCPU及與之相兼容問題體系結構設計的子目錄。PC機就像都基于此目錄。
目錄和編譯程序核心所必須的大部分頭文件,的或與平臺無關的頭文件在include/linux子目錄下。
目錄包涵核心的初始化代碼(不是系統的引導代碼),有main.c和Version.c兩個文件。這是研究什么核心該如何工作好的好起點。
目錄包含了所有的內存管理代碼。與詳細硬件體系結構相關的內存管理代碼坐落arch/*/mm目錄下。
目錄中是系統中所有的設備驅動程序。它又一系列劃為成幾類設備驅動,每一種有填寫的子目錄,如聲卡的驅動填寫于drivers/sound。
6.ipc目錄乾坤二卦了核心進程間的通信代碼。
目錄能保存了已不會建的、可動態運行程序的模塊。
8.fs目錄貯存Linux接受的文件系統代碼。相同的文件系統有完全不同的子目錄不對應,如ext3文件系統不對應的應該是ext3子目錄。
Kernel內核管理的核心代碼放到這里。另外與處理器結構咨詢代碼都放在旁邊arch/*/kernel目錄下。
目錄里是核心的網絡部分代碼,其每個子目錄按于網絡的一個方面。
目錄包含了核心的庫代碼,但與處理器結構相關的庫代碼被放進arch/*/lib/目錄下。
目錄包含用于配置核心的腳本文件。
目錄下是一些文檔,是對每個目錄作用的具體詳細說明。
一般在每個目錄下應該有一個.depend文件和一個Makefile文件。這兩個文件也是編譯器時在用的輔助文件。仔細閱讀理解這兩個文件對搞清楚各個文件之間的先聯系和依托鄭州關系很有幫助。另外有的目錄下另外Readme文件,它是對該目錄下文件的一些說明,同時可以增加對內核源碼的理解。
在寫作方法或順序上,有寬度與縱向之分。所謂縱向那就是順著程序的執行順序漸漸地并且;有所謂縱向,就是按模塊并且。它們每天都特點在一起參與。是對Linux啟動的代碼可向著Linux的啟動順序一步步來閱讀理解;是對像內存管理部分,也可以分開來拿來并且泛讀總結。事實上這是一個剛開始的過程,不可能讀一遍就表述。
學習linux內核編程,該怎么安排步驟呢?
不過在此之前在win10系統上直接點擊開始菜單,后再再點設置圖標,如下圖所示:
第二步進來windows系統設置之后,直接點擊時間和語言,如下圖所示:
第十步到里面時間和語言設置界面之后,再點擊區域和語言,然后把再點擊語言下方的選項,如下圖所示:
第四步進去語言選項界面之后,左鍵單擊系統自帶的輸入法,然后點擊刪掉,如下圖所示:
第五步可以找到早就刪掉了系統自帶的輸入法,這時候也可以將我們比較喜歡可以使用的第三方輸入法先添加在里面,如下圖所示:
第六步可以看到電腦巳經可以切換到第三方輸入法了,如下圖所示: