gpt4 book ai didi

c - cp 命令中上下文切换的次数

转载 作者:行者123 更新时间:2023-11-30 19:23:59 27 4
gpt4 key购买 nike

我试图了解 cp 命令与读/写组合的相似/不同之处在上下文切换方面。换句话说,使用 cp 从应用程序内复制数据相当于使用读/写组合。我认为读/写组合会进行 4 个上下文切换 - 用户上下文 - 内核上下文(数据复制到内核缓冲区,然后将数据复制到用户空间) - 用户上下文,用于读取,然后另一组 2 个上下文切换用于写入。cp 会发生多少次上下文切换?零复制或 sendfile 会更好吗比使用 cp?

我使用的是 Linux 平台,使用的内核版本高于 2.4。

谢谢。

最佳答案

我已经检查了 fileutils 4.1cp 的源代码,它通过调用 read() 复制常规文件>write() 在循环中。因此,对于特定的cp,它与读/写循环之间没有区别。

现在,对 read()write() 的调用次数显然取决于用于复制的缓冲区的大小。

最后,考虑到副本几乎肯定会受到 I/O 限制,很难看出上下文切换的数量有何相关性。如果它与您的特定情况相关,您可能需要详细说明它们是什么,以便我们能够解决这些情况。

关于c - cp 命令中上下文切换的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8456528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com