iT邦幫忙

鐵人檔案

2014 iT 邦幫忙鐵人賽
回列表

Linux kernel模組的開發 系列

由於工作上的需求,接觸到Linux系統模組的除錯,進而對Linux系統模組的運作產生興趣。藉此機會,想把自己在Linux kernel module上的心得與各位邦友分享。

鐵人鍊成 | 共 30 篇文章 | 13 人訂閱 訂閱系列文 RSS系列文
DAY 11

變數的命名空間

之前在談 function library 與 system call 的時候就有提到,位甚麼在寫 kernel module 時,不像寫一般程式一樣,需要對引...

2014-10-11 ‧ 由 chiounan 分享
DAY 12

記憶體管理

當開始要執行一個程式的時候 (process 建立了),kernel 就會為這個 process 準備一塊記憶體讓他儲存執行程式所需要的變數、資料、stack...

2014-10-12 ‧ 由 chiounan 分享
DAY 13

Device driver

最常見的 kernel module 就是 device driver了,也就是各種硬體 (顯示卡、磁碟、serial port 等等) 的驅動程式。像是在 L...

2014-10-13 ‧ 由 chiounan 分享
DAY 14

在 kernel 中註冊 driver

在系統中新增一個 driver,即代表是在 kernel 中註冊一個位置,此刻會在 /dev/ 目錄底下建立一個檔案,同時賦予這個 driver 相對的 mao...

2014-10-14 ‧ 由 chiounan 分享
DAY 15

在 kernel 中移除 (反註冊) driver

要移除使用中的 kernel module 應該要設法避免有其他程式正在使用他,因為這將會導致存取不到內容而出錯、或者引用到錯誤的 module 上。 之前採用...

2014-10-15 ‧ 由 chiounan 分享
DAY 16

/proc 檔案系統

在 Linux 中 /proc 檔案系統可以用來做為 kernel module 傳送訊息給程式之用,也能夠記錄一些 kernel 的狀態,如 /proc/mo...

2014-10-16 ‧ 由 chiounan 分享
DAY 17

file_operations 資料結構

file_operations 資料結構是 Linux character device 的核心,程式呼叫到 kernel moduel 的動作時,實際上都是引...

2014-10-17 ‧ 由 chiounan 分享
DAY 18

寫入與讀取 /proc 檔案

上回介紹如何建立並從 /proc 檔案系統中讀取資料,這次來介紹如何寫入到自建的 /proc 檔案中。讀跟寫的基本動作一樣,都是令讀或寫的動作去執行對應的函數。...

2014-10-18 ‧ 由 chiounan 分享
DAY 19

與設備溝通

在 Linux 中,所有設備在 kernel 中皆有一個 device 檔來代表他,而要透過該設備進行輸出或輸出的動作時,也就相當於對他的 device fil...

2014-10-19 ‧ 由 chiounan 分享
DAY 20

系統呼叫 system call

所以程式與 kernel 進行溝通的動作,最後都是以系統呼叫 (system call) 的方式來進行,譬如程式需要開啟一個檔案、建立一個新的子行程、或是要求一...

2014-10-20 ‧ 由 chiounan 分享