linux裝置節點

2021-09-30 05:36:26 字數 768 閱讀 1202

日前,在學習android的時候經常遇到***x節點,於是現在參考:還有其他文獻)將節點的概念總結如下:

節點的概念是裝置管理需要的。

linux 中的裝置有2種型別:字元裝置(無緩衝且只能順序訪問)、塊裝置(有緩衝且可以隨機訪問)。每個字元裝置和塊裝置都必須有主、次裝置號,主裝置號相同的裝置是同類裝置(使用同乙個驅動程式)。這些裝置中,有些裝置是對實際存在的物理硬體的抽象,而有些裝置則是核心自身提供的功能(不依賴於特定的物理硬體,又稱為"虛擬裝置")。每個裝置在 /dev 目錄下都有乙個對應的檔案(節點)。可以通過 cat /proc/devices 命令檢視當前已經載入的裝置驅動程式的主裝置號。

在乙個系統裡,硬體描述通常用法就是乙個裝置對應乙個術語,包括磁碟、印表機、顯示卡和鍵盤。當 freebsd 啟動過程中,大多數的裝置都能探測到並顯示出來, 您也可以查閱/var/run/dmesg.boot, 引導時所有資訊都在裡面。

例如, acd0 就是 首個 ide 光碟裝置, 而 kbd0 則代表鍵盤。

在unix®作業系統裡,大多數裝置存在的特殊訪問檔案就是叫做裝置節點,他們都定位在/dev目錄裡。

當在系統中新增新裝置或將附加裝置的支援編譯進核心之後,都必須為其建立裝置節點。

我們在剛開始寫linux裝置驅動程式的時候,很多時候都是利用mknod命令手動建立裝置節點,實際上linux核心為我們提供了一組函式,可以用來在模組載入的時候自動在/dev目錄下建立相應裝置節點,並在解除安裝模組時刪除該節點,當然前提條件是使用者空間移植了udev。

最後,裝置管理和驅動的編寫都要理解節點的概念。

Linux裝置驅動 新增裝置節點

1 環境描述 host ubuntu14.04 64bit target smdk2410 kernel linux 2.6.39.4 2 前言 我們在剛開始寫linux裝置驅動程式的時候,很多時候都是利用mknod命令手動建立裝置節點,實際上linux核心為我們提供了一組函式,可以用來在模組載入的...

linux裝置節點的理解

在linux的驅動學習過程中,經常會碰到裝置節點這一概念,什麼主裝置號,次裝置號,可能都是一知半解的,只知道要想使用者程序與核心下的硬體進行通訊需要建立乙個裝置節點 至於這個裝置節點到底是怎樣的乙個存在,也許好多人並不清楚 裝置節點使得使用者可以與核心進行硬體的溝通,讀寫裝置以及其他的操作 在lin...

linux自動建立裝置節點

在有2.6系列版本中支援udev管理裝置檔案可以方便的建立裝置節點,不必使用mknod來建立 主要用到的四個方法在linux device.h定義 建立類和釋放類的函式 建立成後將建立 sys class name資料夾 extern struct class class create struct...