linux的裝置管理是和檔案系統緊密結合的,各種裝置都以檔案的形式存放在/dev目錄 下,稱為裝置檔案。應用程式可以開啟、關閉和讀寫這些裝置檔案,完成對裝置的操作,就像操作普通的資料檔案一樣。
為了管理這些裝置,系統為裝置編了號,每 個裝置號又分為主裝置號和次裝置號。主裝置號用來區分不同種類的裝置,而次裝置號用來區分同一型別的多個裝置。對於常用裝置,linux有約定俗成的編 號,如硬碟的主裝置號是3。
linux為所有的裝置檔案都提供了統一的操作函式介面,方法是使用資料結構struct file_operations。這個資料結構中包括許多操作函式的指標,如open()、close()、read()和write()等,但由於外設 的種類較多,操作方式各不相同。struct file_operations結構體中的成員為一系列的介面函式,如用於讀/寫的read/write函式和用於控制的ioctl等。
開啟乙個檔案就是呼叫這個檔案file_operations中的open操作。不同型別的檔案有不同的file_operations成員函式,如普通的磁碟資料檔案, 介面函式完成磁碟資料塊讀寫操作;而對於各種裝置檔案,則最終呼叫各自驅動程式中的i/o函式進行具體裝置的操作。這樣,應用程式根本不必考慮操作的是設 備還是普通檔案,可一律當作檔案處理,具有非常清晰統一的i/o介面。所以file_operations是檔案層次的i/o介面。
mknod命令用於建立linux中的字元裝置檔案和塊裝置檔案。
mknod(選項)(引數)
-z:設定安全的上下文;-m:設定許可權模式;
-help:顯示幫助資訊;
--version:顯示版本資訊。
ls -la /dev/ttyusb*crw-rw—- 1 root dialout 188, 0 2008-02-13 18:32 /dev/ttyusb0
mknod /dev/ttyusb32 c 188 32
linux裝置管理
linux 的裝置管理 6.1 裝置管理概述 linux 裝置的分類 linux 使用套介面 socket 以檔案i o 方式提供了對網路資料的訪問。裝置驅動程式 三 裝置的識別 而多個scsi 硬碟及其各個分割槽分別賦予次裝置號1 2 3 root localhost ls dev sda l b...
Linux裝置管理
命令 意義ls l 第乙個字元 b block 塊裝置,c character 字元裝置 p pipe 管道裝置 s socket 套接字裝置 sys blocks 系統所有塊裝置的軟鏈結檔案 dd沿襲了ibm的jcl的風格,複製固定大小的資料塊,使用等號而不是減號來設定選項和引數值 dev sd ...
Linux系統之loop裝置管理
檢視loop裝置 losetup a劃分空間 dd if dev zero of var bs m count 建立乙個loop檔案 losetup dev loop filepath 檢視loop裝置 lsblk 建立物理卷 pvcreate physical volume建立捲組 vgcreat...