Partições são sequências de blocos e, por convenção de longa data, um bloco tem 512 bytes.
Portanto, uma partição pode iniciar em qualquer múltiplo de 512 bytes dentro de um disco, "visto" como uma sequência muito longa de bytes.
O hardware de disco subjacente, no entanto, que originalmente tinha o mesmo tamanho de setor de 512 bytes, agora usa um tamanho maior para eficiência. Digamos que seja 4096 bytes.
Por motivos de compatibilidade, o firmware entre o sistema operacional e o hardware ainda "fala em setores". Então você pergunta ao primeiro setor e o hardware recupera o primeiro bloco (4096 bytes), e o firmware extrai e entrega a fatia apropriada. Você pergunta ao segundo bloco e o bloco provavelmente é recuperado do cache.
Até agora, a incompatibilidade de tamanho do setor não tem contras.
Mas o sistema operacional também emprega blocos (geralmente chamados de clusters ) para eficiência, e os alinha à partição. Portanto, um cluster de 4 setores será composto pelos setores 5, 6, 7 e 8.
Quando o sistema operacional solicita o cluster de sistema de arquivos nº 2, o firmware recebe os setores lógicos 5, 6, 7 e 8. Se todos estiverem no mesmo bloco de disco , o disco deverá executar UMA leitura.
Mas se a partição iniciar no setor "errado", o primeiro cluster no sistema de arquivos acabará, por exemplo, simplificando nos setores 2, 3, 4 e 5. E eles poderão estar na metade do primeiro bloco de disco (1 -2-3-4), metade do segundo (5-6-7-8).
Agora você precisa de uma leitura extra . Para proporções de SO: disco de 1: 1, é o mesmo que dobrar as leituras. Se a proporção de SO / disco for 2: 1, um cluster tiver dois blocos de disco de hardware, você precisará de 2 + 1 = 3 leituras, uma penalidade de 50%:
OS |--- cluster 12 ---|--- cluster 13 ---|--- cluster 14...
| | |
HDD --|----|----|----|-a--|--b-|-c--|-d--|-e--|----|--- BAD
| | |
HDD |----|----|----|----|-a--|--b-|-c--|-d--|----|----|--- GOOD
Acima, um cluster possui 4 blocos de hardware (proporção 4: 1) de 2 setores cada. Alinhar em setores "pares" significa que, para ler um cluster, essas 8 leituras de setor são convertidas em 4 leituras de bloco. Alinhar em setores ímpares significa que as mesmas 8 leituras de setor exigem 4 + 1 = 5 leituras de bloco, uma penalidade de desempenho de 25% (você adiciona uma leitura a cada quatro).
Se você tiver um disco desalinhado com proporção de 4: 1, o alinhamento o tornará 20% mais rápido (você salva uma leitura a cada 5).
Para tornar uma partição "alinhada", mova / defina seu deslocamento do início do disco para o múltiplo apropriado de setores 512b ou (dependendo da ferramenta), você pode inserir uma pequena partição no início do disco, com um tamanho que a próxima partição inicie exatamente em um limite do setor de disco. Neste segundo caso, enquanto em teoria você precisa no máximo de setores N-1, ou seja, muito poucos kilobytes, na prática você provavelmente precisará desperdiçar algumas centenas de kilobytes, possivelmente megabytes inteiros, para extrair o máximo desempenho da sua disco rígido de vários gigabytes.
(Você provavelmente pode recuperar esse espaço e muito mais, escolhendo adequadamente o tamanho do cluster do SO ).