Todos os dados que copio passam por ele ou existe outra forma mais direta?
Responder1
Complicado! Os dados realmente não passam pela CPU por si só.
Os dados e os 1 e 0 críticos passam pelo chipset, ou chips de E/S dedicados e memória, porém, quando você está copiando arquivos, o comando para fazer a cópia é executado pelo processador.
Imagine ter um objeto à sua frente (os dados), seus braços (chipset/chip de E/S) e seu cérebro (a CPU). Na verdade, você não usa seu cérebro para mover o objeto; seu cérebro envia o "comando" aos seus braços para mover o objeto.
Responder2
A CPU deve executar o programa que lê o arquivo de origem e depois grava o arquivo de destino.
Os dados lidos serão (normalmente) lidos na memória principal em pedaços, mas na verdade não passam pela CPU.
Responder3
Em um mainframe com canais inteligentes, a CPU apenas diria aos canais para fazerem a cópia. Muito eficiente e permite backups grandes e rápidos com pouca sobrecarga de CPU.
Infelizmente, não temos canais inteligentes, então a CPU acaba em um loop semelhante a:
para cada arquivo(dev1); fazer criararquivo(dev2); copyfilecontent(dev1, dev2); fim;
A sobrecarga da CPU não é tão alta, a menos que haja muitos arquivos pequenos, especialmente muitos arquivos no mesmo diretório. A operação de criação de arquivo geralmente tem a sobrecarga mais alta. A cópia de disco para disco apenas trata cada disco como um arquivo pré-existente.