EVOLUÇÃO DO DISCO RIGÍDO

 

O primeiro PC IBM, apresentado em 1981, não previa nenhum tipo de disco fixo. O código do BIOS não reconhecia nenhum suporte deste tipo, e as primeiras versões de DOS limitavam as memorizações em massa, limitando o número de diretivas e dos arquivos que podiam ser criados. Isso não nos deveria surpreender, se pensamos que o primeiro PC, a 4,77 MHz, era fornecido com 16K de RAM, expansíveis a 64 K. Também o leitor floppy e o sistema operativo era possível a expansão do leitor a fitas e da ROM de base.

O uso de um disco fixo em um PC requer:

  • IRQ Hardware (para o pedido de interrupt)
     

  • Endereço I/O para o controller
     

  • Um canal DMA (agora opcional)
     

  • Código de baixo nível
     

  • Interface física do bus (integrada ou expansível)
     

  • Suporte do sistema operativo
     

  • Energia de esfriamento suficiente.

Depois que DOS 2 introduziu a possibilidade de criação de subdirectory, e o suporte para dispositivos de memorização em massa, as empresas começaram a produzir e a vender discos fixos para PC. Estes eram compostos por um cabinet externo que continha o disco, um controller, e um delicado sistema de alimentação do disco (do momento que 63,5 watt fornecidos pelo alimentador do PC não eram suficientes). Tais dispositivos eram exportados para outras arquiteturas, e eram conectados por um cabo e um adaptador de 8 bit, que era inserido em um slot disponível. Este subsistema era configurado para usar um IRQ, um canal DMA, e um range de portas I/O, e o driver era colocado a disposição de um device carregado em memória logo depois do boot (executando o boot de um floppy).

Em 1983 a IBM produziu o IBM XT (eXTended), com 10HB de disco fixo integrado. IBM trabalhou com uma empresa (Xebec), para integrar os componentes do disco, normalmente localizados em um cabinet externo, ao interno do computador. Introduzem também uma placa para interfacear o bus, criando aquilo que é comunamente chamado o “controller do disco fixo”.

O código para o gerenciamento do disco é fornecido por um chip ROM no controller, que expande as sub-rotinas presentes no BIOS, e a corrente fornecida pelo alimentador foi levada a 135 watt, para produzir a potencia necessária ao disco fixo interno.

A IBM XT usava:

  • IRQ 5
     

  • Endereços I/O de range 320-32f
     

  • Canale DMA 3
     

  • Código programa em ROM C8000
     

  • DOS 2.0 ou melhor

Diversas empresas começaram a produzir e vender esses tipos de periféricas, com diversos melhoramentos, entre os quais: maior capacidade física, melhores performance, e um controller floppy integrado na mesma placa (para preservas os slot disponíveis). Este subsistema podia também ser colocado em um PC original, se a alimentação de energia elétrica interna era adequada.

Em 1984 apareceu o IBM AT (Advanced Technology), que levou a uma completa revisão ao sistema de discos fixos. O código para o boot foi incluído diretamente no BIOS da placa mãe, eliminando a necessidade de um chip a mais no novo controller a 16 bit, e também melhora notavelmente os tempos de acesso ao disco. Esse sistema foi introduzido também um IRQ mais elevado, eliminando assim a necessidade de usar o DMA para os discos, e mudou o range de endereços I/O.

A IBM usava:

  • IRQ 14
     

  • Endereços I/O de range 1f0-1f8
     

  • Canal DMA – nenhum
     

  • Código programa em BIOS da placa mãe
     

  • DOS 2.0 ou melhor

Os detalhes de configuração hardware para o AT, incluindo os parâmetros do disco fixo, eram memorizados em um chip CMOS de baixa potência conexo a uma pequena bateria, eliminando numerosos switch e jumper de configurações presentes na placa mãe dos modelos velhos. A bateria permitia de mater as informações até quando o computador estava desligado e de poder trocar as informações através de um menu de configurações.

O pimeiro modelo de AT suportava 14 diferentes tipos de drive, reconhecendo os discos com capacidade entre 10 e 112MB. Cada drive que não respeitava esses parâmetros físicos deveria ter um chip ROM no controller, que expandia o BIOS, ou então era necessário carregar o código do drive no momento do boot.

As versões de DOS precedentes ao 4.0 (ou 3.31) não suportavam partições maiores de 32MB independentemente das dimensões do drive. Isso por causa que o endereçamento dos setores não podiam superar o valor de 16 bit (até a 65.536 setores). A criação de partições maiores pedia um uso de um software como Disk Manager da Ontrack. Somente que esta solução , mesmo sendo uma das melhores punha muitos problemas de compatibilidade com outros instrumentos para o gerenciamento dos discos, porque, criava uma partição não DOS.

Muitas pessoas preferiam invés dividir o disco em partições de 32 MB criando C:, D;, E;, etc., até as dimensões físicas do disco. Antes da versão 3.3 de DOS, isso também era impossível, do momento em que o sistema operativo não reconhecia partições extensas!

O número dos tipos de drive reconhecidos do BIOS e estendido além de 40, e muitos BIOS modernos fornecem um tipo com parâmetros definíveis pelo usuário . Muitos PC de hoje usam ainda esses CMOS originais para o controle e a configuração dos parâmetros dos discos fixos, ainda se foram muitas mudanças no modo de memorizar e atualizar as informações no disco.

Isso criou alguns limites, entre os quais um problema com o uso de dois ou mais discos fixos, ou o limite do BIOS e do sistema operativo de não reconhecer mais de 1024 cilindros, 16 cabeçotes e 63 setores por traço.

Porque cada setor contem 512 byte, o drive com mais capacidade é de 504MB. )1024 X 16 X 63 = 1,032,192 setores X 512 = 528,482,304 byte)

Para compreender esse limite devemos entender o modo o qual o PC acede ao disco.

Em primeiro lugar são enviados comandos I/O ao controller, através de um range de endereços de portas reservadas. Esse processo é muito complicado e maçante, e o BIOS inclui uma sub-rotina (INT 13) para executar essa função. O sistema operativo DOS tem também outras funções que simplificam este processo. Entre essas tem a função INT25/26 que lê e escreve setores absolutos de um drive, ou a função de alto nível (INT 21) para abrir, fechar e escrever dados em um arquivo. Muitos programas confiam nessa função DOS para controlar o acesso ao disco, e é o DOS que se preocupa de chamar a sub-rotina INT 13 do BIOS, que executa os comandos I/O necessários.

Todas essas sub-rotinas são códigos em linguagem assembly que são carregados em memória seja do BIOS que do sistema operativo à ligação do sistema.

As rotinas em assembly memorizam e manipulam os valores dos registros da CPU. Os registros menores para PC baseados na arquitetura INTEL são de 16 bit. Cada programa ou rotina devem ser compatíveis  também com as precedentes versões dessa arquitetura, então devem ser usados registros a 16 bit, seja que venha executado em um 8088 que em um Pentium.

A rotina INT 13 é a coluna dorsal da compatibilidade entre PC, e utiliza os registros a 16 bit no seguinte modo:

  • DX – 8 bit pelo número de cabeçotes e 8 bit pelo número de drive
     

  • CX – 10 bit pelo número do cilindro e 6 bit pelo número do setor

O número de 10 bit maior é 1024, disso, o limite no número dos cilindros (de 0 à 1023), com 6 bit Obtém-se no máximo 64 (de 0 à 63), permitindo 64 (de 0 à 63)setores por traços.

O registro DX permite um máximo de 255 cabeçotes, e não as 16 declaradas nas específicas originais. É isso que permite aos discos até 8GB de serem igualmente compatíveis com INT 13.

Se o registro DX prevê 8 bit para o número do drive, não deveriam ser 255 os discos controláveis, ao invés de somente 2?

Quando o INT 13 manda os comandos ao controler do drive, deveria conhecer ao menos a geometria física do drive em questão. Durante a ascensão do sistema, os valores relativos ao tipo de disco são lidos da CMOS e memorizados em uma área de RAM chamada BIOS DATA AREA. Os apontadores nesta área são memorizados tabela dos interrupt (aos endereços 0:104h e 0:118h). A tabela reserva apontadores somente para dois drive, assim mesmo se a CMOS contivesse mais valores, a rotina standard não saberia como gerenciá-los.

Porque as rotinas INT 13 são tão limitadas? A resposta é simples: foram escritas nos tempos em que discos de 10 MB e 20 MB eram a norma, e 120 MB era quase inacreditável. Foram projetadas para se comunicar com um controler com uma interface específica, o standard ST412/506 (controller WD1003), e as específicas para a passagem nos parâmetros prevêem 10 bit pelo número de cilindros, 4 por número de cabeçotes e somente 1 por número de drive. 

Algumas dessas limitações foram passadas substituindo a INT 13 nos PC novos, com uma nova rotina que reconhece e gerencia devices diferentes. Esse é o motivo pelo qual virtualmente cada adaptador SCSI inclui um chip ROM , e precisa impostar no BIOS o tipo de drive no ZERO.

 

Ligue Grátis - 0800 771 7242 ou (11) 4807 2577
(24 horas - 7 dias por semana)

 
             
   
  Nossa Empresa
  Por quê nós?
  Case History
  Processo de Recuperação
  Tempo e Custo
  Equipe Técnica
  Laboratório
  Trabalhe Conosco
  Program Partner
  RAID, SAN, NAS
  Desktop
 
   
  Notebook
  Fitas DTL, DAT
  Suportes Removíveis
  Office
  .PST
  Databases
  Senhas
  Sistemas Suportados
  Conversão de Dados
  Perguntas Freqüentes
  Condições e Garantias
 
   
  Suporte Telefônico
  Tecnologias
  Origem da Recuperação
  Perda de Dados
  Recuperação
  Pode ou Não Pode
  Prevenção
  Faça Você Mesmo
  Cancelamento de Dados
  A Sala Branca
  Eletrostáticos
 
   
  História do Suporte
  Disco Rígido
  Evolução
  Estocagem Magnética
  Estocagem Optica
  Estocagem Eletrônica
  Acromini
  Links Úteis
  Contato Recovery Lab
Powered by: Neotimenet Web & Studio.