(Fonte: Informática -  1986, pag. 649-653)

  Sistema Operacional do TRS-80

             Os sistemas operacionais para microcomputadores baseados em disquetes, chamados abreviadamente DOS (Disk Operating System) foram a mola-mestra do rápido desenvolvimento e disseminação de sistemas de uso pessoal avançado e uso profissional, na última década. No início da revolução dos microcomputadores, entre 1974 a 1977, surgiram inúmeras máquinas diferentes, cada qual com seu sistema operacional. Esta fase, caracterizada por nomes como Sphere, IMSAI, MITS, SOL, etc., não se estabilizou nem deixou descendentes, justamente pela falta de padronização de software básico. Somente com o surgimento de um sistema operacional simples, mas adotado em um grande número de máquinas, o CP/M (Control Program for Microcomputers), é que as tendências em matéria de DOS começaram a se firmar. O termo DOS, entretanto, passou a ser associado a computadores específicos de grande vendagem, como o Apple, o TRS 80 e o IBM PC, que impuseram, pela força do mercado, padrões aceitos mais ou menos universalmente, mas com inúmeras incompatibilidades mútuas.
            
Neste texto examinaremos as características de um dos DOS mais difundidos e utilizados em microcomputadores: o sistema operacional para discos de computadores compatíveis com o TRS 80 (modelos I, III e IV) elaborado nos Estados Unidos pela empresa Tandy/Radio Shack, de Fort Worth, Texas, e copiado em todas as partes do mundo. No Brasil, os compatíveis com o TRS 80 estiveram entre os primeiros computadores pessoais lançados, como o CP 500, da Prológica, e o D 8000, da Dismac, e atualmente têm um número razoável de representantes. Praticamente sem exceção, os sistemas operacionais desses computadores nacionais foram copiados das diversas versões existentes no exterior para o DOS dos TRS 80, que receberam o nome genérico de TRS-DOS (TandylRadio Shack Disk Operating System, pronunciado "tris-dós").

 Características básicas do TRS-DOS

 Inicialmente, devemos deixar claro que não existe um único TRS-DOS, mas sim uma família de sistemas operacionais intercompatíveis (ou, mais exatamente, compatíveis em relação às versões sucessivamente mais avançadas, o que em inglês é resumido pela expressão upward compatible). A família foi iniciada com a primeira versão comercializada, em 1978, pela Radio Shack para seus computadores, o TRS-DOS 2.1 (os números aqui se referem à versão 2, modificação 1: ver “Evolução dos sistemas operacionais de disco para o TRS80”). Uma série de empresas independentes dos Estados Unidos lançou versões corrigidas ou potencializadas dos TRS-DOS, que encontraram grande receptividade por parte dos usuários, como o NEW­DOS, NEW-DOS 80, DOS-PLUS, V-TOS, L­DOS, etc. Esses sistemas operacionais, por sua vez, também são compatíveis com as versões básicas do TRS-DOS.
             Cada integrante da família TRS-DOS de sistemas operacionais para compatíveis com o TRS 80 tem as seguintes características principais:
 

  • É um sistema operacional monousuário, voltado para o microprocessador Z80, de 8 bits, com recursos específicos para gerenciar a memória RAM, teclado, vídeo e unidades de disquete de 5 ¼ polegadas em configuração própria dos micros da linha TRS 80.

  • Consiste de diversos módulos separados, armazenados em trilhas reservadas do disquete e programados em linguagem de máquina. Um desses módulos, chamado SYSØ/SYS, reside permanentemente em memória RAM, em uma área fixa, e é responsável pelo carregamento por superposição (overlay) dos módulos restantes, à medida que esses forem se fazendo necessários.

  • Possui um repertório básico de comandos mnemônicos, em inglês, que são ativados de dois modos possíveis: execução imediata, após digitação pelo operador, via teclado; ou execução postergada, através da execução automática de arquivos contendo linhas de comandos armazenados na ordem desejada.

  • A especificação dos comandos obedece a uma sintaxe fixa e simples, podendo cada comando ter nenhum, um ou mais argumentos de execução.

  • O sistema permite a carga e a execução de comandos extrínsecos, geralmente na forma de programas utilitários armazenados em disco, em código binário executável (extensão/CMD).

  • Incorpora um sistema de formatação e gerenciamento do espaço em disquete, através de uma organização das trilhas em setores a blocos particionados por software. Inclui ainda um sistema de identificação de arquivos por nomes mnemônicos, armazenados em trilhas reservadas para o diretório.

  • Contempla a proteção de arquivos individuais e de disquetes contra cópia, listagem e modificação, através de um sistema de senhas de acesso.

  • Permite vários níveis de proteção: sem proteção de qualquer espécie, proteção contra supressão, alteração de nome, leitura, execução, gravação, só leitura, só gravação e só execução.

  • Inclui uma função HELP em linha, para explicações interativas para o usuário, a respeito das formas e da sintaxe de utilização dos comandos de biblioteca.

  • Inclui extensos controles de detecção, recuperação e exibição de erros de operação, incluindo mensagens por extenso.

SUMÁRIO DE COMANDOS ENCONTRADOS EM OUTROS DOS COMPATÍVEIS COM TRS-DOS

Nome

Função

Sistema

BOOT

Reinicializa o sistema operacional

DOS-PLUS/NEW-DOS

BLINK

Torna o cursor piscante

NEW-DOS

CLRFILE

Coloca zeros em um arquivo

DOS-PLUS

COPY 1

Efetua cópias em um só disquete

DOS-PLUS

CRUNCH

Elimina espaços em branco de um arquivo

DOS-PLUS

DIRCHECK

Efetua teste de erros no diretório

NEW-DOS

DISASSEM

Desmonta código binário em ASSEMBLER

NEW-DOS

DISKZAP

Modifica trilhas absolutas. Também chamado SUPERZAP

DOS-PLUS/NEW-DOS

ERROR

Mostra mensagem de erro associada a código

NEW-DOS

HIMEM

Fixa o limite máximo de memória RAM

NEW-DOS

JKL

Ativa cópia da tela para a impressora

NEW-DOS

LINK

Interliga dois dispositivos

V-TOS

LMOFFSET

Desloca DOS residente em memória

NEW-DOS

MINIDOS

Ativa versão reduzida do DOS em BASIC

NEW-DOS

PDRIVE

Permite especificar características de um drive

NEW-DOS

RS232

Mostra na tela parâmetros fixados p/RS-232

DOS-PLUS

SPOOL/ASPOOL

Permite efetuar spooling de impressào

V-TOS/NEW-DOS

SYSTEM

Permite reconfiguração de vários aspectos de hardware do sistema

NEW-DOS/DOS-PLUS

Funcionamento do sistema operacional

 Como ocorre praticamente com todos os sistemas operacionais em disco, o TRS­DOS também é operado pelo processo de bootstrap, ou seja, carregamento automático no início da operação ou na reinicializarão do computador (cold start/warm start). O mecanismo para que isso aconteça é o seguinte:
            
1. Ao ser acionado o botão de ligar ou o botão de RESET da UCP, o registro contador de instruções é imediatamente zerado, e um programa pré-gravado na ROM do sistema começa a ser executado a partir da locação absoluta zero.
            
2. Esse programa tem 42 bytes de extensão e faz as seguintes tarefas: inicialmente ele verifica se a UCP está conectada a um controlador de discos. Se o disco está disponível, a rotina prossegue executando uma carga do primeiro setor da trilha zero do disquete inserido na unidade zero. Esse setor contém um programa de 256 bytes, chamado BOOT/SYS, que é o bootstrap loader do sistema, ou seja, sua única função é carregar o módulo executivo do sistema operacional, que é um arquivo residente em outro lugar do mesmo disquete, e que tem o nome de SYSØ/SYS. O código binário correspondente ao BOOT/SYS ocupa uma porção predeterminada da memória RAM (a partir da locação 16896), e o controle é transferido a ele, pela ROM, imediatamente após sua carga.
            
3. A seguir, é carregado o arquivo SYSØ/SYS, cuja localização no diretório do disquete também é fixa (quarto setor). O programa SYSØ/SYS contém duas partes: uma é transitória e efetua algumas tarefas iniciais, como verificar a memória máxima do sistema, inicializar alguns valores na RAM de trabalho, etc. A outra parte reside permanentemente em uma área da memória RAM, logo acima da ROM, e contém o código para determinar quais os módulos que serão carregados, quando necessário, e onde encontrá-los no diretório, assim como várias rotinas para entrada e saída, interrupções, etc.
            
4. Toda vez que um comando for passado para o módulo executivo (o SYSØ/SYS residente em RAM), este carrega em uma área transitória da RAM (chamada área de overlays) um outro módulo em disco: o SYS1/SYS. Esse módulo é o responsável pela interpretação da linha de comando, ou seja, o reconhecimento da validade de um comando, da correção da sintaxe, da recuperação dos argumentos, etc. Em seguida, devolve o controle ao executivo, que carrega o módulo necessário para executar o comando e passa o controle para este.
            
5. Se um comando não for reconhecido, o SYS1/SYS adiciona a extensão/CMD ao nome digitado pelo usuário e tenta achar um programa binário executável com este nome em um dos disquetes ativos. Se existir, o programa é carregado, e o controle de execução é passado para ele. Isso torna possível colocar comandos novos no sistema operacional, na forma de arquivos extrínsecos em disco (aliás, os módulos /SYS também são arquivos em disco, só que não aparecem normalmente no diretório: costuma-se dizer que eles estão "invisíveis"; além disso, sua execução é automática).
            
O sistema operacional TRS-DOS padrão tem cerca de 34 kbytes de extensão. Apenas uma fração reside permanentemente em memória. O restante é constituído de vários pequenos módulos, que são sobrepostos em memória ao serem requisitados.

SUMÁRIO DOS COMANDOS DO DOS 3.X

Nome e formato

Função

1- Comandos de uso geral

 

BACKUP :f :d

Cria uma cópia exata do disco :f em :d

FORMAT :d

Formata um disco no drive :d

TESTMEM

Testa a memória RAM até 48 kbytes

2-Comandos de manipulação de arquivos

 

APPEND arqfont arqdest

Anexa um arquivo a outro

ATTRIB arq (v,ACC= nom1, UPD=nom2,PROT= nível)

Atribui ou modifica visibilidade, senha de acesso a nível de proteção de um arquivo

AUTO linha

Executa automaticamente a linha de comando ao ser inicializado o sistema

BUILD arq

Cria um arquivo de introdução automática de comandos

CLEAR (START=n1,END=n2, MEM=n3)

Define limites a limpa memória do usuário

CLOCK (ON/OFF)

Coloca o relógio na tela ou o retira de lá

CLS

Limpa a tela

COPY arqfont arqdest

Copia um ou mais arquivos

CREATE arq (LRL=n1,REC=n2)

Cria um arquivo com o número e o tamanho especificados de registros

DATE mm/dd/yy

Informa ou modifica a data

DEBUG

Ativa monitor de execução, exame e modificação de código absoluto

DIR :d (INV,SYS,PRT)

Lista o diretório do disquete

DO arq

Inicia a execução do arquivo de comandos

DUAL (ON/OFF)

Ativa saída simultânea no vídeo a na impressora

DUMP arq (START=n1,END= n2,TRA=n3, REL0= n4)

Armazena um programa binário em disco

FORMS (WIDTH=n1,LINES= n2)

Define a largura e o comprimento de formulário na impressora do sistema

FREE :d

Mostra o mapa de alocação do disquete

HELP comando

Explica o comando solicitado

KILL arq

Apaga um ou mais arquivos do disco

LIB

Lista todos os comandos de biblioteca

LIST arq (PRT,SLOW,ASCII)

Lista na tela ou impressora o conteúdo de um arquivo em ASCII ou hexadecimal

LOAD arq

Carrega na memória um programa binário

MASTER (DRIVE=d)

Define o drive mestre do sistema

PATCH arq (ADD=n1,FIND=s, CHG=c)

Modifica o conteúdo de um arquivo em disco a partir do endereço indicado

PAUSE mensagem

Interrompe a execução mostrando mensagem

PROT :d (PW,LOCK)

Utiliza ou modifica a senha-mestra do disco

PURGE :d

Apaga arquivos sob seleção do usuário

RELO arq (ADD = n1)

Modifica o local de carga de um programa na memória

RENAME arqant arqnovo

Modifica o nome de um arquivo

ROUTE (SOURCE=aa,DESTIN= bb)

Muda a rota de transmissão de dispositivos de E/S

SETCOM (OFF,WORD=a, BAUD=b,STOP=c,PARITY= d,mode)

Inicializa parâmetros de comunicação pela porta serial RS-232C

TAPE (S=fonte,D=destino)

Transfere arquivos binários de fita para disco e vice-versa

TIME hh:mm:ss

Informa ou acerta o relógio interno

WP (DRIVE=d)

Protege um drive contra escrita