Olá.
O nosso assunto por hora é geometria de disco.
Os tipos de discos de dados mais comuns são o disquete, o HD (também conhecido como disco rígido), o CD e o DVD. O que veremos neste post se aplica a todos esses discos mencionados.
Divisões de um disco
Para acessar os dados de um disco, o pessoal da engenharia resolveu dividir os discos em partes lógicas hierárquicas. Essas divisões são chamadas de setor, cabeça e cilindro/trilha. Olhe a figura abaixo:

Essa figura ilustra uma situação típica de um HD de vários discos. Cada lado de um disco é endereçado a partir de uma cabeça de leitura/escrita. Cada lado dos discos contém círculos concêntricos denominados trilhas (linhas vermelhas na figura). Um conjunto de trilhas de discos diferentes alinhadas entre si constitui um cilindro (linhas azuis na figura), ou seja, quando se tratar de endereçamento de dados em um único disco, cilindro e trilha serão sinônimos!
Cada trilha, por sua vez é dividida em setores (item em amarelo na figura). Os setores são as menores unidades de armazenamento de um disco (ou seja, você sempre lerá do disco e escreverá no disco no mínimo um setor) e, em geral, possuem 512 bytes em HDs e disquetes.
O acesso ao disco não corresponde exatamente ao acesso direto ao hardware do disco. Como você deve ter deduzido da imagem acima, as trilhas mais próximas do centro do disco conterão menos setores do que aquelas mais distantes, mas para o software os discos apresentam uma geometria lógica, que na maioria dos casos não é a mesma da geometria física. Você entenderá melhor daqui há algumas linhas.
Para acessar um determinado setor de um disco, existem basicamente duas maneiras (seja com a BIOS ou diretamente): CHS e LBA.
O acesso com CHS se baseia no endereço de um setor a partir de sua cabeça, cilindro e número de setor dentro da trilha (hein?). Para utilizar este modo de acesso, você deve saber quantas trilhas existem por cabeça (ou quantas trilhas existem em um lado de cada disco) e quantos setores existem em cada trilha. Os valor típico de setores por trilha eh 63, enquanto o de trilhas por cabeça você pode deduzir dividindo o número de cabeças pela quantidade de cilindros. (Mas Vo, como eu vou descobrir esses valores? Ora pessoa, pela BIOS, que é assunto do próximo artigo).
Os HDs geralmente apresentam uma geometria contendo mais de 200 cabeças (255 é o mais comum), note que para 200 cabeças, teríamos que ter no mínimo 100 discos dentro de um HD (!). Essa geometria falsa é traduzida em geometria real pela controladora do HD, então não é nada com o que você tenha que se preocupar.
O outro modo de acesso, denominado LBA permite que você acesse um setor pelo seu endereço linear, ou seja, você diz que quer ler o enésimo setor do disco, e você o lê (olha como é bem mais fácil e intuitivo). Com o LBA você acessa os setores partindo do setor 0, então um disco com aproximadamente exatos 40GB terá (40 * 1024 * 1024 * 1024 / 512 =) 83.886.080 setores e você acessará o último pedindo pelo setor 83.886.079 ![]()
Existem várias variações de LBA e CHS, no caso do LBA, cito apenas duas: o LBA-5, que permite o acesso à discos de até 130GB e o LBA-6, que permite acesso à discos de até uns 130 PB (não me lembro se é esse o limite real). No caso do CHS, como estou sem tempo pra explicar toda a ladainha dele, só saiba que cada variação limitava o tamanho do disco em um valor definido, como 508MB, 4GB e 8GB, por exemplo e que isso é coisa das BIOS da década passada.
Na prática, veremos os 3 modos de acesso. (Vo, você disse que iria mostrar na prática, cadê? Calma pessoa, veremos na prática, mas é importante que você saiba pelo menos o funcionamento básico da memória, um pouco de geometria de disco e de BIOS e acesso ao hardware).
Por hoje é só pessoal.
Quarta-feira, 29 Julho, 2009 às 10:25 |
muito bom o artigo..gostei realmente e muito interessante