"fio" 유틸리티는 파일 시스템 없이 포맷되지 않은 원시 장치에서 VFS와 유사한 작업을 어떻게 수행합니까?

"fio" 유틸리티는 파일 시스템 없이 포맷되지 않은 원시 장치에서 VFS와 유사한 작업을 어떻게 수행합니까?

내가 아는 한, 파일 시스템이 없는 미디어에서는 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예를 들어. 이는 단순화되었지만 일반적인 개념을 설명합니다.

관련 정보