linux核心程式設計4部曲之四 模組程式設計

2021-08-05 19:11:09 字數 1958 閱讀 8942

linux

核心程式設計

4部曲之一:

linux

核心編譯(

2.6.12

版本)**解說

linux核心程式設計4

部曲之二:增加linux

核心系統呼叫

linux核心程式設計4

部曲之三:修改o(1)

排程演算法

linux核心程式設計4

部曲之四:模組程式設計

一、實驗要求

新增系統呼叫加減乘除,並通過模組載入,實現加減乘除。

二、增加系統呼叫

按照實驗一的步驟增加系統呼叫:

增加系統呼叫主要分為3步:

1)、增加系統呼叫函式

修改/usr/src/linux-2.6.12/kernel/sys.c檔案,在檔案末尾增加4個系統響應函式(+、-、*、/)。這裡,我們在add系統呼叫中,使用了函式指標實現,即在系統呼叫中不指定具體實現,而在模組中指定具體實現,不過需要用export_symbol巨集將函式指標匯出。**如下:

)、在系統呼叫表中註冊。

/usr/src/linux-2.6.12/arch/i386/kernel/syscall_table_32.s

中新增我們的系統呼叫。

3

)、新增系統呼叫入口引數

在/usr/src/linux-2.6.12/include/asm-i386/unistd.h

中新增系統呼叫入口引數(注意:其中會順序定義入口引數的序號,新增的序號是在原有最大值的基礎上

+1)。

三、編譯核心,修改

grub

引導程式,重新啟動,進入修改過的核心。

四、編譯模組

1

)模組源**

模組源**主要實現了我們系統呼叫中函式指標

addfunc

的具體實現函式,如下圖:

)編寫makefile

檔案

3

)編譯模組

執行make all

,執行編譯,生成模組檔案。

五、測試

1

)測試**

測試**主要檢驗

add系統呼叫是否能完成加法功能,**如下:

)安裝模組

通過insmod

來載入模組,如下圖:

3

)執行測試程式,測試結果

如果add

呼叫正常,說明實驗取得成功。

0 給主人留下些什麼吧!~~

linux核心程式設計4部曲之四 模組程式設計

一 實驗要求 新增系統呼叫加減乘除,並通過模組載入,實現加減乘除。二 增加系統呼叫 按照實驗一的步驟增加系統呼叫 增加系統呼叫主要分為3步 1 增加系統呼叫函式。修改 usr src linux 2.6.12 kernel sys.c檔案,在檔案末尾增加4個系統響應函式 這裡,我們在add系統呼叫中...

塔勒布四部曲之《反脆弱》

繼 黑天鵝 的第二本,作者納西姆 尼古拉斯 塔勒布,是研究不確定性的專家。塔勒布曾經是華爾街上的明星交易員。他在20多年的交易員生涯中,經歷過1987年美國股災 9 11崩盤 2008年金融危機等重大事件。塔勒布的厲害之處在於,他不但在這些災難性事件中毫髮無損,而且還通過提前做空,從中大賺特賺。塔勒...

Linux之檔案程式設計(四)

linux檔案程式設計之安裝檔案系統 前言 可能我們機子上都按了兩個作業系統linux作業系統和xp,那麼我們一般都可以在linux下訪問xp下的檔案,但是我們卻不能在xp下訪問linux,這是為什麼呢?一.安裝檔案系統 1.由於 ext2 ext3是 linux 的標準檔案系統,所以系統把ext2...