Answers:
整!数据本身并没有真正通过CPU。
数据以及关键的1和0通过芯片组或专用的I / O芯片和内存,但是,当您复制文件时,执行复制的命令将由处理器运行。
想象一下在您(数据),手臂(芯片组/ I / O芯片)和大脑(CPU)前面有一个对象。您实际上并没有使用大脑来移动对象,而是大脑对手臂执行了“命令”来移动对象。
interrupt
IO命令block device
(例如USB记忆棒)完成的时间来提供帮助。然后,CPU继续执行复制。实际上,CPU的工作是运行ioctl
与设备驱动程序连接的内核代码,以复制chunks
(实际名称)DMA
。CPU还处理内核代码执行透视图,asynchronous IO
并且与sync IO
内核代码执行透视图略有不同。
在具有智能通道的大型机上,cpu只会告诉通道进行复制。非常高效,可以快速进行大型备份,而CPU开销却很少。
不幸的是,我们没有智能通道,因此CPU最终陷入类似于以下的循环:
对于每个文件(dev1); 做 createfile(dev2); copyfilecontent(dev1,dev2); 结束;
除非有很多小文件,特别是同一目录中有很多文件,否则CPU开销不会很高。创建文件操作通常具有最高的开销。磁盘到磁盘的复制只是将每个磁盘视为一个预先存在的文件。