As partições são sequências de blocos e, por uma convenção de longa data, um bloco é de 512 bytes.
Assim, uma partição pode começar em qualquer múltiplo de 512 bytes dentro de um disco, "visto" como uma longa seqüência de bytes.
O hardware de disco subjacente, porém, que originalmente tinha o mesmo tamanho de setor de 512 bytes, usa agora um tamanho maior para eficiência. Digamos que sejam 4096 bytes.
Por razões 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 alinhará à partição. Então, um cluster de 4 setores será formado pelos setores 5, 6, 7 e 8.
Quando o sistema operacional solicita o sistema de arquivos cluster # 2, o firmware é solicitado para os setores lógico 5, 6, 7 e 8. Se eles estiverem todos no mesmo < bloco strong> disk , então o disco tem que executar uma leitura.
Mas se a partição começar no setor "errado", o primeiro cluster no sistema de arquivos, por exemplo, terminará, simplificando, nos setores 2, 3, 4 e 5. E eles podem ser a metade do primeiro disco bloco (1-2-3-4), metade no segundo (5-6-7-8).
Agora você precisa de uma leitura extra . Para as taxas de sistema operacional em disco de 1: 1, isso é o mesmo que dobrar as leituras. Se a relação OS-para-disco for 2: 1, um cluster é 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 é de 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 do setor são traduzidas para 4 leituras de blocos. Alinhar em setores ímpares significa que as mesmas 8 seções do setor exigem 4 + 1 = 5 leituras de blocos, 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 será 20% mais rápido (você salva uma leitura a cada 5).
Para tornar uma partição "alinhada", você pode mover / definir seu deslocamento do início do disco para o múltiplo apropriado dos 512b setores, ou (dependendo da ferramenta) você pode inserir uma pequena partição no início de o disco, com tamanho tal que a próxima partição começa exatamente em um limite de setor de disco. Neste segundo caso, enquanto em teoria você precisa de no máximo N-1 setores, ou seja, muito poucos quilobytes, na prática você provavelmente precisará perder algumas centenas de kilobytes, possivelmente todo megabytes, a fim de extrair o máximo de desempenho do seu disco rígido multi-gigabyte.
(Você provavelmente poderia recuperar esse espaço e muito mais, escolhendo apropriadamente o tamanho do cluster do SO ).