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

4

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

quando deparei com a tarefa re / particionamento usando o gparted ela escolheu automaticamente definir os limites da partição para valores MB , deixando pequenas lacunas entre as partições ocasionalmente.

agora eu me pergunto:

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

por que parece ser uma boa escolha deixar essas lacunas no disco ?

felicidades

    
por qbit 26.01.2016 / 00:18

2 respostas

3

Isso tem a ver com o alinhamento da partição. Essencialmente, sob o capô, 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 dentro de 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 entra 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 que você usaria um tamanho de bloco pequeno) grande você usaria um grande tamanho de bloco, com o objetivo de minimizar o desperdício de espaço - se um arquivo é menor que o tamanho do bloco, o resto do bloco é desperdiçado, mas quanto menor o tamanho do bloco, maiores serão as tabelas blocos devem ser).

Agora, essencialmente, você precisa que seus blocos de sistema de arquivos e setores de disco fiquem alinhados - um deve caber no outro sem resto, e crucialmente eles devem começar no mesmo local, portanto não há 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 sua partição começa com um pequeno deslocamento desde o início de um setor - mesmo que seja apenas alguns bytes - cada quarto bloco do seu sistema de arquivos será 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%, o que pode resultar em uma redução considerável no desempenho. Se o tamanho do bloco de alocação do FS for o mesmo que o tamanho do setor de HD (4k não seria razoável para ambos) e você tiver esse deslocamento, cada leitura / gravação teria esse problema, o que seria um grande impacto no desempenho.

Para evitar isso, alinhamos de maneira conservadora o início das partições com limites de megabytes (como um megabyte ainda deve ser um bom múltiplo do tamanho de bloco / setor mesmo vários anos abaixo com qualquer unidade massiva que tenhamos na época). Isso pode resultar em pequenas "lacunas" no disco, se os tamanhos das partições também não corresponderem exatamente e terminarem exatamente em um limite de megabytes. Há sempre uma lacuna deixada no início do disco, porque os primeiros setores no disco são reservados para outras finalidades.

link descreve o problema em detalhes mais específicos. No entanto, como salientado, o espaço perdido em comparação com o tamanho de um disco moderno é bastante trivial.

    
por 26.01.2016 / 00:59
1

why does it seem to be a good choice to leave those gaps on the drive?

Isso parece ser um uso de "bandas de guarda".
Às vezes, eu veria a (não intencional?) Não alocação da última faixa ou duas 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. Essa alocação minimizaria o número de buscas dentro da partição e, assim, melhoraria os tempos de acesso geral.
Mas hoje em dia com HDDs usando gravação de bit de zona, o programa de particionamento realmente não conhece a geometria real da unidade e onde os cilindros físicos estão, 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 integral de blocos de apagamento. Como os chips flash NAND dimensionam seus setores e páginas R / W e apagam blocos em potências de 2, presume-se que o dimensionamento e o alinhamento da partição SSD em unidades de uma grande potência de 2, como 1 Megabyte, abranja um número integral de tais páginas / blocos.

    
por 26.01.2016 / 01:29