核心 Linux的裝置管理是和檔案

2022-09-03 05:33:10 字數 959 閱讀 1549

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...