裝置檔案操作

2021-10-08 08:37:40 字數 1391 閱讀 5886

uint32_t unmask =1;

ssize_t rv =

write

(_fd,

&unmask,

sizeof

(unmask)

);

字元特殊檔案和塊特殊檔案。區別在於作業系統和硬體讀取和寫入的資料量

塊裝置(block devices)

偽裝置(pseudo-devices)

/ dev / null - 接受並放棄所有輸入; 不產生輸出(總是在讀取時返回檔案結束指示)

/ dev / zero - 接受並放棄所有輸入; 產生連續的nul(零值)位元組流

/ dev / full - 讀取時會產生連續的nul(零值)位元組流,並在寫入時返回「磁碟已滿」訊息

/ dev / random和/ dev / urandom - 它們產生乙個可變長度的偽隨機數字流。

lp:行式印表機(比較lp)

pt:偽終端(虛擬終端)

tty:終端

一些額外的字首已經在一些作業系統中普遍使用:

fb:幀緩衝區

fd :(平台)軟盤,儘管這個縮寫也常用來指檔案描述符

高畫質:(「經典」)ide驅動程式(以前用於ata硬碟驅動器,atapi光碟驅動器等)

hda:第乙個ata通道上的主裝置(通常由主編號3和次編號0標識)

hdb:第乙個ata通道上的從屬裝置

hdc:第二個ata通道上的主裝置

hdc1:此磁碟上的第乙個主分割槽(示例)

hdc5:擴充套件分割槽中的第乙個邏輯驅動器(示例)

hdd:第二個ata通道上的從屬裝置

parport,pp:並行埠

scsi驅動程式,也被libata(現代pata / sata驅動程式),usb,ieee 1394等使用。

sd:大容量儲存驅動程式

sda:首次註冊的裝置

sda4:此磁碟上的最後乙個分割槽(示例)

sda6:擴充套件分割槽中的第二個邏輯驅動器(示例)

sdb,sdc等:第二,第三等註冊裝置

ses:機箱驅動程式

sg:通用scsi層

sr:「rom」驅動程式(面向資料的光碟驅動器; scd只是乙個輔助別名)

st:磁帶驅動器

tty:終端

ttys :(平台)串列埠驅動程式

ttyusb:usb串列埠轉換器,數據機等

函式read()實現從檔案描述符fd所指定的檔案中讀取length個位元組到buf所指向的緩衝區中,返回值為實際讀取的位元組數。

函式write實現把length個位元組從buf指向的緩衝區中寫到檔案描述符fd所指向的檔案中,返回值為實際寫入的位元組數。

映像檔案如何作為塊裝置操作

假如先有乙個磁碟映像檔案,其中包含了分割槽,檔名為 test.img 首先,建立乙個loop檔案,假如是loop99 sudo mknod dev loop99 b 7 99將 test.img 與 loop99 繫結,並掃瞄其分割槽表,建立各分割槽的loop檔案 如果 test.img 包含了兩個...

字元裝置驅動 裝置號 裝置檔案

主裝置號用來標識與裝置檔案相連的驅動程式.用來反映裝置型別.次裝置號被驅動程式用來辨別操作的是哪乙個裝置.用來區分同型別的裝置.通過的是主裝置號.字元裝置檔案 本身沒有太多的內容,通過 字元裝置檔案 能找到 字元裝置驅動程式 字元裝置檔案 能將 應用程式 的需求傳遞給 字元裝置驅動程式.核心中如何描...

字元裝置操作

file operations 結構體中成員函式是字元裝置驅動與核心的介面,是使用者空間對linux 進行系統呼叫最終的落實者。大多數字元裝置驅動會實現read write 和ioctl 函式.字元裝置驅動讀 寫 i o控制函式模板 1 讀裝置 2 ssize t read struct file ...