(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 NEWDOS, NEW-DOS 80,
DOS-PLUS, V-TOS, LDOS, 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 TRSDOS
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
|
|