proc檔案系統的理解

2021-07-11 19:36:20 字數 784 閱讀 2086

最近才學習了根檔案系統製作,並剛開始接觸linux驅動,這兩個都接觸到了proc檔案系統,所以又重新了解了proc虛擬檔案系統。

proc虛擬檔案系統的思路:在核心中構建乙個虛擬檔案系統、proc,當核心執行時將核心中一些關鍵的資料結構以檔案的方式自動呈現在這個命令下的一些特定檔案中,這樣的好處是把不可見的核心中的資料結構以視覺化的方式讓開發者看到。

/proc虛擬檔案系統就相當於一雙眼睛,讓我們看到了核心的裡面。

在製作根檔案系統時未進行掛載時,/proc這個目錄中是不會有內容的,只有在掛載後並將系統啟動起來後才出現內容。

在/proc目錄下可以看到裡面的檔案大小都是0,原因是這些檔案本身並不存在與硬碟中,他們也並不是真正的檔案,只是乙個介面,當我們讀取這個檔案時,核心會對映到核心中乙個資料結構並且格式化成字串返回給我們,所以我們看到的還是乙個檔案內容字串(就和普通檔案一樣),但實際上這個內容是從核心中來的,而不是硬碟,這一點對理解/proc虛擬檔案系統很重要。

在現在學習驅動,會經常在核心中註冊乙個裝置號,這時就要先檢視核心中本來的裝置編號,此時就會用到/proc/devices來檢視。

下面再簡單說下sys檔案系統

sys檔案系統和/proc一樣,都是虛擬檔案系統,原理也一樣,但是/sys是可讀可寫的。

造成有兩個檔案系統主要是歷史原因,/proc更改出現時,很多核心管理者都會向/proc檔案系統中寫檔案,並且管理者也沒有什麼經驗去規劃它,這樣導致的結果就是裡面的東西又多又雜,這是由於這個原因,便出現了/sys,sys檔案系統一開始就做了很好的規劃和約定,也變得越來越重要,據說在以後的驅動學習中也經常會用到。

Proc檔案系統

include static struct proc dir entry proc null int read proc char page,char start,off t off,int count,int eof,void data len sprintf page len,debug mod...

proc檔案系統

linux 將一切事物都看成檔案,硬體裝置在檔案系統中也有相應的條目。我們使用底層系統呼叫這樣一種特殊方式通過 dev目錄中的檔案來訪問硬體。控制硬體的軟體驅動程式通常可以以某種特定方式配置,或者能夠報告相關資訊。用於與裝置驅動程式進行通訊的工具在過去就已經十分常見,近來年,傾向於提供更一致的方式來...

proc檔案系統

proc檔案系統是由核心實現的檔案系統。當使用者態訪問 proc下檔案時,實際上是呼叫核心中和該檔案對應的特定函式。一般用proc檔案來實現核心 驅動的呼叫。大部分proc檔案是唯讀的,用於獲取核心資訊 還有一些proc檔案是可寫的,當使用者態改變了proc檔案的內容時,會呼叫核心的函式,從而改變核...