Filesystems
實用程序“fio”如何在沒有文件系統的原始未格式化設備上執行類似 VFS 的操作?
我知道人們無法在沒有文件系統的介質上執行 VFS 操作。
鑑於此,一個實用程序如何
fio
在原始設備上執行類似 VFS 的讀/寫/搜尋操作?
我知道人們無法在沒有文件系統的介質上執行 VFS 操作。
問題變成了“我們在談論哪些操作?” 你在下面澄清……
鑑於此,像 fio 這樣的實用程序如何在原始設備上執行類似 VFS 的讀/寫/查找操作?
雖然可以對具有 VFS 的事物進行讀/寫/搜尋,但它們不是VFS 專有操作 - 也可以將它們發布給理解適當系統呼叫的設備。
正如@andy-dalton 所說, Linux塊設備接受像
read()
/這樣的系統呼叫write()
,並且fio
只是在它們上發出標準的讀/寫庫呼叫(最終將變成系統呼叫)(就像它會在文件系統中的文件一樣),核心負責區別。以 https://github.com/axboe/fio/blob/2dd96cc46fa83a73acc1c9238c3ac59203e10213/engines/sync.c#L226-L229為例。這是一個簡化,但說明了整體概念。