• Nenhum resultado encontrado

O Gigabyte de 1 Bilhão de Bytes

No documento ESTE MANUAL NÃO PODE SER VENDIDO (páginas 44-48)

Nós, como seres humanos, estamos acostumados a pensar em valores segundo o padrão decimal, tendo muito mais facilidade em lidar com números múltiplos de 10. Um computador porém, trabalha com o sistema binário, por isso, um Kilobyte não corresponde a 1000 bytes, e sim a 1024 bytes, já que 1024 é a potência de 2 mais próxima de 1000.

Um Megabyte corresponde a 1,048,576 bytes e um Gigabyte corresponde a 1,073,741,824 bytes. O problema é que os fabricantes, a fim de engordar o tamanho de

seus discos, costumam usar o sistema decimal para medir a capacidade dos discos. Assim, um HD vendido como um disco de 4.3 Gigabytes ao invés de ter 4,617,089,843 bytes, possui geralmente apenas 4.3 bilhões, que correspondem a pouco mais de 4 Gigabytes reais .

O usuário então, todo feliz com seu novo HD de 4.3 Gigabytes, percebe, ao instalá-lo, que sua capacidade é de apenas 4 Gigabytes e fica se perguntando quem “comeu” os outros 300 Megabytes do seu HD. Infelizmente, esta prática tem sido usada por praticamente todos os fabricantes, que geralmente têm a cara de pau de escrever no manual do disco rígido, ou mesmo no próprio, uma mensagem como “O fabricante se reserva o direito de considerar 1 Gigabyte como 1,000,000,000 de bytes”.

As barreiras de 504 MB e 8 GB

Um grande problema que enfrentamos ao tentar instalar um HD moderno numa placa mãe mais antiga, são as limitações quanto à capacidade do disco. Na época dos 486s o limite era quanto a HDs maiores que 504 MB (528 MB na notação decimal utilizada pelos fabricantes) e, nas placas mãe produzidas até pouco tempo atrás, existe uma nova limitação, agora para HDs maiores que 7.88 GB (8.4 GB pela notação decimal)

Estas limitações surgiram devido à falta de visão das pessoas que desenvolveram o padrão IDE e as instruções INT 13h do BIOS, as responsáveis pelo acesso à disco, desenvolvidas para serem usadas pelo PC AT, mas que acabaram sendo perpetuadas até os dias de hoje. Naquela época, HDs com mais de 504 MB pareciam uma realidade muito distante, e o homem que viria a se tornar o presidente da Microsoft e o empresário mais rido do mundo, acreditava piamente que ninguém um dia viria a precisar de mais de 640 KB de memória RAM :-)

A divisão do disco em clusters, usando um sistema de arquivos qualquer, visa o suporte por parte do sistema operacional. Num nível mais baixo, porém, é preciso acessar individualmente os setores do disco rígido e, para isso, é preciso que cada setor tenha um endereço único.

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), 8 bits para o setor (256 combinações), o que permite endereçar 256 milhões de setores. Como cada setor tem sempre 512 bytes, temos suporte a HDs de até 128 GB.

endereço 0 é reservado), o que permite endereçar 1.61 milhões de setores e consequentemente discos de até 7.88 GB.

Como é preciso usar tanto a interface IDE quanto as instruções INT 13h do BIOS, acabamos por juntar suas limitações. A interface IDE reserva 16 bits para o endereçamento dos cilindros, porém o BIOS só utiliza 10 destes bits. 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). Veja a representação na tabela:

Limitações Cilindro Cabeça de

leitura Setor Capacidademáxima

Interface IDE / ATA 16 bits (65,536 combinações) 4 bits (16 combinações) 8 bits (256 combinações) 128 GB INT 13h (BIOS) 10 (1024 combinações) 8 bits (256 combinações) 6 bits (63 combinações) 7.88 GB Combinação

de ambos 10 bits 4 bits 6 504 MB

Esta configuração é apenas lógica, o modo como o BIOS enxerga o disco rígido, não tem nada a ver com a geometria física do disco rígido, que diz respeito apenas à placa lógica do HD. Um disco de 504 MB, por exemplo, jamais teria 16 cabeças de leitura, tão pouco teria apenas 63 setores por cilindro. A placa lógica neste caso se encarrega de converter os endereços lógicos do BIOS para os endereços físicos reais.

Na época do 286, onde eram usados HDs de no máximo 20 ou 40 MB, este limite não incomodava ninguém; mas a partir do momento em que passamos a ter HDs de 800 MB, 1 GB, 1.2 GB, etc. alguma coisa precisava ser feita.

A primeira solução foi o Extended CHS ou modo Large. Este padrão continua com as mesmas limitações da interface IDE e do INT 13, mas usa um pequeno truque para burlar suas limitações.

O BIOS possui mais endereços para as cabeças de leitura (256 contra 16), porém, a interface IDE possui mais endereços para os cilindros (65,536 contra 1024). Usando o modo Large passamos a utilizar um tradutor, um pequeno programa integrado ao BIOS encarregado de converter endereços. A conversão é feita usando um simples fator multiplicativo: a interface IDE permite mais endereços para o cilindro, mas ao mesmo tempo permite menos endereços para a cabeça de leitura, podemos então aplicar a

tradução de endereços dividindo o número de endereços do cilindro e multiplicando os endereços para cabeças de leitura pelo mesmo número. Podem ser usados os números 2, 4, 8 e 16.

Se por exemplo, instalássemos um drive com uma geometria lógica de 3,068 cilindros, 16 cabeças e 63 setores, usando o fator 4 passaríamos a ter 3,086 / 4 = 767 cilindros, 16 x 4 = 64 cabeças e 63 setores, veja que agora temos endereços dentro dos limites do BIOS e por isso podemos utilizar os 1.5 GB do disco sem problemas:

Cilindros Cabeça de

leitura Setor Capacidade

Geometria lógica do disco 3,068 16 63 1.5 GB Geometria traduzida para o BIOS 3,068 / 4 = 767 16 x 4 = 64 63 1.5 GB Limites do BIOS 1024 256 63 7.88 GB

O modo Large nunca foi muito utilizado, pois logo depois surgiu uma solução bem melhor para o problema, conhecida como modo LBA, contração de Logical Block Addressing ou endereçamento lógico de blocos.

A idéia é a seguinte: o padrão IDE reserva 16 bits para o endereçamento do cilindro, 4 bits para o endereçamento da cabeça de leitura e mais 8 bits para o setor, totalizando 28 bits de endereçamento. O modo LBA abandona o endereçamento CHS, com endereços independentes para cilindros, cabeças e setores, passando a adotar um endereço único. Os setores passam então a receber endereços seqüenciais, 0, 1, 2, 3, 4 etc. assim como os clusters no sistema FAT. Os 28 bits de endereçamento permitem então 228 milhões de endereços, o que corresponde a HDs de até 137 GB.

Claro que para usar o LBA é preciso que o disco rígido suporte este modo de endereçamento. Felizmente, praticamente todos os HDs acima de 504 MB e todos os HDs atuais suportam o LBA. Na verdade, o modo Large só deve ser usado nos raríssimos casos de HDs com mais de 504 MB, que por ventura não suportem o LBA. Veja que para endereçar os 137 GB permitidos pelo LBA, é preciso abandonar o uso das instruções INT 13h, o que significa desenvolver novas instruções de acesso à disco para o BIOS.

velhas instruções. Esta lista inclui todas as placas Soquete 7 antigas, para Pentium e MMX, as placas para 486 que eventualmente suportem LBA e, infelizmente uma grande parte das placas slot 1 e super 7 modernas. O mesmo pesadelo da época dos 504 MB da época dos 486s voltou em sua versão contemporânea, na forma do novo limite de 7.88 GB.

Como o problema é apenas das instruções do BIOS, é possível corrigi-lo através de um upgrade de BIOS, fazendo com que a placa mãe passe a suportar HDs de até 137 GB. Veja que neste caso, você depende unicamente do suporte do fabricante. Se existe um upgrade disponível então é só utilizá-lo, caso contrário, não existe o que fazer a não ser trocar a placa mãe. Novamente recomendo o Win’s BIOS Page, http://www.ping.be/bios como ponto de partida para localizar os arquivos de atualização.

No documento ESTE MANUAL NÃO PODE SER VENDIDO (páginas 44-48)

Documentos relacionados