使用Linux将DVD内容复制到硬盘的最快方法是什么?

时间:2012-06-18 15:12:13

标签: c++ linux dvd

我已经浏览了一些链接,其中讨论了使用FILE_FLAG_NO_BUFFERINGFILE_FLAG_OVERLAPPED在Windows中复制文件的最快方法。它还谈到了如何 BUFFER SIZE作为256KB and 128KB的读写操作请求速度高于1Mb。此链接为: - Explanation for tiny reads (overlapped, buffered) outperforming large contiguous reads? 我也在linux中使用类似的方法,这样我就可以快速地将DVD的内容复制到硬盘中。所以我想知道Linux中是否有一些文件操作标志可以提供最好的结果,或者Linux中的哪种复制方式最好?我的代码都是用c ++编写的。

1 个答案:

答案 0 :(得分:1)

安装DVD,打开()要复制的文件,然后使用sendfile()。如果您想要复制完整的DVD,您也可以尝试打开()DVD的/ dev条目并将该描述符传递给sendfile()。

$ man 2 sendfile

“sendfile()在一个文件描述符和另一个文件描述符之间复制数据。因为这种复制是在内核中完成的,所以sendfile()比read(2)和write(2)的组合更有效,这需要传输数据进出用户空间。“