por que parece ser uma boa prática definir limites de partição para valores inteiros de MB?

por que parece ser uma boa prática definir limites de partição para valores inteiros de MB?

recentemente mudei para um novo hardware com todas as alegrias e tarefas de aprender como as coisas mudaram e funcionam agora.

quando me deparei comtarefa de re/particionamento usando gpartedistoescolheu automaticamente definir os limites da partição para valores inteiros de MB, deixando ocasionalmente pequenos espaços entre as partições.

agora me pergunto:

já que é apenas um número arbitrário (especialmente quando se considera SSDs com seus controladores de armazenamento de baixo nível internos) onde minha partição começa ou termina,

por que parece ser uma boa escolha deixar essas lacunas na unidade?

saúde

Responder1

Isso tem a ver com o alinhamento da partição. Essencialmente, nos bastidores, seu disco rígido é dividido em setores. Sempre que o disco rígido realiza uma operação, ele atua em todo o setor de uma só vez; isto é, quando lê qualquer dado armazenado em um setor, deve ler todo o setor. Se os dados forem divididos em vários setores, ele deverá ler a totalidade de cada um desses setores. O sistema de arquivos que vai em uma partição também aloca o espaço disponível em blocos (cujo tamanho geralmente é um parâmetro ajustável na criação do sistema de arquivos; para um FS que consistirá principalmente de arquivos pequenos, você usaria um tamanho de bloco pequeno, para algo principalmente grande você usaria um tamanho de bloco grande, com o objetivo de minimizar o desperdício de espaço - se um arquivo for menor que o tamanho do bloco, o resto do bloco será desperdiçado, mas quanto menor o tamanho do bloco, maiores serão as tabelas que abordam todos os blocos devem ser).

Agora, essencialmente, você precisa que os blocos do sistema de arquivos e os setores do disco estejam alinhados - um deve caber no outro sem resto e, principalmente, eles devem começar no mesmo lugar, para que não haja sobreposição fracionária. Digamos que você tenha um disco com tamanho de setor de 4kb e seu sistema de arquivos esteja em blocos de 1kb. Se a sua partição iniciar com um pequeno deslocamento do início de um setor - mesmo que sejam apenas alguns bytes - cada quarto bloco no seu sistema de arquivos será na verdade dividido em dois setores, então você deve ler/gravar ambos os setores no disco sempre que interagir com esse bloco. Isso representa uma sobrecarga de 25%, que pode rapidamente resultar em uma redução considerável no desempenho. Se o tamanho do bloco de alocação FS for igual ao tamanho do setor HD (4k não seria irracional para ambos) e você tiver esse deslocamento, cada leitura/gravação teria esse problema, o que seria um enorme impacto no desempenho.

Para evitar isso, alinhamos de forma conservadora o início das partições com os limites de megabyte (já que um megabyte ainda deve ser um bom múltiplo do tamanho do bloco/setor, mesmo vários anos depois, com quaisquer unidades enormes que tivermos). Isso pode resultar em pequenas “lacunas” no disco se os tamanhos das partições também não corresponderem perfeitamente e terminarem exatamente no limite de um megabyte. Sempre há uma lacuna no início do disco porque os primeiros setores do disco são reservados para outras finalidades.

https://www.thomas-krenn.com/en/wiki/Partition_Alignmentdescreve o problema com mais detalhes específicos. Porém, como apontado, o espaço perdido comparado ao tamanho de um disco moderno é bastante trivial.

Responder2

por que parece ser uma boa escolha deixar essas lacunas na unidade?

Isso parece ser um uso de "faixas de guarda".
Às vezes eu via a não alocação (intencional?) Da última ou duas últimas faixas no final de uma partição.
Em teoria, eles não deveriam ser necessários.

Para uma unidade de disco rígido, as partições costumavam ser alocadas para iniciar em um limite de cilindro. Tal alocação minimizaria o número de buscas dentro da partição e, assim, melhoraria os tempos gerais de acesso.
Mas hoje em dia, com os HDDs que usam gravação de bits de zona, o programa de particionamento realmente não conhece a geometria real da unidade e onde estão os cilindros físicos, portanto, qualquer "alinhamento de cilindro" é essencialmente sem sentido.

Para uma unidade de estado sólido, as partições precisam ser alocadas para ocupar um número inteiro de blocos de apagamento. Como os chips flash NAND dimensionam seus setores R/W e páginas e apagam blocos em potências de 2, presume-se que dimensionar e alinhar a partição SSD em unidades de grande potência de 2, como 1 Megabyte, abrange um número inteiro de tais páginas/blocos.

informação relacionada