【发布时间】:2011-12-10 12:35:19
【问题描述】:
我试图了解 cp 命令与读/写组合的相似之处/不同之处 在上下文切换方面。换句话说,使用 cp 从应用程序中复制数据相当于使用读/写组合。我认为读/写组合做了 4 个上下文切换 - 用户上下文 - 内核上下文(数据复制到内核缓冲区,然后数据复制到用户空间) - 用户上下文,用于读取,然后是另一组 2 个用于写入的上下文切换。 cp 会发生多少次上下文切换?零拷贝或发送文件也会更好 比使用cp?
我在 linux 平台上使用 2.4 之后的内核。
谢谢。
【问题讨论】:
-
你似乎忘记了如何accept answers。
-
使用
strace查看系统调用cp做了什么。 -
闻起来像过早优化。
-
正如@R.. 所说,过早优化。 IO 的瓶颈在于上下文切换之外的其他地方。您的进程很可能大部分时间都在等待,因为 IO 缓冲区已满。所以你会得到很多上下文切换信号等等。
标签: c linux linux-kernel system