linux中普通檔案和塊裝置檔案的區別

2021-09-04 10:07:20 字數 672 閱讀 1290

1,概述

一直都搞不明白普通檔案跟塊檔案的區別,總覺得乙個普通的檔案是存放在磁碟塊上,那它既屬於普通檔案又屬於塊裝置檔案。剛好下午睡了乙個大頭覺,比較清醒,集中學習了下普通檔案和塊裝置檔案的區別和聯絡。

本文從基本概念,定址空間,核心讀寫幾個方面介紹普通檔案和塊裝置檔案的辯證統一。

2,基本概念

普通檔案(regular file)。指普通意義上的檔案,如資料檔案、可執行檔案等。

裝置檔案(device file)。類unix作業系統都是基於檔案概念的,檔案是由位元組序列而構成的資訊載體。根據這一點,可以把io裝置當作裝置檔案這種所謂的特殊檔案來處理;因此,與磁碟上的普通檔案進行互動所用的同一系統呼叫可直接用於io裝置。根據裝置驅動程式的基本特徵,裝置檔案可以分為兩種:塊和字元。這兩種硬體裝置之間的差異並不容易劃分,但我們至少可以假定以下的差異:[1]

· 塊裝置的資料可以隨機地被訪問,而且從人類使用者的觀點看,傳送任何資料塊所需的時間都是較少而且是大致相同的。塊裝置的典型例子是硬碟、軟盤[1]。塊裝置一般情況下是帶緩衝區的。

· 字元裝置的資料或者不可以隨機訪問,或者可以被隨機訪問,但是訪問隨機資料所需的時間很大程度上依賴於資料在裝置內的位置[1]。

3, 定址空間的區別

塊裝置檔案是塊裝置的物理定址空間;普通檔案是塊裝置的虛擬定址空間。普通檔案比塊裝置檔案多一層檔案系統的位址轉換機構。

Linux中字元裝置和塊裝置

linux中i o裝置分為兩類 字元裝置和塊裝置。兩種裝置本身沒有嚴格限制,但是,基於不同的功能進行了分類。1 字元裝置 提供連續的資料流,應用程式可以順序讀取,通常不支援隨機訪問。相反,此類裝置支援按位元組 字元來讀寫資料。舉例來說,鍵盤 串列埠 數據機都是典型的字元裝置。2 塊裝置 應用程式可以...

Linux中塊裝置和字元裝置的區別

系統中能夠隨機 不需要按順序 訪問固定大小資料片 chunks 的裝置被稱作塊裝置,這些資料片就稱作塊。最常見的塊裝置是硬碟,除此以外,還有軟盤驅動器 cd rom驅動器和快閃儲存器等等許多其他塊裝置。注意,它們都是以安裝檔案系統的方式使用的 這也是塊裝置的一般訪問方式。另一種基本的裝置型別是字元裝...

linux 字元裝置和塊裝置的區別

linux中i o裝置分為兩類 字元裝置和塊裝置。兩種裝置本身沒有嚴格限制,但是,基於不同的功能進行了分類。1 字元裝置 提供連續的資料流,應用程式可以順序讀取,通常不支援隨機訪問。相反,此類裝置支援按位元組 字元來讀寫資料。舉例來說,鍵盤 串列埠 數據機都是典型的字元裝置。2 塊裝置 應用程式可以...