【问题标题】:Is zero copy principle supported in MacMac 是否支持零拷贝原则
【发布时间】:2015-08-26 15:45:33
【问题描述】:

Hi 试图理解零拷贝原则。维基百科说

一些操作系统支持文件的零拷贝,通过 特定的 API。

Linux 内核通过各种系统调用支持零拷贝,例如 作为 sys/socket.h 的 sendfile、sendfile64 和 splice。他们之中有一些是 在 POSIX 中指定,因此也出现在 BSD 内核或 IBM AIX,有些是 Linux 内核 API 独有的。

Microsoft Windows 通过 TransmitFile API 支持零拷贝。

Java 输入流可以通过 java.nio.channels.FileChannel 的 transferTo() 方法如果底层 操作系统也支持零拷贝。[4]

虽然它说存在于 BSD 内核中,但我没有看到任何提及 OSX。

但是http://www.bigfastblog.com/zero-copy-transfer-data-faster-in-ruby 博客说它在 OSX 中不受支持。

【问题讨论】:

    标签: java linux macos operating-system


    【解决方案1】:

    OS X 有一个man page for sendfile。虽然它没有提及零拷贝,但它确实将 sendfile 称为系统调用(与一些围绕打开/读取/写入/关闭的包装器相反)所以我认为它假设它不涉及将文件复制到用户空间是非常安全的。

    【讨论】:

      猜你喜欢
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2017-07-06
      • 1970-01-01
      相关资源
      最近更新 更多