linux实验3编写内核模块,实验2.3_内核模块_实验报告
實驗報告
題目: 內核模塊實驗
1、實驗目的
模塊是Linux系統的一種特有機制,可用以動態擴展操作系統內核功能。編寫實現某些特定功能的模塊,將其作為內核的一部分在管態下運行。本實驗通過內核模塊編程在/porc文件系統中實現系統時鐘的讀操作接口。
2、實驗內容
設計并構建一個在/proc文件系統中的內核模塊clock,支持read()操作,read()返回值為一字符串,其中包塊一個空格分開的兩個子串,分別代表http://www.doczj.com/doc/2633a01011a6f524ccbff121dd36a32d7375c7b3.html_sec和http://www.doczj.com/doc/2633a01011a6f524ccbff121dd36a32d7375c7b3.html_usec。
3、實驗原理
Linux模塊是一些可以作為獨立程序來編譯的函數和數據類型的集合。在裝載這些模塊時,將它的代碼鏈接到內核中。Linux模塊可以在內核啟動時裝載,也可以在內核運行的過程中裝載。如果在模塊裝載之前就調用了動態模塊的一個函數,那么這次調用將會失敗。如果這個模塊已被加載,那么內核就可以使用系統調用,并將其傳遞到模塊中的相應函數。
4、實驗步驟
編寫內核模塊
文件中主要包含init_module(),cleanup_module(),proc_read_clock()三個函數。其中init_module(),cleanup_module()負責將模塊從系統中加載或卸載,以及增加或刪除模塊在/proc中的入口。read_func()負責產生/proc/clock被讀時的動作。
內核編譯部分過程:
總結
以上是生活随笔為你收集整理的linux实验3编写内核模块,实验2.3_内核模块_实验报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: InvalidateRect()、Upd
- 下一篇: linux脚本怎么把文件地址变成动态地址