O_DIRECT
파일을 읽을 때 운영 체제 캐시를 우회 하기 위해 open()
.위키피디아둘 사이에는 차이가 없다고 하네요. 그러나 HD(또는 더 구체적으로 파티션)를 원시 장치로 정의하면 파일 시스템이 필요하지 않습니까? (존재하다이 스택 오버플로 게시물의견에 따르면 파일 시스템이 이미 사전 포맷되어 있기 때문에 이것이 불가능하다고 합니다. )
또한 파일 시스템 문제는 제쳐두고 원시 장치를 정의하고 사용하기 위한 좋은 길드를 공유할 수 있는 사람이 있다면 매우 감사하겠습니다.
답변1
아니요. 원시 장치에 액세스하는 데 파일 시스템이 필요하지 않습니다. 글쎄, 가상 파일 시스템을 사용하고 있다고 말할 수 있지만 /dev
장치 이름만 노출하면 I/O가 해당 장치로 이동합니다.
그러나 캐싱/버퍼링에는 여러 수준이 있습니다. 파일 시스템은 그 중 하나일 뿐이며 시스템은 자체 세트를 가지며 디스크 하드웨어도 자체 세트를 갖습니다. 복수를 원한다면더 가까이장치의 경우 추가 인터페이스에 액세스해야 합니다.
dd
및 같은 기존 도구를 사용하는 것이 더 나을 수도 있습니다 hdparm
."dd를 사용하여 디스크 I/O 성능 테스트"또는"디스크 속도 테스트(읽기/쓰기): Linux에서의 HDD, SSD 성능".