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

< Permanentemente a seu dispor >


Uma das minhas primeiras desventuras nos domínios da informática foi a inolvidável experiência de digitar horas um programa no BASIC permanente de meu micro e vê-lo se esvair como fumaça só por dar uma voltinha no sistema operacional. Mas por que artes do destino a máquina me foi tão cruel ? E que insondáveis mistérios cercam os programas permanentes ? Um programa é apenas uma série de instruções armazenadas na memória que a máquina executa sucessivamente. Isso vale para qualquer programa, em qualquer linguagem. Então, para rodar, meu caro Watson, o programa precisa estar na memória. Elementar, pois. E, como programas não saem por aí invadindo impunemente as memórias alheias, é preciso que alguém o ponha lá. Programas executáveis podem ser preservados sob a forma de arquivos em discos - que precisamos carregar na memória antes de rodar - ou em chips de memória permanente que já estão incrustrados nas placas de nossas máquinas desde o berço. Você sabe que existem dois tipos de memória. Um deles é essa memória na qual nós mesmos podemos carregar os programas do disco. Como programas são capazes de rodar um após outro, ocupando a memória que o anterior liberou, fica claro que aí eu posso escrever ou ler o que quiser, tantas vezes quantas eu desejar. É um imenso bloco de rascunho, um quadro negro eletrônico que pode ser escrito, apagado e re-escrito indefinidamente. E se chama memória RAM, de Random Access Memory ou memória de acesso aleatório (se bem que seria mais apropriado chama-la de Read and Alter Memory). Seu acesso é muito rápido - ou seja, pode-se escrever ou ler um dado em bilionésimos de segundo - mas se esfuma nas sombras do passado toda a vez que desligamos o micro. O outro tipo é permanente e fiel como os amores antigos. Seus dados jamais se esvaem, mesmo quando o micro é desligado. E também como aqueles amores, não são volúveis: o que ali é gravado permanece para sempre. Por isso ela somente pode ser lida, jamais escrita. Se chamam, apropriadamente, memória ROM, de Read Only Memory - ou memória apenas de leitura. Para que servem as memórias ROM? Para guardar indelevelmente as informações mais preciosas e menos mutáveis. Inclusive, evidentemente, programas. Esses programas, que jamais são "descarregados", são chamados de programas permanentes. São parte inseparável do nosso micro desde que os chips de memória ROM foram neles instalados pelo fabricante. E como eles estão sempre na memória, podem ser acionados a qualquer tempo, sem precisar carrega-los. Que programas serão esses tão preciosos que merecem tamanha deferência ? Bem, se você tem um disco rígido, que alguns chamam de winchester, vai encontrar um desses programas na placa controladora desse disco, gravado em um chip de memória ROM. Ele é responsável pelo controle das operações de gravação e leitura em disco. Como essas operações são sempre as mesmas e jamais mudam enquanto você tiver discos rígidos de mesmo tipo, é mais prático mante-las permanentemente gravadas que carrega-las toda a vez que você ligar sua máquina. Também há programas assim nas placas controladoras de vídeo e nos teclados. Tarefas imutáveis e repetitivas como exibir caracteres no vídeo e controlar seu teclado são os fregueses ideais para gravação em ROM. Há coisas mais importantes ainda que inevitavelmente devem ser gravadas em ROM. Um micro não é capaz de fazer absolutamente nada que não esteja armazenado na memória sob a forma de um programa. Nem mesmo, evidentemente, carregar um programa do disco. Portanto, no momento mesmo que o micro é ligado, ele precisa de um programa que seja imediatamente executado para fazer todas aquelas gracinhas que aparecem na tela, tipo teste de memória e coisas afins, e em seguida carregar do disco os demais programas. Se precisa estar na memória no exato momento que o micro é ligado, este programa só pode ser armazenado em memória ROM. Ele, que é responsável pela "partida" do micro, é parte de um programa maior - o resto fica em disco e é carregado por ele mesmo - que se chama sistema operacional, sobre o qual temos muito que conversar. Incidentalmente, alguns micros portáteis possuem todo o sistema operacional gravado em ROM para permitir seu funcionamento mesmo sem um disco no drive. Os PCs fabricados pela IBM e os atuais MSX têm um BASIC - que nada mais é que um programa que interpreta programas - gravado em ROM. A isso se chama BASIC permanente. Como ele já está na memória, para aciona-lo basta "chama-lo", em geral digitando a palavra "basic" - o que não deve surpreender ninguém - diretamente do sistema operacional. E no BASIC existe um comando ("system" ou "call system") que sai do BASIC e recarrega na memória RAM o arquivo de comandos do sistema operacional. Chamar o sistema é isso. Pois lembram-se da minha desventura ? Após digitar cinco horas de um programa em BASIC - que foi laboriosamente armazenado em RAM byte a byte - chamei o sistema operacional para ver se havia espaço em disco para salvar minha obra prima. A máquina, obedientemente, carregou o sistema operacional na memória RAM, exatamente onde até então estivera ciosamente guardado meu programa. Naturalmente, quando voltei ao BASIC, já não havia mais o que salvar. Nem mesmo meu amor próprio.

B. Piropo