(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 Apple­DOS 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.