Mover dados de partição para partição na mesma unidade

Mover dados de partição para partição na mesma unidade

Mover dados de uma unidade para outra é lento. Copiar dados de uma unidade para si mesmo é lento. Mover dados de uma unidade para ela mesma é rápido.

Se estou movendo dados na MESMA unidade, mas em uma partição diferente, não deveria ser rápido? Presumi que a mudança seria uma grande alteração na tabela e não uma movimentação real (copiar/excluir) dos dados no disco. Como posso ter certeza de que é isso que acontece?

Para sua informação, estou no mac osx e estou lidando com duas partições fat32 no mesmo externo.

Responder1

Se estou movendo dados na MESMA unidade, mas em uma partição diferente, não deveria ser rápido? Presumi que a mudança seria uma grande mudança de mesa...

Não, porque um FAT faz parteasistema de arquivos e cada partição contémumsistema de arquivo. Portanto, se você mover dados para um sistema de arquivos diferente, o sistema operacional não poderá simplesmente reorganizar as coisas em uma tabela gorda - há duas a serem consideradas e elas não se mapeiam arbitrariamente. O destino deve alocar parte de seu próprio espaço e a origem (em um movimento) libera parte.

Se fosse apenas uma questão de reorganizar as tabelas, você encontraria inconsistências como:

  • Eu tenho uma partição de 100 GB e uma partição de 2 GB. Se mover um para o outro envolvesse apenas reorganizar tabelas, eu deveria conseguir mover um arquivo de 20 GB do primeiro para o último.

  • Eu movo arquivos para uma partição em um pendrive e depois movo o pendrive: se mover arquivos envolve apenas reorganizar tabelas, onde estarão os arquivos quando eu colocar isso em outro computador?

Sei que o segundo caso não faz parte do contexto ao qual você está se referindo, mas a razão pela qual eles equivalem à mesma coisa é porque, caso contrário, você precisaria de outra camada de abstração armazenada no dispositivo. Não pode ser algo simplesmente inventado e manipulado pelo sistema operacional, porque você pode mover o dispositivo e/ou usá-lo em um sistema operacional diferente: agora onde está a informação?

Dispositivospoderiacontêm metadados indicando o tamanho, tipo e deslocamento de suas partições. Felizmente,não contêm informações sobrecontentedestas partições. Digo felizmente porque isto certamente criará mais problemas do que soluções.

Os sistemas de arquivos devem ser entidades discretas de nível superior, e não coisas que fazem parte de um sistema maior de armazenamento (embora elespoderiaseja isso em alguns contextos).

No entanto, alguns dispositivos, como SSDs, podem implementar um recurso de otimização semelhante ao que você sugere no nível do hardware. Em outras palavras, se você mover algo de uma partição para outra em um SSD, isso poderá apenas reorganizar algumas referências, na medida em que o hardware esteja se responsabilizando por si mesmo como um todo, independentemente de como foi dividido em partições diferentes em um SSD. maior nível de abstração. Isso seria totalmente opaco para o sistema operacional e tudo mais, mas você pode perceber isso como um movimento extremamente rápido. Requer que o dispositivo execute algum tipo de firmware que apresente umvirtualconjunto de endereços de bloco para o sistema operacional e, em seguida, mapeia-os para o próprio físico, o que as unidades tradicionais não fazem: elas apresentam os endereços físicos reais ao sistema operacional para que ele possa fazer o uso ideal possível. Conseqüentemente, as implementações de sistemas de arquivos (FAT, etc.) devem assumir que estão organizando uma região física real de um dispositivo e que não há nenhuma camada acima do sistema de arquivos para tentar organizar ainda mais o conteúdo de todo o dispositivo (além de dividi-lo em partições).

informação relacionada