linux-中塊裝置檔案和字元裝置檔案的本質區別
在LINUX系統檔案型別分類的文章中我們提到了 塊裝置 和 字元裝置檔案,那麼什麼是塊裝置 字元裝置檔案呢?他們之間有什麼本質上的區別呢?
裝置檔案分為 Block(塊) Device Driver 和 Character(字元)Device Drive 兩類。Character Device Drive又被稱為字元裝置或裸裝置 raw devices。 Block Device Driver稱為塊裝置。
區別:
Block Device Driver 是以固定大小長度來傳送轉移資料,Character Device Driver是以不定長度的字元傳送資料。且所連線的Devices也有所不同。
Block Device 大致是可以隨機存取(Random Access)資料的裝置,如硬碟機(硬碟)或光碟機;而Character Device剛好相反,依循先後順序存取資料的裝置,如 印表機(鐳射印表機)、終端機(列如 電腦顯示器)等皆是。
/dev/dsk 對應的為塊裝置,檔案系統的操作用到它,如mount。
/dev/rdsk 對應的為字元裝置(裸裝置,rdsk的r即為 raw),fsck newfs等會涉及到。一般我們的作業系統和各種軟體都是以塊方式讀寫硬碟,這裡的塊是邏輯塊,建立檔案系統時可以選擇。windows裡叫簇。可看newfs or mkfs的manual。oracle是比較常見的字元方式讀寫硬碟。
字元裝置還是塊裝置的定義屬於作業系統的裝置訪問層,與實際物理裝置的特性無必然聯絡。裝置訪問層下面是驅動程式,所以只要驅動程式能夠提供哪一種方式,都可以。也就是說驅動程式支援 stream 方式,那麼就可以用這種方式訪問,驅動程式如果還支援block方式,那麼你想用哪種方式訪問都可以。
1:典型的比如硬碟式的裸裝置(Block device),他兩種訪問方式都支援:他是一種具有一定結構的隨機存取裝置,對這種裝置的讀寫是按塊進行的,他使用緩衝區來存放暫時的資料,待條件成熟後,從快取一次性寫入裝置或從裝置中一次性讀出放入到緩衝區;
2:磁碟和檔案系統等字元裝置(Character device):這是一個順序的資料流裝置,對這種裝置的讀寫是按字元進行的,而且這些字元是連續地形成一個資料流。他不具備緩衝區,所以對這種裝置的讀寫是實時的,如終端、磁帶機等。
系統中能夠隨機(不需要按順序)訪問固定大小資料片(chunks)的裝置被稱作塊裝置。這些資料片就稱作塊。最常見的塊裝置是硬碟,除此以外,還有軟盤驅動器、CD-ROM驅動器和快閃記憶體等等許多其他塊裝置。
注意,它們都是以安裝檔案系統的方式使用的——這也是塊裝置一般的訪問方式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2753012/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux一切皆檔案之塊裝置檔案(四)Linux
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- Linux 裝置檔案/dev/*詳解、查詢Linuxdev
- 儲存、檔案管理/目錄、裝置管理
- 作業系統——裝置驅動和檔案系統作業系統
- 使用udev高效、動態的管理Linux裝置檔案devLinux
- gdb除錯嵌入式裝置的core檔案除錯
- 字元裝置驅動 —— 字元裝置驅動框架字元框架
- Linux-檔案寫入和檔案同步Linux
- 使用 Syncthing 在多個裝置間同步檔案
- 蘋果裝置訪問 Windows 檔案共享教程蘋果Windows
- MacDroid for mac(安卓裝置檔案傳輸助手)Mac安卓
- MacDroid for Mac安卓裝置檔案傳輸工具Mac安卓
- 裝置CSV檔案匯入,型別轉換加try...catch...型別
- 檔案系統&&磁碟管理(六)–swap分割槽、迴環裝置、檔案系統配置檔案fstab
- 使用 udev 高效、動態地管理 Linux 裝置檔案devLinux
- Linux系統中虛擬裝置檔案的各種實用用法Linux
- BootISO:從 ISO 檔案中建立一個可啟動的 USB 裝置boot
- 生物實驗室裝置檔案採集如何才能質量和效率雙管齊下?
- 生產裝置機臺檔案匯出,怎樣兼顧檔案的完整性和匯出效率?
- flutter-讀寫二進位制檔案到裝置Flutter
- bed 檔案 和 wig 檔案 有什麼區別
- 加速檔案傳輸:檔案和UDP之間的區別UDP
- LED字元裝置驅動字元
- 裝置元件檔案轉換為EVE-NG環境的支援元件元件
- 基於 HarmonyOS Next 的跨裝置分散式檔案傳輸系統分散式
- Spring - 配置檔案中的classpath: 和 classpath*: 的區別Spring
- Windows 11環境中實現檔案伺服器的配置和外部裝置的訪問限制(續)Windows伺服器
- 關於檔案系統在建立目錄檔案和普通檔案時的區別
- 字元驅動裝置踩坑字元
- MacDroid pro for mac(安卓裝置檔案傳輸助手)1.8中文啟用版Mac安卓
- Spring - 配置檔案中的特殊字元Spring字元
- Linux中檔案與目錄的區別Linux
- 408 知識點筆記——作業系統(檔案系統、裝置管理)筆記作業系統
- 區塊鏈專案包裝攻略,區塊鏈專案包裝運營區塊鏈
- 使用lsblk命令列出系統中的塊裝置命令列
- linux-批次修改檔案內容Linux
- liunx驅動之字元裝置的註冊字元