(Fonte:
Informática - 1986, pag. 669-672)
Características básicas do Apple-DOS
O
primeiro modelo da Apple a aceitar unidades de leitura a gravação de
disquetes de 5 ¼ polegadas
foi o Apple II. Esse modelo foi recebendo melhorias sucessivas, chegando
ao Apple II Plus e, posteriormente, ao Apple IIe
e ao Apple IIc, um novo modelo mas com características técnicas
semelhantes às do Apple IIe que disputava o mercado dos portáteis. O
modelo Apple III, que não chegou a ter grande sucesso nem foi introduzido
no Brasil, utiliza um sistema operacional algo diferente (e incompatível
com o AppleDOS dos modelos II).
As
primeiras versões do Apple-DOS (releases 2) logo foram substituídas
pelo Apple-DOS 3.2. Com a introdução do Apple II Plus, surgiu a
versão mais recente, que era utilizada em 90% dos equipamentos
compatíveis com Apple II, o DOS 3.3. Sua introdução provocou a
necessidade de modificações de hardware nos computadores já existentes,
com a substituição de duas EPROMs na placa central. Essa versão tornou
possível, pela primeira vez, a utilização de 16 setores por disquete de
35 trilhas (a versão DOS 3.2 utilizava apenas 13 setores), aumentando,
portanto, a capacidade total formatada do disco para cerca de 140 kbytes.
Finalmente, em 1983,foi introduzida uma versão mais avançada do AppleDOS,
chamada PRO-DOS e é orientada para equipamentos com um mínimo de
64 kbytes de RAM.
O
Apple-DOS é bem diferente dos outros sistemas operacionais.
Enquanto o TRSDOS, o CP/M e o MS-DOS são sistemas operacionais de
disco de organização clássica, ou seja, conjuntos de programas que
dominam todos os aspectos operacionais do computador e funcionam como
programa executivo para o controle da execução de outros programas
utilitários e aplicativos, o Apple-DOS é um complemento do
interpretador BASIC residente em memória ROM. Tudo que o DOS faz é
adicionar ao Applesoft BASIC (o interpretador BASIC do tipo científico,
com operações matemáticas e funções em ponto flutuante, também
desenvolvido pela Microsoft) uma série de comandos e rotinas operacionais
para possibilitar a entrada e saída em disquetes de 5 ¼ polegadas.
O
Apple-DOS é carregado simplesmente, a partir das trilhas 0, 1 e 2
do disquete operacional, em uma área de memória RAM protegida, que
coexiste com as outras áreas normalmente particionadas entre ROM, vídeo
e teclado mapeados, programas do usuário, etc. Comparado com outros
sistemas com designação semelhante, fica evidente o menor número de
recursos e a maior simplicidade dos comandos de disco do Apple-DOS.
O próprio sistema CP/M, apesar de simples, tem mais recursos do que o
Apple-DOS. A filosofia que orientava essa "pobreza",
entretanto, parece ter sido abandonada no novo sistema PRO-DOS.
O
DOS 3.3 ocupa aproximadamente 12 kbytes na porção alta da memória do
Apple e adiciona comandos ao repertório básico do BASIC. Ele pode ser
utilizado tanto em conjunto com o Applesoft BASIC quanto com o Integer
BASIC, versão mais rápida e de menor extensão deste interpretador, que
não tem a capacidade de processamento de números reais (ponto
flutuante). O Integer BASIC reside normalmente em disquete ou então em
PROMS de um cartão de expansão (cartão de linguagem), que pode ser
inserido em um dos soquetes internos. O DOS adiciona aos dois tipos de
BASIC os comandos INT (Integer) e FP (Floating Point), que permitem ao usuário
transferir o controle da UCP para o interpretador IntBASIC ou Applesoft,
respectivamente. Entretanto, quando o Apple recebe expansão de memória
até 64 kbytes de RAM (ou mais), normalmente o Integer BASIC é carregado
na memória alta, junto com o DOS.
Outras
características interessantes do Apple-DOS 3.3 são:
-
O
boot do sistema é dado automaticamente em partida a frio ou a quente com
auxílio dos comandos de acesso IN#
e PR#;
estes atribuem as entradas e saídas subseqüentes ao soquete interno
onde está conectado o controlador de unidades de disquete que se quer
designar como o disquete do sistema. Normalmente esse soquete é o 6, mas
pode ser qualquer
um, entre 1 e 7. O soquete número 0 é atribuído internamente ao
teclado.
-
Os
arquivos definidos em disquete podem ter nomes com até 30 caracteres
(qualquer um, com exceção da vírgula), e a designação de residência
do arquivo pode ser feita por parâmetros opcionais que indicam o soquete
(S) e o disquete entre os dois que cada soquete controla (D), ou então
através de uma numeração de identificação individual dos disquetes físicos,
que é chamada de volume (V) e que pode ser um número entre 1 e 254.
-
Todos
os comandos do DOS são incorporados ao BASIC e podem ser usados dentro de
programas nesta linguagem. O
esquema de acionamento interno dos comandos DOS é através do comando
PRINT, precedendo a frase de comando com o caractere CONTROL-D (código
ASCII 4), como no exemplo abaixo:
25 PRINT CHR$(4);"CATALOG,V125"
cuja função é ordenar, dentro de um programa BASIC, na linha 25, a
execução do comando DOS chamado CATALOG, que lista na tela o diretório
do disquete identificado pelo volume 125.
-
Seqüências mistas de comandos BASIC e DOS podem ser armazenadas
em arquivos seqüenciais ASCII e executadas automaticamente pelo comando
EXEC.
-
Qualquer arquivo em disco pode ser protegido individualmente contra
operações de escrita, através dos comandos LOCK e UNLOCK. O DOS não
oferece proteção de leitura e execução, por palavras-senha, como
o TRS-DOS.
-
Os arquivos gerados pelo sistema operacional podem ser de cinco
tipos: arquivos de programas em Integer BASIC, arquivos de programas em
Applesoft BASIC, arquivos de dados em ASCII seqüenciais, arquivos de
dados em ASCII aleatórios (ou de acesso direto) e arquivos binários
executáveis (linguagem de máquina).
-
Até 16 arquivos podem ser abertos simultaneamente por um
programa em BASIC. Para cada arquivo aberto, são alocados 595 bytes
para um buffer na memória RAM, de modo que se pode usar o comando
MAXFILES para definir esse número internamente.
-
As operações de leitura e gravação podem ser orientadas a
registros (que terminam com um código CR ou RETURN), ou byte a byte,
podendo-se posicionar a operação em um ponto absoluto ou relativo
qualquer de um setor. Além disso, todas as operações de E/S em disco
podem ser acompanhadas na tela, através dos comandos MON e NOMON; o
primeiro liga e o segundo desliga a monitoração automática, que pode
ser orientada individualmente para operações de leitura, gravação e
execução de comandos DOS dentro de programas em BASIC.
-
Por residir em memória RAM e não utilizar módulos em overlay, o
Apple-DOS pode ser facilmente modificado ou personalizado,
gravando-se a nova versão em disco através do comando de formatação
e cópia do DOS chamado INIT.
Formatação do disquete
Os
disquetes usados pelos computadores tipo Apple têm 70 trilhas concêntricas.
Devido a imprecisões de posicionamento da cabeça, entretanto, somente
metade das trilhas é utilizada (uma sim, outra não). As trilhas são
divididas radialmente em 16 setores de 256 bytes cada, dando um total de
4096 bytes por trilha. Portanto, cabem cerca de 140 kbytes de informações
por face de disquete de 5 ¼ polegadas, das quais quatro trilhas são
reservadas: as trilhas 0, 1 e 2 para a cópia do DOS (cerca de 12 kbytes)
e a 17 (a mais central) para armazenamento do diretório do disquete. As
três primeiras trilhas podem ser recuperadas para armazenamento de dados
em disquetes não inicializados com DOS, através da modificação de uma
tabela contendo o mapa de utilização do disco (Volume Table of Contents,
ou VTOC). Ao se utilizar um disquete virgem, ele deve ser inicializado
através do comando INIT, do DOS. Esse comando efetua a inicialização em
duas etapas: primeiro, o disquete é formatado, ou seja, os setores são
criados; depois, o DOS é copiado em disco, a partir da memória RAM. Ao
se inicializar um disco, deve-se gravar também um programa em BASIC
(programa de
saudação), que tem de estar residente na memória RAM no momento da
inicialização, pois será automaticamente carregado pelo DOS assim que
este for ativado em uma partida a frio ou a quente.
Quando
se utilizam expansões de memória no hardware do Apple (por exemplo,
bancos adicionais de 16 kbytes), pode-se relocar o DOS para bancos
que são chaveados do estado inativo para ativo, quando se vai utilizar o
DOS, e de volta para inativo, quando não se precisa deles. Assim, todos
os bancos adicionais de 16 kbytes ocupam o mesmo espaço de endereçamento
na RAM, que coincide com o espaço normalmente reservado para o DOS.
Diversos programas utilitários permitem fazer uso dessa propriedade, causando
um efeito externo, invisível para o usuário, de expansão real da memória
para mais de 64 kbytes (incluindo os 12 kbytes da ROM),
que é o espaço máximo
de endereçamento da UCP de 16 bits de barramento de endereços do 6502.
|
SUMÁRIO
DOS COMANDOS DE ACESSO A DISCO DO DOS-BASIC
|
|
Comando |
Função |
|
OPEN
arq (,Ss),Dd)(,Vv)
|
Abre
um arquivo em disco
|
|
CLOSE
(arq)
|
Fecha
um arquivo em disco
|
|
WRITE
arq (,R)(Bb)
|
Posiciona
arquivo para gravação, no próximo registro, ou a partir do
byte b
|
|
APPEN
arq (,Ss)(,Dd)(,Vv)
|
Posiciona
o arquivo seqüencial pa ra adição de registros ao final
|
|
POSITION
arq, Rp
|
Posiciona
o arquivo seqüencial no campo p para operações de READ ou WRITE
|
|
READ
arq (,Rr)(,Bb)
|
Possibilita
a leitura de dados do arquivo a partir do byte b.
|
|
SUMÁRIO
DOS PARÂMETROS DE ARQUIVOS EM DISCO NO APPLE-DOS 3.3
|
|
Tipo
de arquivo
|
Parâmetro
|
Letra
|
Conjunto
|
|
|
|
|
mínimo
|
Máximo
|
|
Todos
|
Soquete
|
S
|
1
|
7
|
|
Drive
|
D
|
1
|
2
|
|
Volume
|
V
|
0
|
254
|
|
Seqüencial
|
Byte
|
B
|
0
|
32767
|
|
Campo
relativo
|
R
|
0
|
32767
|
|
Campo
absoluto
|
R
|
0
|
32767
|
|
Aleatório
|
Largura
registro
|
L
|
1
|
32767
|
|
Número
registro
|
R
|
0
|
32767
|
|
Binário
|
Endereço
início
|
A
|
0
|
65535
|
|
N
°
de bytes
|
L
|
1
|
32767
|
|
SUMÁRIO
DOS COMANDOS DO SISTEMA OPERACIONAL APPLE-DOS 3.3.
|
|
Comando |
Função |
|
1.
Comandos de trabalho
|
|
|
INIT arq
(,Vv)(,Ss)(,Dd)
|
Inicializa
um disquete, gravando o programa de saudação de nome arq
|
| CATALOG
(,Ss)(,Dd)
|
Apresenta
na tela o diretório do disquete
|
|
SAVE arq
(,Ss)(,Dd)(,Vv)
|
Grava
no disquete o programa em memória, sob o nome arq
|
|
LOAD arq
(,Ss)(,Dd)(,Vv)
|
Carrega
na memória o programa arq
|
| RUN arq
(,Ss)(,Dd)(,Vv)
|
Executa
o programa BASIC em disco
|
|
BRUN arq
(,Ss)(,Dd)(.Vv)
|
Executa
o programa binário em disco
|
|
BSAVE arq,Aa,Lj
(,Ss)(,Dd)(,Vv)
|
Grava
no disquete o conteúdo da memória a partir do endereço a,
com ¡ bytes de extensão, sob o nome arq
|
|
BLOAD arq
(,Aa)(,Ss)(,Dd)(,Vv)
|
Carrega
o arquivo binário arq a partir da posição de memória a
|
|
RENAME
arq1,arq2 (,Ss)(,Dd)(,Vv)
|
Muda
o nome do arquivo arq1 para arq2
|
| DELETE
arq (,Ss)(,Dd)(,Vv)
|
Apaga
o arquivo do disquete
|
|
LOCK arq
(,Ss)(,Dd)(,Vv)
|
Protege
o arquivo contra operações de gravação
|
|
UNLOCK arq
(,Ss)(,Dd)(,Vv)
|
Desprotege
o arquivo contra operações de gravação
|
|
VERIFY arq
(,Ss)(,Dd)(,Vv)
|
Verifica
a consistência interna do arquivo gravado
|
|
MON (,C)(,I)(,0)
|
Liga
o traçamento de atividades de E/S em disco, na execução de
comandos, Input e Output.
|
|
NOMON (,C)(,I)(,0)
|
Cancela
o efeito de um comando MON especificado anteriormente
|
|
MAXFILES
n
|
Reserva
n buffers de E/S para arquivos em disco, simultaneamente
|
|
|
|
|
2.
Comandos de acesso
|
|
|
CHAIN arq
(,SS)(,Dd)(,Vv)
|
Executa
um programa em Integer BASIC mantendo as variáveis anteriores
|
|
FP (,SS)(,Dd)(,Vv)
|
Transfere o controle
para o Applesoft BASIC em ROM (Floating Point)
|
|
INT (,Ss)(,Dd)(,Vv)
|
Transfere
controle para o Integer BASIC
|
|
IN#s
|
Recebe
todas as entradas subseqüentes do dispositivo ligado ao soquete s
|
|
PR#s
|
Transmite
as saídas subseqüentes para o dispositivo conectado ao soquete s
|
|
EXEC arq
(,Rp)(,Ss)(,Dd)(,Vv)
|
Executa
a seqüência de comandos gravados no arquivo arq, a partir da
posição p
|
|
Abreviaturas:
|
|
|
Arq-
|
nome
de arquivo
|
|
S
-
|
número
do soquete com interface (slot)
|
|
D
-
|
número
da unidade de disquete (drive)
|
|
V
-
|
número
do volume de disquete
|
| A
-
|
endereço
absoluto de início da memória
|
|
L
-
|
largura
do campo/memória em bytes
|
|
TIPOS
DE ARQUIVO UTILIZADO COM OS COMANDOS DO APPLE-DOS 3.3
|
|
COMANDO
DOS
|
Programa
INTEGER
BASIC
|
Programa
APPLESOFT BASIC
|
Arquivo
ASCII seqüencial
|
Arquivo
ASCII aleatório
|
Arquivo
binário
|
|
APPEND
|
|
|
X
|
|
|
|
BLOAD
|
|
|
|
|
X
|
|
BRUN
|
|
|
|
|
X
|
|
BSAVE
|
|
|
|
|
X
|
|
CHAIN
|
X
|
|
|
|
|
|
CLOSE
|
|
|
X
|
X
|
|
|
DELETE
|
X
|
X
|
X
|
X
|
X
|
|
EXEC
|
|
|
X
|
|
|
|
INIT
|
X
|
X
|
|
|
|
|
LOAD
|
X
|
X
|
|
|
|
|
LOCK
|
X
|
X
|
X
|
X
|
X
|
|
OPEN
|
|
|
X
|
X
|
|
|
POSITION
|
|
|
X
|
|
|
|
READ
|
|
|
X
|
X
|
|
|
RENAME
|
X
|
X
|
X
|
X
|
X
|
|
RUN
|
X
|
X
|
|
|
|
|
SAVE
|
X
|
X
|
|
|
|
|
VERIFY
|
X
|
X
|
X
|
X
|
X
|
|
UNLOCK
|
X
|
X
|
X
|
X
|
X
|
|
WRITE
|
|
|
X
|
X
|
|
O
PRO-DOS
O
PRO-DOS é o mais recente sistema operacional em disco desenvolvido pela
Apple Computer, Inc. parta o Apple e substitui a versão AppleDOS 3.3,
de 1980. O PRO-DOS é incompatível com o DOS 3.3, apresentando, além
disso, uma série de diferenças quanto aos comandos e suas conseqüências.
Por exemplo, os comandos INT, FP, MON, NOMON, INIT e MAXFILES não existem
no PRO-DOS, enquanto diversos comandos novos, como FRE, FLUSH, STORE e
RESTORE, foram implementados. Alguns comandos presentes no DOS, como RED,
WRITE, POSITION, APPEND, CHAIN, PR, CATALOG, SAVE e LOAD foram mantidos em
suas formas originais, só que com execução bem mais rápida e
eficiente.
Uma diferença importante do PRO-DOS em relação ao DOS é a maneira como
o diretório é organizado e como se atribuem nomes aos arquivos. Um diretório
de um volume pode ter vários subdiretórios, e o nome de um arquivo é
definido por uma frase completa, que inclui todos esses designativos; esta
frase é chamada caminho (pathname, em
inglês). Nas listagens do diretório são identificados os nomes do pathname,
da mesma forma que outros parâmetros que não eram armazenados no DOS,
como tipo do arquivo por extenso (SYS, BAS, BIN, etc.), número de blocos
de extensão, data e hora da modificação e criação, etc.
A
exigência mínima de hardware para o PRO-DOS é uma UCP tipo Apple II
Plus ou Apple IIe, com 64 kbytes de RAM. O sistema operacional já inclui
a capacidade de gerenciamento de disco rígido tipo Winchester (o modelo
ProFile, lançado pela Apple norte-americana).
O
sistema de carregamento e de particionamento da memória pelo PRO-DOS também
é radicalmente diferente do sistema do DOS 3.3. Como no caso de outros
DOS, inicialmente é carregado um programa bootstrap loader, que pesquisa
o diretório e carrega o DOS propriamente dito, e em seguida um arquivo
com o sufixo SYSTEM, que geralmente é o interpretador BASIC. Finalmente,
o programa de saudação (que no PRO-DOS se chama STARTUP) é carregado e
executado. Ele pode ser em BASIC ou em linguagem de máquina.
|