Índice do dicionário técnico

INT 13h

Por Carlos E. Morimoto em 28 de agosto de 2007 às 15h18

0

Ao longo da evolução dos micros PCs, existiram vários limites de capacidade dos HDs, causados por limitações nos endereços usados pelos BIOS e limitações por parte dos drivers e sistemas operacionais. Instalar um HD IDE de grande capacidade em um micro antigo pode ser bastante frustrante, com o BIOS da placa reconhecendo apenas os primeiros 504 MB ou os primeiros 7.88 GB do HD e o sistema operacional se recusando a carregar depois de instalado.

Estas limitações surgiram devido à falta de visão por parte dos projetistas que desenvolveram o padrão IDE e as instruções INT 13h do BIOS, as responsáveis pelo acesso ao HD. Elas foram originalmente desenvolvidas para serem usadas pelo PC AT (baseado no 286), mas acabaram sendo perpetuadas até os dias de hoje. Naquela época, HDs com mais de 504 MB pareciam uma realidade muito distante.

Ao formatar o HD, ele é dividido em clusters, que são a menor parcela do disco endereçada pelo sistema de arquivos. Cada cluster pode ter de 512 bytes a 32 KB, de acordo com o sistema de arquivos e as opções usadas durante a formatação.

Entretanto, num nível mais baixo, os setores do HD precisam ser endereçados diretamente. Cada setor possui apenas 512 bytes, de forma que é necessária uma grande quantidade de endereços para endereçá-los individualmente.

O padrão IDE reserva 16 bits para o endereçamento dos cilindros (65,536 combinações), 4 bits para o endereçamento das cabeças de leitura (16 combinações) e 8 bits para os setores dentro de cada cilindro (256 combinações), o que permite endereçar um total de 256 milhões de setores. Como cada setor tem sempre 512 bytes, teríamos, a princípio, suporte a HDs de até 128 GB.

Entretanto, o BIOS possui outras limitações para o acesso a discos (serviço chamado de INT 13h), reservando 10 bits para o endereçamento dos cilindros (1,024 combinações), 8 bits para as cabeças de leitura (256) e apenas 6 bits para os setores (63 combinações, pois o endereço 0 é reservado), o que permite endereçar 1.61 milhões de setores e consequentemente discos de até 7.88 GB. Essa configuração é apenas lógica, o modo como o BIOS enxerga o disco rígido, não tem necessariamente relação com a organização real do HD. A placa lógica de um HD de 504 MB pode dizer que tem 16 cabeças leitura e 63 setores por cilindro de forma a utilizar todos os endereços disponibilizados pelo BIOS, mas internamente endereçar os setores de forma diferente. Na prática não faz muita diferença, desde que cada setor receba uma identificação única.

Como é preciso usar tanto a interface IDE quanto as instruções INT 13h do BIOS, acabamos por juntar os dois conjuntos de limitações. O padrão IDE reserva 16 bits para o endereçamento dos cilindros, porém o BIOS só utiliza 10. O BIOS por sua vez reserva 8 bits para o endereçamento das cabeças de leitura, porém só pode utilizar 4 por limitações da interface. A capacidade de endereçamento então acaba sendo nivelada por baixo, combinando as limitações de ambos os padrões, permitindo endereçar discos de no máximo 504 MB, limite para a maioria dos micros 486 ou inferiores. Este método de endereçamento é chamado de Normal ou CHS (cilindro, cabeça de leitura e setor). Esta limitação com relação a HDs de 504 MB foi derrubada com o surgimento do padrão LBA.

Sem comentáriosPor Carlos E. Morimoto. Revisado 28 de agosto de 2007 às 15h18

Comentários