Por que o número total de setores do disco rígido mostrado no fdisk não é o mesmo que o cálculo teórico?

9

Quando usamos o fdisk para verificar um disco rígido, ele mostra algo como:

Disk /dev/sda/: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors

Mas quando multiplicamos 255 x 63 x 2610, o número é 41929650, um pouco menor que o total não. dos setores mostrados acima. Por quê?

GreenPenguin
fonte
3
Definitivamente relacionadas: Interpretação do número de cabeças devolvido pelo fdisk em Super User . Divulgação completa: A resposta aceita é minha.
um CVn

Respostas:

14

Os números do cabeçote, cilindro e setor são exibidos apenas para fins históricos e para uso em alguns softwares muito antigos. O endereçamento de bloco lógico é usado para endereçar discos hoje. A geometria dos discos modernos geralmente possui um número variável de setores, as faixas externas têm mais setores do que as faixas internas.

Várias interfaces têm valores máximos de 255 cabeças, 63 setores / faixa, para poder expressar os valores CHS para um disco grande, eles são definidos com seus respectivos valores máximos e o número de cilindros é arredondado para o valor inteiro mais próximo, um valor aproximado do número total de setores no disco. O número real de setores é tipicamente diferente, como você viu. A geometria real do disco não chega nem perto dos valores do CHS; provavelmente nenhum disco já fabricado possui 255 cabeças, por exemplo.

Johan Myréen
fonte
6
"O endereçamento de bloco lógico é usado para endereçar discos hoje" - Apenas para dar uma perspectiva do período: o LBA de 22 bits foi introduzido em 1986, 28 bits em 1994 e 48 bits em 2003. Desde 1996, todas as unidades suportam o LBA . Sem o LBA, o tamanho máximo da unidade endereçável é de ~ 7,8 GiByte em comparação com 128 PiByte com o LBA48.
Jörg W Mittag