




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一個內(nèi)核模塊實驗一: 預(yù)習(xí)要求:( 1 ) 做本實驗之前,請復(fù)習(xí)相關(guān)內(nèi)核模塊知識。( 2 ) 請了解內(nèi)核模塊的編寫、編譯及安裝與卸載方法。( 3 ) 請學(xué)習(xí)內(nèi)核打印函數(shù) printk() 的用法。( 4 ) 請復(fù)習(xí) Makefile 文件的編寫。二:實驗?zāi)康模海?1 ) 掌握內(nèi)核模塊的組成部分。( 2 ) 掌握內(nèi)核模塊的編譯、安裝與卸載方法。( 3 ) 學(xué)會查看內(nèi)核模塊的信息。三:實驗任務(wù):編寫一個內(nèi)核模塊module,向外導(dǎo)出兩個函數(shù),分別是“求累積和”和“求階乘”功能。編寫另兩個內(nèi)核模塊module1、module2,分別使用上面module模塊中的函數(shù),實現(xiàn)計算。注意路徑清晰,分別在三
2、個目錄下編寫。四:實驗原理及方法:Linux 內(nèi)核模塊( LKM )是一些在啟動的操作系統(tǒng)內(nèi)核需要時可以載入內(nèi)核執(zhí)行的代碼塊,不需要時由操作系統(tǒng)卸載。它們擴(kuò)展了操作系統(tǒng)內(nèi)核功能卻不需要重新編譯內(nèi)核、啟動系統(tǒng)。如果沒有內(nèi)核模塊,就不得不反復(fù)編譯生成操作系統(tǒng)的內(nèi)核鏡像來加入新功能,當(dāng)附加的功能很多時,還會使內(nèi)核變得臃腫。一個 Linux 內(nèi)核模塊主要由以下幾個部分組成:(1) 模塊加載函數(shù) ( 必須 ) :當(dāng)通過 insmod 或 modprobe 命令加載內(nèi)核模塊時,模塊的 加(1) 模塊加載函數(shù) ( 必須 ) :當(dāng)通過 insmod 或 modprobe 命令加載內(nèi)核模塊時,模塊的加載函數(shù)會自
3、動被內(nèi)核執(zhí)行,完成本模塊相關(guān)初始化工作。(2) 模塊卸載函數(shù)(必須):當(dāng)通過 rmmod 命令卸載模塊時,模塊的卸載函數(shù)會自動被內(nèi)核執(zhí)行,完成與模塊加載函數(shù)相反的功能。(3) 模塊許可證聲明(必須):模塊許可證( LICENCE )聲明描述內(nèi)核模塊的許可權(quán)限,如果不聲明 LICENCE, 模塊被加載時將收到內(nèi)核被污染的警告。大多數(shù)情況下內(nèi)核模塊應(yīng)遵循 GPL 兼容許可權(quán)。 L inux2.6內(nèi)核模塊最常見的是以MODULE_LICENSE( “ Dual BSD/GPL ” ) 語句聲明模塊采用 BSD/GPL 雙 LICENSE 。(4) 模塊參數(shù)(可選):模塊參數(shù)是模塊被加載的時候可以被傳
4、遞給他的值,它本身對應(yīng)模塊內(nèi)部的全局變量。(5) 模塊導(dǎo)出符號(可選):內(nèi)核模塊可以導(dǎo)出符號 (symbol, 對應(yīng)于函數(shù)或變量 ) ,這樣其他模塊可以使用本模塊中的變量或函數(shù)。(6) 模塊作者等信息聲明(可選)。一個內(nèi)核模塊至少包含兩個函數(shù),模塊被加載時執(zhí)行的初始化函數(shù) init_module() 和模塊被卸載時執(zhí)行的結(jié)束函數(shù) cleanup_module() 。在最新內(nèi)核穩(wěn)定版本 2.6 中,兩個函數(shù)可以起任意的名字,通過宏module_init() 和 module_exit() 注冊調(diào)用。五:實驗步驟:1. 創(chuàng)建目錄modparm,在modparm下創(chuàng)建module1和module2目
5、錄(同學(xué)也可以創(chuàng)建不同的目錄,因為每個模塊都有自己的Makefile文件,所以每個Makefile必須在不同的目錄下)。在modparm存放modtest模塊,在module1下存放module1模塊,在module2下存放module2模塊。我的電腦上如下:2,編寫模塊的源程序和其Makefile文件(1)modtest.c的清單如下:modtest.的Makefile如下:(2)module1.c清單如下:module1的Makefile如下:(3) module2.c清單如下:Module2的Makefile如下:3 編譯模塊(1)把生成modtest.ko模塊時生成的Module.symvers放到module1文件夾中。這樣編譯module1時,符號信息就會自動鏈接進(jìn)去了。(2)分別執(zhí)行make命令,編譯modtest.c、module1.c、module2.cc4 安裝模塊5查看模塊lsmod查看安裝是否成功,下圖中可看到module1和module2的使用者數(shù)量為0,而modtest被module1和module2使用,因此其使用者數(shù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1 北京的春節(jié) 教學(xué)設(shè)計-2024-2025學(xué)年語文六年級下冊統(tǒng)編版
- 6人大代表為人民(教學(xué)設(shè)計)-2024-2025學(xué)年統(tǒng)編版道德與法治六年級上冊
- 5 一個豆莢里的五粒豆(教學(xué)設(shè)計)-2024-2025學(xué)年統(tǒng)編版語文四年級上冊
- 6《景陽岡》教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版語文五年級下冊
- 11《別傷著自己》 第二課時(教學(xué)設(shè)計)2023-2024學(xué)年統(tǒng)編版道德與法治一年級上冊
- 2023二年級語文上冊 第二單元 4 田家四季歌配套教學(xué)實錄 新人教版
- 鐵路運(yùn)輸業(yè)智能化調(diào)度及維護(hù)管理方案
- 2《我向國旗敬個禮》(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版(2024)道德與法治一年級上冊
- 2025年碳纖維正交三向織物項目合作計劃書
- 9日益重要的國際組織 第二課時 教學(xué)設(shè)計-2023-2024學(xué)年道德與法治六年級下冊統(tǒng)編版
- 2024年世界職業(yè)院校技能大賽高職組“研學(xué)旅行組”賽項參考試題庫(含答案)
- 《金融科技概論》完整全套課件
- 2025年新疆生產(chǎn)建設(shè)兵團(tuán)興新職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 2024年陜西警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 圍棋入門基本知識
- 2024年新疆生產(chǎn)建設(shè)兵團(tuán)興新職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2025年貴州蔬菜集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 醫(yī)院設(shè)施日常巡查管理制度
- 急性心房顫動中國急診管理指南(2024)解讀
- 人教版四年級下冊數(shù)學(xué)第二單元觀察物體(二) 單元測試
- 建筑工程公司績效考核制度范本
評論
0/150
提交評論