A criação do arquivo de 1,3 GB leva apenas 1 segundo. Quão?

44

Eu tenho uma pasta que contém mais de 200 arquivos e tem tamanho acima de 1,3 GB:

insira a descrição da imagem aqui

Eu uso o software Gizmo Drive para criar um arquivo .iso a partir dessa pasta.

insira a descrição da imagem aqui

O interessante é que leva apenas 1 ou 2 segundos !

insira a descrição da imagem aqui

Eu tentei isso várias vezes. Eu até tentei criar o arquivo .iso em outro volume. Novamente, leva apenas 1 ou 2 segundos.

Eu tentei montar o arquivo .iso, tudo funciona bem. Eu pensei que poderia ser um arquivo .iso referenciando a pasta de origem, então mudei a pasta de origem para outro lugar, mas sem sorte. Até copiar o arquivo .iso produzido leva minutos!

Então, como é que a criação do arquivo .iso leva apenas 1 segundo! Você tem alguma explicação para isso?

Notas

  1. Todos os testes realizados em um disco rígido normal, sem SSD.
  2. Usando o Windows 7 x64, tem 16 Gig de memória, CPU Core i5.

Eu usei o sync.exe para liberar todos os dados do sistema de arquivos no disco logo após a criação do arquivo .iso e o sync.exe levou 14 segundos para liberar os dados. Isso significa que leva 14 segundos para criar o arquivo .iso. Uma referência rápida na minha unidade D: mostra que ele pode gravar o mesmo arquivo .iso de um SSD na minha unidade D: em 14 segundos e confirma que a pasta de origem está na RAM e leva 14 segundos para liberar os dados. **

Ramazan Polat
fonte
28
Você sabe ... cache.
mg30rg
1
Você tentou repetir após uma reinicialização completa do computador?
ADTC
1
Também sugiro tentar outro software como o CDBurnerXP para criar uma ISO e verificar se você obtém os mesmos resultados. Também espero que D:não seja uma unidade de RAM - improvável, mas possível.
ADTC
1
Tente executar o Synccomando mencionado aqui depois de criar o ISO, veja quanto tempo leva.
Barmar
1
@ Barmar Eu usei o Sync e você pode ver o resultado no último parágrafo da pergunta. Obrigado.
Ramazan Polat

Respostas:

69

Com 16 GB de RAM, você provavelmente tem muito disponível para cache de disco. O ISO provavelmente acabou de ser totalmente armazenado em buffer na RAM pelo sistema operacional; será gravado no disco mais tarde, mas os aplicativos não precisam esperar por isso.

Wyzard - Pare de prejudicar Monica--
fonte
42
Sim, se você desligar o computador sem fazer um desligamento adequado, dados que foram escritos recentemente por aplicativos pode não ter realmente sido escrito para o disco ainda.
você precisa saber antes de começar
3
Não demorou muito para 'reservar' espaço em um sistema de arquivos, eu fiz isso para arquivos muito grandes em C ++ (vários TB) procurando o último byte do deslocamento de arquivo da origem - alocação instantânea de arquivos multi-terrabytes ; na verdade, a gravação de muitas informações demora um pouco, mas com o Windows 7 os arquivos são armazenados em cache na memória 'livre' - os arquivos lidos ou gravados anteriormente serão retidos como páginas até que haja pressão da memória para liberar as páginas sob a premissa de que o arquivo mais provável ser necessária foi o mais recente a ser utilizado - isto é novo no Windows 7.
Michael Stimson
10
Ele não leu os arquivos de origem ... eles já estão armazenados em cache no ram porque você os acessou recentemente. Reinicie para limpar o cache, em seguida, tentar criar o iso e será mais lento.
Psusi 29/10/14
8
Estagiário da Microsoft participando. Meu gerente trabalhou muito no NTFS e me disse (IIRC) que pode demorar dezesseis segundos entre o momento em que você liga WriteFilee o momento em que os dados começam a atingir o controlador de disco. Durante esse período, as chamadas de leitura / gravação farão referência à versão na memória. O sinalizador de gravação permitirá que você ignore o cache do Windows, mas você ainda está à mercê do cache do controlador de disco.
zneak
2
Se você copiar seu arquivo para outra unidade, estará copiando os dados corretos do cache, mesmo que ainda não tenham sido gravados no disco. Todo o acesso a arquivos passa pelo cache de disco do sistema operacional, para que o sistema operacional possa apresentar uma visão correta e consistente do que foi gravado no sistema de arquivos, mesmo que a gravação real no disco físico subjacente ainda não tenha sido concluída. (E não tenho certeza do que você quer dizer com escrever todos os zeros - o valor dos bytes não afeta a rapidez com que eles podem ser armazenados na RAM.)
Wyzard --Stop Harming Monica--