O que faz o processador quando copio coisas de um disco USB para outro?

19

Todos os dados que copio passam por ele ou existe outra maneira mais direta?

    
por Felix Dombek 04.02.2011 / 13:04

3 respostas

29

Um complicado! Os dados realmente não passam pela CPU em si.

Dados e os 1's críticos e 0s passam pelo chipset, ou chips de E / S dedicados e memória, no entanto, 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 (chip Chipset / I / O) e seu cérebro (o processador). Você não usa seu cérebro para mover o objeto, seu cérebro executa o "comando" para seus braços para mover o objeto.

    
por 04.02.2011 / 13:26
5

A CPU precisa executar o programa que lê o arquivo de origem e, em seguida, grava o arquivo de destino.

Os dados lidos (geralmente) serão lidos na memória principal em partes, mas não passam pela CPU.

    
por 04.02.2011 / 13:25
4

Em um mainframe com canais inteligentes, a CPU apenas informa aos canais para fazer a cópia. Muito eficiente e permite grandes backups rápidos com pouca sobrecarga de CPU.

Infelizmente, não temos canais inteligentes para que a CPU termine em um loop semelhante a:

for each file(dev1); do 
   createfile(dev2);
   copyfilecontent(dev1, dev2);
end;

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 arquivos geralmente tem a maior sobrecarga. Cópia de disco para disco apenas trate cada disco como um arquivo pré-existente.

    
por 04.02.2011 / 16:59