2012-06-18 1 views
-1

나는 어떤 링크를 통해 FILE_FLAG_NO_BUFFERINGFILE_FLAG_OVERLAPPED을 사용하여 창에서 파일을 복사하는 가장 빠른 방법에 대해 이야기했다. 나는 또한 나를의 내용을 복사 할 수 있습니다 리눅스에서 비슷한 방법에 대해를 loking하고 Explanation for tiny reads (overlapped, buffered) outperforming large contiguous reads? - : 그것은 또한 요청을 읽기 위해 만든 빠르게 1Mb보다는 그것에 대해 국지적 인 링크가 있습니다 BUFFER SIZE256KB and 128KB로와 opeartions을 작성하는 방법에 대해 이야기 내 하드 디스크에 DVD를 빠른 방법으로. 그래서 저는 알고 싶었습니다. Linux에서 파일 조작 플래그가있어 최상의 결과를 얻을 수 있습니까? 아니면 Linux의 복사 방식이 최고입니까? 내 코드는 모두 C++입니다.Linux를 사용하여 DVD 내용을 하드 디스크에 복사하는 가장 빠른 방법은 무엇입니까?

+0

나는 사용자가 특정 의견이나 이유없이 아래 표를 보는 것을 안다. – Invictus

+0

시스템 ("dd if =/dev/dvd of =/path/to/img bs = 16384")은 충분히 빠르다. – stijn

+0

@stijn 내가 이해하는 것은 시스템 콜이지만, 거기서'bs '는 무엇입니까? – Invictus

답변

1

DVD를 마운트하고 복사 할 파일을 열고() sendfile()을 사용하십시오. 전체 DVD를 복사하려면 DVD의/dev 항목을 열고() 해당 설명자를 sendfile()에 전달하십시오. 하나의 파일 디스크립터와 다른 사이

$ man 2 sendfile 

"에 sendfile() 데이터를 복사합니다.이 복사가 커널에서 수행되기 때문에, sendfile을은() (2) (2), 쓰기 읽기의 조합보다 더 효율적이다 사용자 공간으로 데이터를 전송하거나 사용자 공간에서 데이터를 전송해야합니다. "

관련 문제