Micro Cosmo
Volte
24/06/96

< Fusca com Motor de Ferrari >


Um chip 286 rodando no modo real não era apenas compatível com um 8088: para todos os efeitos práticos, ele era um 8088. Com todas as suas limitações - inclusive a intransponível barreira do campo de memória, que acabava inexoravelmente no final do primeiro mega. Ou seja: quem usava um AT 286 para rodar o velho DOS (quer dizer: a maioria dos usuários, inclusive este que vos escreve), na prática transformava uma máquina soberba em um XT mais rápido. Era mais ou menos como equipar um fusca com motor de Ferrari. Ficava mais veloz, mas continuava sendo um fusca.

Mas logo os programas evoluíram, aumentaram o nível de sofisticação e exigiram mais memória. Cedo se percebeu que apenas 1Mb não bastava. Mas com o DOS, que obrigava o 286 a rodar apenas no modo real, não havia como ultrapassar esta barreira. Pior: seus idealizadores decidiram reservar os últimos 384K do campo de endereçamento para ser usado exclusivamente pelo sistema operacional para armazenar dados. O resultado prático disto é que sobravam apenas 640K para carregar o código executável e os dados dos programas, inclusive do próprio DOS. Como quando o DOS foi desenvolvido as máquinas raramente vinham com mais de 256K de memória RAM, 640K foi considerado um limite mais que suficiente. Bons tempos, aqueles...

Começou-se então a luta para utilizar judiciosamente cada byte da memória disponível. Criaram-se os conceitos de memória estendida e expandida (que somente existem em função do DOS) e, como dos 384K reservados para si o sistema raramente ocupava mais de 128K, procurou-se formas de carregar partes do código usado pelo sistema para controlar dispositivos de entrada e saída (os “drivers” de dispositivos) nos “buracos” (ou blocos de memória) que sobravam na faixa de 384K dos endereços mais altos, os chamados UMB (Upper Memory Blocks, ou blocos de memória superior).

Acredite: a série sobre o famoso Gate A20 continua no rumo certo. Apesar do estranhíssimo desvio que faremos neste ponto. Porque agora vamos discutir algo que aparentemente nada tem a ver com o assunto: o odômetro do seu carro.

Odômetro é o nome que se dá àquele contador que geralmente fica no meio do velocímetro e que vai registrando cada quilômetro que o veículo percorre. Desde zero, quando sai da fábrica, até 99.999, o máximo que aceita.

Diga-me lá: o que acontece com o odômetro quando o carro roda mais de cem mil quilômetros?

B. Piropo