Home » Hardware » Os sombrios tempos do DOS: quando nada era fácil

Os sombrios tempos do DOS: quando nada era fácil

Aceite: O DOS era horrendo, hoje nem percebemos que quase tudo é automático ou transparente. Vamos relembrar um pouco das dificuldades do passado...

28/10/2019 às 9:00

Não se preocupem, este não é um artigo louvando os bons e velhos tempos do DOS, falando mal de Millenials e lamentando não vivermos mais na época em que homens eram homens e instalavam o próprio sistema operacional. Este texto é uma viagem pela avenida da memória, celebrando o futuro e lembrando o passado, sem saudosismo nem rancor.

Antigamente, na Aurora do Homem, quem mexia com computador em casa era chamado de micreiro e como não havia internet, boa parte da informação era trocada através de revistas, fanzines e encontros físicos, mas o buraco aqui é bem mais embaixo. As novas gerações que nasceram depois da banda larga e do Android minimamente decente (acho que foi o 8 ou 9) não fazem ideia de como coisas simples eram complicadas.

Vamos então relembrar algumas dessas atividades corriqueiras que demandavam conhecimento, paciência e (muita) sorte.

1 - Instalar um mouse

Lançado em 1983, o Microsoft Mouse custava o equivalente hoje a US$ 500. A primeira versão usava uma placa proprietária, mas a segunda vinha com conector serial, porta presente em quase todo PC. Só que as portas seriais compartilhavam recursos limitados, principalmente IRQs e endereços de I/O.

As IRQs, Interruption Requests, são conexões que avisam ao computador para parar o que está fazendo e realizar uma tarefa, assim ao invés de gastar CPU para verificar se o mouse foi movido, o mouse ativa a IRQ, o driver é acionado, lê o dado gravado diretamente no endereço de I/O e movimenta o cursor. As portas eram normalmente atribuídas como:

  • COM1: I/O port 0x3F8, IRQ 4
  • COM2: I/O port 0x2F8, IRQ 3
  • COM3: I/O port 0x3E8, IRQ 4
  • COM4: I/O port 0x2E8, IRQ 3

Se você tivesse uma porta COM livre, ótimo, mas um belo dia você comprava um modem, configurava em uma porta COM usando a mesma IRQ e ou seu mouse parava de funcionar quando o modem era acionado, ou vice-versa. Hoje se você fuçar bastante, descobrirá que essas configurações ainda existem em seu PC, mas são totalmente transparentes, o Sistema Operacional cuida de tudo.

2 - Instalar drivers

Uma vez eu arrumei um disco do Mandrake Linux e fui instalar. Todas as telas, configuração, boot e tudo descarrilha. O Linux não conseguia achar meu drive de CD. O mesmo que ele achou durante o boot do live cd, mas como eram softwares diferentes o instalador não reconhecia. Isso lembrou muito o tempo do DOS, quando você dependia desesperadamente dos drivers que vinham com os softwares.

Era um pesadelo. Não havia uma API de uso genérico, cada aplicativo de DOS vinha com drivers próprios para placas de som, impressoras, placas de vídeo... imagine se cada um dos programas em seu computador precisasse ser configurado individualmente para seu sistema. Sem nenhuma garantia de que os programas viriam com os drivers. Que NUNCA eram atualizados, pois sem internet não havia como baixar drivers novos, exceto acessando o BBS da empresa, via modem. E o BBS ficava em Taiwan.

3 - Gerenciar Memória

3 MB de RAM

Isso é até injusto, hoje em dia ninguém liga pra isso, a gente espeta os pentes e o Windows que se vire, mas a estrutura original da memória do IBM PC era uma insanidade.

Quando o IBM-PC XT foi lançado, ele vinha com 16 KB de RAM, a versão mais cara vinha com 256 KB e basicamente ninguém tinha mais de 64 KB. Daí a lenda urbana do Bill Gates ter dito que 640 KB era mais que suficiente para todo mundo.

Por causa de motivos complexos, o processador 8086, de 16 Bits, conseguia endereçar diretamente 1.048,576 bytes. O limite de 640 KB foi escolhido para conter memória de vídeo, BIOS, interrupções, ser usado por drivers e outros recursos do sistema, até 1 MB. Abaixo disso a memória era usada pelo DOS, com o command.com e o que sobrasse era a RAM livre pros programas do usuário.

Lembrando que a maior parte dessa memória não existia, se você só tinha 128 KB de RAM, podia acessar os endereços acima de 640 KB do sistema, mas qualquer coisa entre eles e os 128 KB retornariam erro.

Com o tempo PCs foram lançados com mais e mais memória, mas não havia como ultrapassar o limite de 1 MB. Eis que alguém teve uma brilhante ideia: era possível acessar blocos de memória, mapeados naqueles endereços altos, acima de 640 KB mas abaixo de 1 MB.

E mais: era possível configurar uma expansão de memória para disponibilizar blocos de 64 KB, em teoria você poderia instalar até 32 MB de memória. Só era possível ler ou gravar 64 KB de cada vez, mas programadores inteligentes sabiam se virar e estava nascida a memória Expandida, ou EMS.

Um processador 80286. Não exatamente um i9....

Um belo dia foi lançado o processador 80286 que ao invés de 220 bits, conseguia endereçar 2024 bits, ou um total de incríveis 16.777,215  bytes. Com isso o DOS passou a entender a área acima de 1 MB como XMS, ou "memória estendida", endereçada diretamente, sem gambiarras ou paginação. Perfeito, não?

Não, o 286 quando executado em modo real, emulava um 8086 e para acessar a memória alta (acima de 1 MB) precisava de um gerenciador, HIMEM.SYS. Só em Modo Protegido tinha acesso direto.

Ah sim, um monte de programas dependiam da EMS, então com a chegada dos processadores 80386 surgiram emuladores de EMS, programas que usavam parte da XMS para enganar o sistema. Os mais populares, EMM386 e QEMM386.

Cada programa tinha necessidades diferentes, cada um precisava ser otimizado. A gente escrevia arquivos de inicialização, CONFIG.SYS e AUTOEXEC.BAT com menos para selecionar configurações específicas para jogos, Windows, Autocad, 3D Studio...

4 - Acentuação

Hoje em dia até o Linux reconhece os teclados bizarros que temos por aqui, mas nos velhos tempos, antes do Windows, havia algo chamado codepage, a tabela de caracteres específica de cada país. Isso era definido nos arquivos de inicialização do DOS, junto com o comando KEYB para determinar qual o layout do teclado, o COUNTRY para definir coisas como símbolos monetários e formato de data, o NLSFUNC e outros. Na prática, nunca funcionava.

A Codepage 860 teoricamente mostraria os acentos brasileiros, mas quando se selecionava o COUNTRY 55, não eram compatíveis. No final a melhor solução era usar programas como o UNIKEY ou o KEYBBR, que monitoravam o teclado e traduziam sequências como acento+letra nos caracteres acentuados.

Eles faziam isso inclusive para impressoras, que muitas vezes não tinham acentos, então uma cedilha era um C seguido de um retorno de carro e uma vírgula.

5 - Impressoras

Céus, era um inferno instalar impressoras. Os drivers, quando existiam eram capengas, o papel entrava torto, a gente mandava o PC imprimir e a impressão ia para o limbo sem nenhuma explicação, os informes de status de tinta eram basicamente aleatórios, os discos vinham com toneladas de programas que ninguém usava e só ocupavam espaço, e nada funcionava de primeira, principalmente se a gente estivesse com pressa. Pensando bem, essa parte não mudou nada.

Leia mais sobre: , , , .

relacionados


Comentários