Block-Device
Linux 上磁碟的字元設備
為什麼其他 UNIX 系統需要字元設備作為儲存設備,而 Linux 不需要?
其他 UNIX 作業系統(AIX、HPUX、Solaris 和 macOS)使用類似“/dev/rdisk#”和“/dev/disk#”的儲存設備。
我認為這篇維基百科文章https://en.wikipedia.org/wiki/Raw_device解釋得很好:
在計算中,特別是在 Unix 和類 Unix 作業系統中,原始設備是一種與字元設備文件相關聯的特殊邏輯設備,它允許直接訪問諸如硬碟驅動器之類的儲存設備,繞過作業系統的記憶體和緩衝區(儘管可能仍會使用硬體記憶體)。像數據庫管理系統這樣的應用程序可以直接使用原始設備,使它們能夠管理數據的記憶體方式,而不是將此任務推遲到作業系統。
在 FreeBSD 中,所有設備文件實際上都是原始設備。為了簡化緩衝區管理並提高可伸縮性和性能,FreeBSD 4.0 中刪除了對非原始設備的支持。1
在 Linux 核心中,原始設備已被棄用併計劃在某一時刻移除,因為可以使用 O_DIRECT 標誌。