Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
29/04/1991

< A Evolução do Sistema >


O DOS acompanha os avanços da tecnologia atualizando-se. Em pouco mais de dez anos, muita coisa mudou. Nós, acostumados com a evolução vertiginosa do setor, mal nos damos conta das mudanças brutais que ela impõe. Mas o DOS é obrigado a suporta-las.

Você sabia que os primeiros PCs da IBM tinham uma entrada para cassete? Na época se pensava que um PC para uso doméstico usaria fita como principal meio de armazenamento de arquivos. Você conhece alguém que use cassete em um PC? Com os progressos tecnológicos que aumentaram a capacidade de armazenamento e derrubaram os preços dos discos magnéticos, foram-se as cassetes. Isso é evolução.

Você sabia que a interrupção 21 do DOS ainda oferece todos os serviços para ler e escrever dados em uma fita cassete - se você conseguir num museu um PC com entrada para cassete? Por isso os programas desenvolvidos na primeira versão do DOS que usavam as funções dos gravadores de fita ainda podem rodar numa dessas antiguidades. Isso é compatibilidade.

Devido a evolução, de vez em quando aparece uma nova versão do DOS. Vem aí a 6.0. E somente duas razões justificam o lançamento de uma nova versão de um sistema operacional: erros de programação (também conhecidos por "bugs" ou "características não documentadas") ou incorporação de inovações.

Embora a IBM e Microsoft possam jurar que não, as versões 1.1 e 4.1 estão no primeiro caso. As demais, principalmente no segundo. O aparecimento de discos rígidos e outras mudanças obrigou ao lançamento da versão 2.0. O AT com drives de alta densidade trouxe versão 3.0. E a cada grande mudança nasce uma nova versão. A propósito, essa é a razão principal da máquina carregar o DOS de um disco: se ele fosse gravado em ROM, você teria que trocar um chip a cada nova versão.

Mas toda essa evolução tem um preço: tamanho. Cada gracinha nova que o DOS aprende custa alguns preciosos bytes adicionais. Porquê? Um singelo exemplo: a versão 1.0 do DOS só utilizava discos de 160K. Você já parou para pensar em quantos tipos existem atualmente? E o DOS teve que "aprender" a formatá-los todos. Cada novo tipo agregou alguns bytes às rotinas que lidam com discos - que são a maior porção do DOS.

E, nesse caso, tamanho é documento: sendo o DOS um programa residente, ocupa memória permanentemente. E não conheço micreiro que ainda não tenha amaldiçoado o limite de 640K de memória do DOS. Que está ficando cada dia mais exíguo.

O crescimento foi substancial. O DOS 1.0 ocupava apenas cerca de 10K de memória para controlar a grande maravilha da época: um fabuloso PC com extraordinários 64Kbytes de RAM! A versão 4.1 jamais conseguiria se espremer nessa abundância: só o sistema operacional usa 67Kbytes de memória. No mínimo.

Mas, se você traçar uma proporção entre as fantásticas evoluções incorporadas ao DOS e o tamanho da memória que ele abocanha de seu micro, há de concordar que o crescimento não foi exagerado. Somente para ficar nas mudanças mais radicais: suporte para discos rígidos e árvores de diretórios (DOS 2.0), discos virtuais e de alta capacidade (3.0), operação em rede local (3.1), discos de 3 1/2" (3.2), suporte para partições de discos rígidos de tamanho ilimitado(4.0) e suporte para carregar-se a si mesmo na HMA e residentes e drivers nos UMB. Isso sem falar nos 17 diferentes modos de vídeo atualmente suportados, num sem número de novos comandos internos e nas modificações que fizeram os arquivos .BAT se transformarem numa poderosa linguagem de programação. E na enorme quantidade de novos dispositivos ligados ao micro, cada um exigindo um controle particular. Pensando bem, o DOS deveria ter crescido mais ainda.

E você sabe porquê não cresceu? Graças a um conceito adotado na versão 2.0, sublime em sua simplicidade e no absurdo potencial que introduz: os gerenciadores de dispositivos. A coisa se baseia mais ou menos no seguinte: a tecnologia evolui em velocidade alucinante e direções absolutamente imprevisíveis (alguém seria capaz de imaginar um scanner ligado a um micro pessoal há dez anos atrás? Ou uma placa FAX? Ou mesmo um singelo e humilde mouse?). Cada um desses apêndices precisa de suporte do DOS, ou não se comunicará com a máquina e seus programas. Portanto o DOS precisa mudar para acompanhar a evolução. Mas mudar todo um sistema operacional cada vez que alguém inventa um novo penduricalho para o micro é absolutamente impraticável. Como contornar o problema?

Fácil: dando ao DOS a possibilidade de se atualizar sem modificar seu código básico. Como? Simples: o DOS - que, não se esqueça, é um programa - foi desenvolvido de forma a poder incorporar, no momento em que é lido do disco, arquivos contendo trechos de código com as rotinas necessárias para gerenciar os dispositivos. E que se chamam, naturalmente, gerenciadores de dispositivo - ou, em inglês, device drivers.

É por isso que você não gasta mais um bocado precioso da memória de seu humilde XT para incluir as rotinas de gerenciamento da memória estendida que você não tem. Nem daquele fantástico scanner a cores que um dia você terá. O DOS se resume as rotinas necessárias ao que considera dispositivos padrão - e que já não são poucos. O resto, ele somente agregará se for preciso, lendo o código correspondente de um disco.

Os arquivos que contêm esses "agregados" em geral têm a extensão .Sys e, como passarão a integrar o próprio sistema operacional, devem ser lidos do disco no momento em que o micro é ligado, imediatamente após o próprio DOS ser carregado. A partir daí, o sistema passa a estar configurado para aceitar esses dispositivos. É por essa razão que o arquivo usado para informar ao DOS que device drivers devem ser carregados chama-se Config.Sys. Que será nosso próximo assunto.

B. Piropo