Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
13/11/1995

< EIDE e Fast ATA I: Um Pouco de História >


O primeiro PC, lançado em agosto de 1981, não tinha disco rígido. Nem poderia ter. E por uma razão das mais simples: não foi concebido para dispor de tanto poder de fogo. Na verdade, exceto a divisão Data Entry Systems, a heróica equipe comandada por Don Estridge que se dedicou ao desenvolvimento de um projeto que viria a revolucionar a história da informática, ninguém da IBM parecia acreditar no sucesso daquela maquininha destinada a preencher uma lacuna. Porque o PC só foi desenvolvido para satisfazer a um modismo que os graúdos da IBM pensavam não durar mais que um par de anos, desaparecendo assim que suas limitações fossem devidamente percebidas pelo mercado: a demanda por um computador de mesa de baixo custo com mínima capacidade de processamento destinado a substituir os chamados "terminais burros". Portanto o PC foi concebido dentro dessa perspectiva. Onde evidentemente não cabia a idéia de um disco rígido: naquela época os maiores discos rígidos podiam armazenar dez portentosos megabytes e tamanha capacidade de armazenamento era coisa de máquina de grande porte, os mainframes dos quais a IBM entendia como ninguém. Na verdade, no primeiro PC, até os drives de disquete eram acessórios opcionais: o meio de armazenamento originalmente concebido para ele era a fita magnética, a mesma fita cassete usada para áudio.

Acontece que apesar de todas as suas limitações o micro foi um sucesso tão brutal que excedeu até as expectativas mais otimistas. Havia uma imensa e genuína demanda por uma máquina como aquela e o bichinho vendeu mais que bolinho quente. Logo tornou-se claro que mesmo os disquetes eram inadequados para suprir suas necessidades de armazenamento e os usuários começaram a ansiar pelos discos rígidos, que então despontavam no mercado e custavam uma pequena fortuna.

Mas para usar um disco rígido havia que satisfazer umas tantas condicionantes. É claro que delas, a maioria era perfeitamente contornável. Por exemplo: o sistema de disco rígido teria que usar uma linha de interrupção para avisar ao micro que precisava de atenção. E apesar do PC dispor apenas de oito linhas de interrupção e muitas delas já estarem "amarradas" a determinados dispositivos, ainda havia algumas disponíveis. Além disso, seria preciso um endereço de I/O e um pequeno trecho de memória para trocar informações com a CPU. O que também poderia ser resolvido adotando-se um dos muitos endereços vagos. A fonte de alimentação precisaria dispor de potência suficiente para o disco - problema insolúvel com a fonte do PC e seus míseros 65W, mas que poderia perfeitamente ser resolvido usando um disco rígido externo com fonte de alimentação independente. E para que esse o disco rígido, um novo dispositivo, pudesse ser "enxergado" pelo restante do hardware, eram necessárias uma interface física com a máquina e rotinas de programação de baixo nível integradas ao sistema básico de entrada e saída (ou BIOS) para acionamento do disco. O que se resolvia espetando em um dos slots do barramento do PC uma placa controladora com as rotinas que suplementavam a BIOS gravadas em ROM.

A maior de todas as limitações do PC, no entanto, era seu sistema operacional, ironicamente batizado de Sistema Operacional de Discos. O DOS de fato foi desenvolvido para discos, mas discos magnéticos flexíveis de uma única face e 160K ou 180K de capacidade (só a versão 1.1, lançada quase um ano mais tarde em maio de 1982, trouxe o suporte para disquetes de face dupla de 360K). E possuía uma limitação incontornável que se não impedia, na prática inviabilizava o uso de discos rígidos: como o DOS 1.x desconhecia a noção de subdiretórios, o número total de arquivos armazenado no disco limitava-se ao número de entradas no diretório raiz. Um número fixo e ridiculamente pequeno para discos rígidos: 64 entradas nos discos de face simples e o dobro disso nos discos de face dupla. Quase nada, mesmo para os discos rígidos de 10Mb existentes na época.

É claro que até mesmo isso tinha solução: um driver, ou controlador de dispositivos carregado durante o boot, agregava ao DOS o suporte necessário. Tanto assim que algumas companhias de hardware fabricavam e vendiam discos rígidos externos para o PC. Eram trapizongas enormes, do tamanho de caixas de sapato, ligadas ao micro por um cabo conectado à uma placa controladora encaixada em um dos slots e alimentados por uma fonte interna que também acionava uma barulhenta ventoinha para arrefecer o trambolho. Uma imensa geringonça repousando imponente na mesa, ao lado do micro. Tudo isso para armazenar 10 Mb. E com um problema adicional, esse definitivamente insolúvel: como o código para que o DOS se entendesse com aquele trambolho era carregado por um driver durante o boot, evidentemente era impossível dar o boot diretamente dele. E era-se obrigado a adotar o curioso processo de boot via disquete em uma máquina com disco rígido.

Com a rápida e imensa popularização do PC logo tornou-se evidente que aquela situação não poderia perdurar. E em março de 1983 a IBM lançou o XT, de eXtended Technology. Nada mais que um PC incrementado. E uma das diferenças era, justamente, o suporte a disco rígido, que vinha incorporado à máquina. E, evidentemente, uma nova versão do DOS, a 2.0, que resolvia de uma vez por todas o problema da limitação do número de arquivos introduzindo, com os subdiretórios, o conceito de estrutura hierárquica de arquivos ou árvore de diretórios.

O XT adotou a IRQ 5 e o endereço de I/O 320h para trocar informações com o disco rígido. E juntamente com suporte a subdiretórios, o DOS 2.0 incluiu todas as demais rotinas necessárias à troca de informação com os discos rígidos, o que permitiu afinal que o sistema operacional fosse armazenado no disco rígido e lá pudesse ser encontrado durante o boot (mas, durante anos, somente dando o boot do disco rígido se não encontrasse um disquete no drive A; isso era imprescindível porque, se não fosse assim, em caso de falha do disco rígido seria impossível dar o boot - somente no início dos anos 90 apareceram as máquinas que permitiam escolher no setup de onde será dado o boot). Curiosamente, a IBM decidiu não alterar o BIOS do XT para incorporar as rotinas de baixo nível de acesso ao disco rígido, agregando-as ao sistema através de um chip de memória ROM contido na placa controladora do disco rígido (que ocupavam o endereço de memória C8000h; somente em 1984, com o lançamento do AT, essas rotinas foram incorporadas diretamente à BIOS da máquina, incrustada na placa mãe).

Evidentemente, o XT foi um sucesso ainda maior que o PC. Semana que vem veremos como era seu disco rígido.

PS: amanhã, dia 14, como em toda segunda terça-feira de cada mês, acontece a reunião do Grupo de Usuários do OS/2. Como sempre às 19hs no auditório do RDC da PUC, na Gávea. Não é preciso se inscrever: basta comparecer e participar.

B. Piropo