내가 아는 한, 파일 시스템이 없는 미디어에서는 VFS 작업을 수행할 수 없습니다.
그렇다면 이와 같은 유틸리티가 어떻게 fio
원시 장치에서 VFS와 유사한 읽기/쓰기/탐색 작업을 수행할 수 있습니까?
답변1
내가 아는 한, 파일 시스템이 없는 미디어에서는 VFS 작업을 수행할 수 없습니다.
질문은 "우리가 말하는 작업은 무엇입니까?"입니다. 아래에서 명확히 설명하겠습니다.
그렇다면 fio와 같은 유틸리티가 어떻게 원시 장치에서 VFS와 유사한 읽기/쓰기/탐색 작업을 수행할 수 있습니까?
VFS를 사용하면 읽기/쓰기/조회가 가능하지만아니요VFS 독점 작업 - 적절한 시스템 호출도 이해하는 장치에 실행하는 것이 허용됩니다.
@andy-dalton이 말했듯이리눅스블록 장치read()
/ 같은 syscall을 write()
받아들이고 표준 fio
읽기/쓰기 라이브러리 호출(결국 syscall이 됨)을 실행하면(파일 시스템의 파일과 마찬가지로) 커널이 차이점을 처리합니다. 바라보다https://github.com/axboe/fio/blob/2dd96cc46fa83a73acc1c9238c3ac59203e10213/engines/sync.c#L226-L229예를 들어. 이는 단순화되었지만 일반적인 개념을 설명합니다.