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

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

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.

informação relacionada