Como os HDDs mecânicos determinam quais arquivos serão sobrescritos ao copiar dados

0

Tamanho do disco rígido: 100 GB e ele contém vários arquivos de vários tamanhos de arquivo, todos adicionados em momentos diferentes e acumulados ao longo do tempo ... todos foram excluídos ...

Eu então copiei 25GB de dados (pequenos arquivos mbs em tamanho) para a unidade vazia ...

Quais arquivos excluídos são sobrescritos primeiro? os adicionados por último ou os adicionados primeiro? Ou a unidade espalha todos os arquivos em um movimento de dispersão por todos os lugares aleatórios dentro do espaço de 100 GB.

Então, são arquivos excluídos aleatoriamente que são sobrescritos independentemente da data adicionada ou os primeiros arquivos excluídos adicionados são substituídos primeiro?

    
por Jack 12.03.2017 / 22:07

2 respostas

2

Embora não seja verdadeiramente aleatório em uma situação como esta, é para todos os fins práticos aleatórios. Observe, no entanto, que, mesmo que os diretórios tenham sido sobrescritos, às vezes os arquivos podem ser encontrados por programas que pesquisam todo o disco. Embora eu tenha feito essas coisas de olho na era dos disquetes hoje em dia, isso só é viável se o arquivo tiver algum tipo de assinatura.

    
por 12.03.2017 / 22:54
2

Discos rígidos, HDDs ou SSDs, não entendem o conceito de arquivos. Eles armazenam apenas uma seqüência de bytes e é tudo com o que se importam. [1]

Os discos rígidos geralmente são particionados e as partições são formatadas com um sistema de arquivos de escolha (FS). [2] O sistema de arquivos que decide como e onde os arquivos são armazenados.

A resposta para sua pergunta é: depende .

O sistema de arquivos não se importa realmente quando um arquivo foi criado ou excluído. Uma vez deletado, ele não existe mais, o sistema de arquivos irá tratá-lo apenas como lixo, não como um arquivo.

Além disso, os arquivos não são armazenados continuamente: um único arquivo pode ser dividido em vários fragmentos e espalhado por toda a partição. É tarefa do sistema de arquivos montá-lo rapidamente para que o sistema operacional não perceba que foi cortado em primeiro lugar. Contra-intuitivamente, pode melhorar o desempenho: a fragmentação controlada pode ser usada para facilitar o fato de que partes externas dos discos HDD oferecem melhores velocidades de leitura / gravação e para evitar situações em que o FS é forçado a fragmentar um arquivo de uma maneira não cabe em qualquer parte desejável do disco.

Escrever padrões para sistemas de arquivos específicos pode ser previsível para casos específicos, mas não em geral. Tamanhos de arquivos específicos e a ordem em que você os armazena afetá-lo. Ao armazenar um novo arquivo, o sistema de arquivos não irá considerar se o espaço que vai usar foi usado ou não; ele não preferirá endereços usados anteriormente em endereços "limpos" ou o contrário. Depois que um arquivo é excluído, o FS trata o espaço ocupado de forma idêntica como espaço nunca usado.

[1] As unidades modernas têm uma camada adicional de abstração, portanto as regiões realmente usadas para armazenamento desses bytes podem não ser seqüenciais ou contíguas (por exemplo, devido a um mau remapeamento de blocos em HDDs e nivelamento de desgaste em SSDs). Isso não importa para o escopo da questão, vamos apenas dizer que todos os discos rígidos se expõem a outro hardware e sistema operacional como um dispositivo que pode armazenar um número de bytes sequenciais endereçados de forma confiável.

[2] As versões modernas do Windows usam o NTFS em partições do sistema operacional e NTFS ou FAT32 em partições adicionais. Os discos flash normalmente usam FAT32 ou às vezes exFAT. O Linux geralmente vive no sistema de arquivos ext4. A Apple estava usando o HFS + e agora está migrando para o APFS. Existem também alguns sistemas de arquivos para casos de uso especiais, por exemplo, o Btrfs e o ZFS orientados para escalabilidade, que foram projetados como uma solução de armazenamento de dados à prova de falhas, tudo em um.

    
por 12.03.2017 / 23:47