CP/M

CP/M
DesenvolvedoresDigital Research, Inc, Gary Kildall
Lançamento estável
3.1 (1983)
Escrito emPL/M
PlataformaIntel 8080, Intel 8085, Zilog Z80, Zilog Z8000, Intel 8086, Motorola 68000
LicençaLicença BSD
Websitehttp://www.digitalresearch.biz/CPM.HTM

CP/M (Control Program/Monitor ou Control Program for Microcomputers: "programa de controle para microcomputadores") é um sistema operacional de disco originalmente criado por Gary Kildall da Digital Research para microcomputadores baseados em microprocessadores Intel 8080/85. Inicialmente, seu uso era limitado a um único usuário/tarefa em processadores de 8 bits com pouco mais de 64 kB de RAM, embora versões posteriores tenham adicionado recursos multiusuário/multitarefa e tenham sido adaptadas para CPUs de 16 bits.

A combinação do CP/M com computadores pessoais e o barramento S-100, iniciada com o MITS Altair 8800, foi um dos primeiros padrões da indústria para microcomputadores e foi amplamente utilizada desde a década de 1970 até meados da década de 1980. Ao reduzir drasticamente a quantidade de programação necessária para instalar um aplicativo num computador de um novo fabricante, o CP/M impulsionou os mercados tanto de software quanto de hardware.

Modelo de hardware

Computador "Sanco 8001" com o CP/M 2.2 em execução.

Um sistema CP/M de 8 bits, geralmente contém os seguintes componentes:

O único hardware compatível com CP/M, na versão distribuída pela Digital Research, era o Intel 8080 Development System. Os fabricantes de sistemas compatíveis com CP/M adaptavam partes do sistema operacional para suas próprias combinações de memória instalada, unidades de disco e entrada de console. O CP/M também podia rodar em sistemas baseados no processador Zilog Z80, uma vez que o Z80 era capaz de executar código do 8080. Embora o CP/M não fosse capaz de executar nenhuma das instruções específicas do Z80, muitos aplicativos foram programados para máquinas CP/M baseadas nesse processador.

Em muitas máquinas, o bootstrap era um programa mínimo armazenado em ROM; em outras, esse programa precisava ser inserido diretamente na memória por meio de um painel frontal sempre que o sistema operacional era carregado.

O CP/M utilizava um conjunto ASCII de 7 bits (128 caracteres). Os outros 128 caracteres possíveis em um conjunto de 8 bits não eram padronizados. Por exemplo, um modelo da Kaypro os utilizava para armazenar caracteres do alfabeto grego, enquanto as máquinas Osborne usavam o oitavo bit para indicar o caractere de sublinhado. Sistemas CP/M internacionais frequentemente utilizavam o padrão ISO 646 para adaptar conjuntos de caracteres, substituindo certos caracteres ASCII por caracteres de idiomas locais, em vez de adicioná-los além do limite de 7 bits.

Componentes do sistema operacional

Nas versões de 8 bits, o kernel do CP/M era dividido em três componentes: o Console Command Processor (ou CCP), o Basic Disk Operating System (ou BDOS) e o Basic Input/Output System (ou BIOS). O CCP e o BDOS eram idênticos em todas as instalações de uma determinada versão do CP/M, mas o componente BIOS era sempre adaptado ao hardware específico. Adicionar memória a um computador, por exemplo, significava que o sistema CP/M precisava ser reinstalado. Uma vez instalado, o sistema operacional era armazenado em espaços reservados no início de qualquer disco utilizado para inicializar o sistema. Na inicialização, o carregador de inicialização (boot loader) carrega o sistema operacional a partir do disquete na unidade A:.

Para os padrões modernos, o CP/M era primitivo devido a restrições extremas quanto ao tamanho dos programas. Na versão 1.0, a troca de disquete não era detectada. Se um usuário trocasse os discos sem ler novamente o diretório de arquivos de forma manual, o sistema sobrescreveria o novo disco utilizando as informações de diretório do disco antigo, destruindo os dados armazenados no novo disquete. A partir da versão 1.1 ou 1.2, esse problema foi amenizado: se alguém trocasse os discos sem ler o diretório do novo disco e tentasse gravar nele, o sistema operacional emitia um aviso de erro, impedindo a sobrescrita, mas exigindo uma reinicialização (o que levava apenas alguns segundos, mas resultava na perda de todos os dados na memória).

A maior parte da complexidade do CP/M estava isolada no BDOS e, em menor grau, no CCP. Isso significava que, ao portar o número limitado de comandos simples do BIOS para uma plataforma de hardware específica, todo o sistema operacional passava a funcionar. Tal característica reduziu significativamente o tempo de desenvolvimento necessário para dar suporte a novas máquinas e foi uma das principais razões para a ampla utilização do CP/M. Hoje, esse tipo de abstração é comum à maioria dos sistemas operacionais, mas, na época em que o CP/M foi criado, os sistemas operacionais eram tipicamente projetados para rodar numa única plataforma de hardware, e sistemas multiplataforma eram considerados desnecessários.

Processador de Comandos do Console

O Console Command Processor (CCP, ou Processador de Comandos do Console) recebe entradas do teclado e transmite resultados para o terminal. O CP/M pode operar com uma impressora ou com um terminal de vídeo. Todos os comandos do CP/M estão integrados ao interpretador de comandos. O console normalmente exibe o prompt A> na tela para indicar a unidade de disco padrão atual. Quando utilizado com um terminal de vídeo, esse prompt aparece ao lado de um cursor piscante — fornecido pelo terminal —, indicando que o CCP está aguardando a entrada do usuário.

Um comando interno do CCP — a letra da unidade seguida por dois-pontos — permite selecionar a unidade padrão. Por exemplo, se você digitar B: e pressionar a tecla Enter no prompt de comando, a unidade padrão mudará para B, e o próprio interpretador exibirá essa alteração.

A linha de comando do CP/M foi padronizada com base nos sistemas operacionais da Digital Equipment, como o RT-11 para o PDP-11 e o OS/8 para o PDP-8. Os comandos consistiam em palavras-chave seguidas por uma lista de parâmetros separados por espaços ou caracteres especiais. Se o CCP reconhecesse um comando interno, ele o executava. Caso contrário, tentava localizar o arquivo executável no disco ou na área do usuário (nas versões posteriores), carregá-lo e passar-lhe quaisquer parâmetros adicionais da linha de comando. Esses programas eram conhecidos como "programas transitórios". Após a conclusão, o CP/M recarregava a parte do CCP que havia sido sobrescrita pelos programas transitórios, disponibilizando assim mais memória para esses programas.

Às vezes, os comandos eram confusos. Por exemplo, a instrução para duplicar arquivos era PIP (Peripheral-Interchange-Program), o nome do antigo utilitário da DEC usado para essa finalidade. O formato dos parâmetros do programa não era padronizado; portanto, não havia uma "opção de caractere" única para distinguir as opções do nome do arquivo.

Comandos internos

Os comandos internos estão integrados ao processador de comandos (CCP) e são carregados na RAM durante a inicialização do sistema.

Comando Descrição
DIR Lista os nomes dos arquivos na unidade de disco atual.
unidade: Muda a unidade de disco (A: por padrão).
ERA arquivo Elimina os arquivos especificados.
TYPE arquivo Mostra o conteúdo de um arquivo na unidade de disco.
arquivo Executa um arquivo .COM.
SAVE n arquivo.com Salva o conteúdo da memória num arquivo.
USER n Muda o espaço do usuário (0-15).
REN novonome.nnn=nomeantigo.nnn Renomeia o arquivo especificado.

Comandos externos

Os comandos externos (ou transitórios) são armazenados em disquetes (ou discos rígidos) para uso posterior.

Comando Descrição
ASM Carrega o assembler CP/M e monta o programa especificado a partir do disco.
DDT Carrega o depurador do CP/M e inicia a execução.
DUMP Descarrega o conteúdo de um arquivo en hexadecimal.
ED Carrega e executa o editor de texto do CP/M.
LOAD Carrega o arquivo no formato hexadecimal do código de máquina Intel e gera um arquivo executável que pode ser carregado na memória. Este programa se torna um novo comando, sob o CCP.
MOVCPM Gera o sistema CP/M para um tamanho de RAM específico.
PIP Carrega o programa Peripheral Interchange Program para operações de transferência entre periféricos e discos.
STAT Exibe o espaço de armazenamento restante (em bytess) no disco atual, fornece informações estatísticas sobre determinados arquivos e exibe ou altera o mapeamento de dispositivos.
SUBMIT Processa un arquivo de comandos em lote.
SYSGEN Cria un disco de inicialização CP/M.

Sistema Operacional de Disco

O Basic Disk Operating System (BDOS, ou Sistema Operacional de Disco Básico) fornece acesso a operações como abrir um arquivo, sair do console e imprimir. Os programas carregam os registradores do processador com o código de função para a operação e os endereços dos parâmetros ou buffers de memória, e solicitam um local fixo na memória. Como o endereço é o mesmo independentemente da quantidade de memória no sistema, os programas são executados da mesma maneira para qualquer tipo ou configuração de hardware.

Sistema Básico de Entrada/Saída

Caixa do CP/M 2.2

O Sistema Básico de Entrada/Saída (Basic Input Output System ou BIOS) fornece acesso às funções de baixo nível exigidas pelo sistema operacional. Essas funções incluem a leitura ou escrita de caracteres individuais no terminal do sistema e a leitura ou escrita de um setor de dados no disco. O BDOS lida com parte do buffer de dados do disco, mas antes do CP/M 3.0, ele assumia um tamanho de setor de disco fixo de 128 bytes, como o usado em disquetes de densidade única de 8 polegadas. Como a maioria dos formatos de disco de 5,25 polegadas utiliza setores grandes, o bloqueio e o desbloqueio — bem como o gerenciamento da área de memória do disco — eram realizados por meio de código específico na BIOS.

A personalização era necessária porque as opções de hardware não estavam limitadas pela compatibilidade com nenhum padrão amplamente conhecido. Por exemplo, alguns fabricantes utilizavam o terminal de computador como uma unidade independente, enquanto outras versões incorporavam um sistema de exibição de vídeo integrado. Portas seriais para impressoras e modems podiam utilizar diferentes tipos de chips UART, e os endereços das portas não eram fixos. Algumas máquinas utilizavam E/S mapeada em memória em vez do espaço de endereçamento de E/S do 8080. Todas essas variações de hardware permanecem ocultas dos demais módulos do sistema graças ao uso da BIOS, que utiliza pontos de entrada padronizados para os serviços necessários à execução do CP/M, como E/S de caracteres ou acesso a blocos de disco. Como o suporte para comunicação serial com um modem era muito rudimentar na BIOS ou podia estar completamente ausente, era prática comum que os programas CP/M que utilizavam modems tivessem uma sobreposição de usuário instalada, contendo todo o código necessário para acessar uma determinada porta serial na máquina.

Sistema de arquivos

Os nomes dos arquivos consistiam em até oito caracteres, seguidos por um ponto e uma extensão de arquivo de até três caracteres (formato de nome de arquivo "8.3"). A extensão geralmente identificava o tipo de arquivo. Por exemplo, .COM indicava um arquivo binário executável e .TXT indicava um arquivo contendo texto ASCII.

Cada unidade de disco era identificada por uma letra. Normalmente, as duas unidades de disco eram identificadas como unidades A: e B:. Para se referir a um arquivo em uma unidade específica, a letra da unidade era precedida pelo nome do arquivo, separados por dois pontos, por exemplo, A:FILE.TXT. Sem a letra da unidade como prefixo, o padrão era usar os arquivos na unidade atual (por exemplo, um programa em execução na unidade B acessará arquivos na unidade B, a menos que os nomes dos arquivos sejam precedidos por uma letra de unidade).

O tamanho do arquivo era especificado como o número de registros de 128 bytes (correspondentes diretamente aos setores do disco em unidades de 8 polegadas) ocupados por um arquivo no disco. Não havia uma maneira padronizada de especificar o tamanho exato dos arquivos em bytes. O sistema operacional mantinha o tamanho do arquivo atualizado no bloco de controle de arquivo (FCB). Como muitos aplicativos (como editores de texto) tratam arquivos como sequências de caracteres, em vez de sequências de registros, por convenção, os arquivos de texto terminam com o caractere CTRL-Z (ASCII SUB, hexadecimal 1A). Determinar o fim de um arquivo de texto consistia, portanto, em examinar o último registro do arquivo em busca do caractere CTRL-Z de término. Isso também significava que inserir um caractere CTRL-Z no meio de um arquivo geralmente tinha o efeito de truncar o conteúdo de texto do arquivo.

Não havia suporte para modificação da data do arquivo (marca temporal), embora algumas versões posteriores do CP/M tenham adicionado esse recurso como uma extensão.

O CP/M 2.2 não possuía subdiretórios na estrutura de arquivos, mas contava com 16 "espaços de usuário" para organizar arquivos em disco. O conceito de espaço de usuário tornou a versão de usuário único do CP/M mais compatível com sistemas MP/M multiusuário. Uma correção comum para o CP/M e seus derivados consistia em tornar um espaço acessível ao usuário independentemente do espaço de usuário configurado. Um novo comando, 'USER', permitia ao usuário alterar essa área para um valor entre 0 e 15. 'USER 0' era o valor padrão. Se você alternar para outro usuário, por exemplo, USER 1, o conteúdo salvo em disco por esse usuário estará disponível apenas para o USER 1; o USER 2 não poderá vê-lo nem acessá-lo. Como o CP/M era um sistema operacional de usuário único, a instrução USER tinha pouca segurança; nada impedia que qualquer usuário acessasse qualquer um dos outros 16 espaços de usuário. O recurso de espaço de usuário provavelmente era pouco útil em disquetes, mas era mais útil para organizar arquivos em máquinas equipadas com discos rígidos de grande capacidade.

Alguns tipos de arquivo CP/M

Extensão Significado
ASM Código-fonte em linguagem assembly
PRN Arquivo de impressão
HEX Código de máquina
BAS Código-fonte BASIC
INT Código intermediário
COM Arquivo executável
PLI Código-fonte PL/1
REL Módulo relocável
TEX Arquivo de origem TeX
BAK Cópia de segurança (ED)
SYM Ficheiro de símbolos SID
$$$ Arquivo temporário

Memória livre para programas

Na versão original do CP/M para os processadores 8080, 8085 e Z80, a memória de leitura/gravação entre o endereço hexadecimal 0100 e a posição imediatamente anterior ao endereço armazenado em 0006H (o endereço mais baixo no BDOS) é a Transient Program Area (TPA, ou "Área de Programas Transitórios") disponível para os programas de aplicação CP/M. Embora todos os processadores Z80 e 8080 pudessem usar 64 kB de memória, a quantidade disponível para os programas podia variar dependendo do projeto do computador específico. Alguns computadores utilizam uma grande parte do espaço de endereçamento para outras tarefas, como a ROM do BIOS ou a memória de vídeo. Portanto, alguns sistemas tinham mais memória disponível para TPA do que outros. A comutação de bancos de memória era uma técnica comum que permitia aos sistemas ter uma TPA alta usando ROM e memória de vídeo, se necessário. O CP/M 3.0 também permitia que partes do BDOS fossem executadas no banco de memória de troca (swap).

Versões do CP/M

Data Versão
1973 CP/M 1.0
- CP/M 1.4
1979 CP/M 2.0
- CP/M 2.2
1982 CP/M 3.0 (8 bits)
- CP/M 3.1 (16 bits)

Histórico

O início e o auge do CP/M

O nome

Em 1974, o CP/M era um projeto pessoal de Gary Kildall, sob o nome Control Program/Monitor. Durante o processo de transformação do CP/M em um produto comercial, os documentos de registro de marca depositados em novembro de 1977 o listavam sob o nome Control Program for Microcomputers. O nome reflete a convenção de nomenclatura predominante na época — observada em linguagens como PL/M (Programming Language for Microcomputers), da Intel, e PL/P (Programming Language for Prime), da Prime Computer, ambas desenvolvidas por Kildall — e faz alusão aos sistemas operacionais PL/I e CP/CMS da IBM. Kildall havia utilizado esses sistemas enquanto trabalhava na Naval Postgraduate School e eles — assim como o TOPS-10 — apresentavam semelhanças claras com a interface de usuário e o sistema de arquivos do CP/M.

Essa mudança de nome do CP/M fez parte de um esforço mais amplo de Kildall e de sua esposa e sócia, Dorothy McEwen, para transformar os projetos pessoais de Kildall — o CP/M e o PL/M — em um empreendimento comercial. O casal Kildall buscou, com perspicácia, estabelecer a marca Digital Research e suas linhas de produtos como sinônimos de "microcomputador" na mente dos consumidores, assim como a IBM e a Microsoft conseguiram, mais tarde, tornar o termo "computador pessoal" em sinônimo dos produtos oferecidos por ambas as empresas. Posteriormente, a razão social Intergalactic Digital Research, Inc. foi alterada para Digital Research, Inc.

Portabilidade

Placa de expansão para o Apple II, com processador Z80.

O CP/M era descrito como um "barramento de software", que permitia que vários programas interagissem com diversos hardwares de forma padronizada. Os programas escritos para CP/M eram tipicamente portáveis entre diferentes máquinas, geralmente exigindo apenas a especificação de sequências de escape para controle de tela e impressora. Essa portabilidade tornou o CP/M muito popular, e muito mais software foi escrito para CP/M do que para sistemas operacionais que podiam ser executados em uma única marca de hardware. Uma restrição à portabilidade era que certos programas usavam o conjunto de instruções do processador Z80, que não podia ser executado em processadores 8080 ou 8085.

Diversas marcas de máquinas utilizavam o CP/M, sendo alguns exemplos notáveis ​​o Altair, o IMSAI 8080, o Osborne 1, os portáteis Kaypro e os microcomputadores MSX. Até mesmo o Apple II conseguia executar o CP/M quando uma placa Z80 adicional era instalada. O sistema padrão compatível com CP/M ajudou a estabelecer o recorde de vendas de todos os tempos, provavelmente com o Commodore 128 como hardware, embora poucas pessoas realmente utilizassem nele os recursos do CP/M. No Reino Unido, o CP/M também estava disponível para o BBC Micro, equipado com um coprocessador Z80. Ele também funcionava no famoso sistema de processamento de texto Amstrad PCW e estava disponível para a série Amstrad CPC e modelos posteriores do ZX Spectrum.

Aplicativos

O WordStar, um dos primeiros processadores de texto amplamente utilizados, e o dBase, um programa de banco de dados pioneiro e famoso para microcomputadores, foram originalmente programados para CP/M. Um dos primeiros programas de estruturação, o KAMAS (Knowledge and Mind Amplification System), também foi programado para CP/M, embora posteriormente tenha sido reescrito para MS-DOS. O Turbo Pascal, um predecessor do Delphi da Borland, e o Multiplan, um predecessor do Microsoft Excel, também apareceram no CP/M, muito antes das versões para MS-DOS estarem disponíveis. O AutoCAD, programa CAD da Autodesk, também estreou no CP/M. Um grande número de compiladores e interpretadores para linguagens de programação populares da época (como BASIC e FORTRAN) estava disponível, incluindo vários dos primeiros produtos da Microsoft. Diversos jogos de aventura baseados em texto foram adaptados, como Colossal Cave Adventure e outros exemplos pioneiros de ficção interativa. A Lifeboat Associates começou a compilar e distribuir software "livre", programado por usuários. Um dos primeiros foi o XMODEM, que permitia a comunicação por meio de modems e linhas telefônicas.

Gráficos

Embora sistemas S100 com capacidade gráfica já existissem desde a comercialização do barramento S-100, o CP/M não oferecia suporte gráfico padrão até o lançamento do CP/M 3.0 com GSX (Graphic System eXtension). Devido à quantidade limitada de memória disponível, os gráficos nunca foram um recurso comum associado ao sistema operacional CP/M de 8 bits. A maioria dos sistemas só conseguia exibir gráficos e diagramas rudimentares em ASCII no modo texto ou usando um conjunto de caracteres personalizado.

Formatos de Disco

Disco de inicialização CP/M (5¼") para o Commodore 128.

Embora o formato de disquete de 8 polegadas de densidade única (chamado de "formato de distribuição") tenha sido padronizado, vários formatos de 5¼ polegadas foram usados ​​dependendo das características dos sistemas e, em certa medida, das escolhas dos projetistas. O CP/M oferecia opções de compatibilidade para controlar o tamanho das áreas reservadas e diretórios no disco, bem como a correspondência entre setores lógicos (como os usados ​​pelos programas do CP/M) e setores físicos atribuídos ao disco. Havia diversas maneiras de personalizar essas configurações para cada sistema, mas, uma vez criadas, não havia um método padronizado para que um sistema carregasse as configurações de um disco formatado noutro. Na era dos discos CP/M de 5¼ polegadas, nenhum fabricante se consolidou como referência, e os formatos de disco não eram compatíveis entre diferentes fabricantes de hardware. Um fabricante de software precisava preparar uma versão separada do programa para cada marca de hardware em que ele seria executado. No caso de alguns fabricantes (a Kaypro é um exemplo), não havia sequer padronização entre os diferentes modelos da empresa. Por esse motivo, programas de transcrição de formatos de disco, que permitiam que uma única máquina lesse diversos formatos diferentes, tornaram-se populares e reduziram a confusão. Por outro lado, existiam programas como o Kermit, que permitiam a transferência de dados e programas de uma máquina para outra utilizando as portas seriais presentes na maioria dos computadores com CP/M. O mercado fragmentado do CP/M, que exigia que os distribuidores fornecessem múltiplos formatos de disco ou investissem em equipamentos de duplicação multiformato, em comparação com os formatos de disco mais padronizados do IBM PC, foi um fator que contribuiu para a rápida obsolescência do CP/M após 1981.

Declínio e fim

O mundo em 16 bits

O DEC Rainbow: três sistemas operacionais.

Versões posteriores do CP/M também foram produzidas para algumas CPUs de 16 bits, embora os aplicativos tivessem que ser recompilados para as novas CPUs ou, se programados em linguagem assembly, tivessem que ser amplamente reescritos do zero.

Uma das primeiras foi o CP/M-86 para o Intel 8086, que logo foi seguido pelo CP/M-68k para o Motorola 68000. Nesse ponto, o CP/M original de 8 bits passou a ser conhecido pelo retrônimo "CP/M-80" para evitar confusão. Existiu também uma versão para o Zilog Z8000, chamada CP/M-8000.

O CP/M-68k foi inicialmente usado no microcomputador Atari ST, mas a Atari decidiu mudar para um novo DOS chamado GEMDOS. Ele também foi usado nos computadores M68 e M68MX. Esperava-se que o CP/M-86 fosse o sistema operacional padrão para o novo IBM PC, mas a DRI e a IBM não conseguiram negociar os termos de desenvolvimento e as condições de licenciamento. A IBM então negociou com a Microsoft, que lhe vendeu um sistema operacional baseado num "clone" do CP/M, o 86-DOS. Embora o CP/M-86 tenha se tornado uma boa opção para os PCs da IBM depois que a DRI ameaçou entrar com uma ação judicial, ele nunca superou o sistema da Microsoft.

Quando a Digital Equipment Corporation lançou o Rainbow 100 para competir com a IBM, ele executava CP/M-80 num chip Z80 e CP/M-86 ou MS-DOS num microprocessador 8088. As CPUs Z80 e 8088 funcionavam simultaneamente. Uma das vantagens do Rainbow era que ele podia continuar executando software CP/M de 8 bits, enquanto os usuários migravam para o mundo de 16 bits do MS-DOS.

O MS-DOS assume o controle

A versão 1.1 do CP/M-86.

A primeira versão do MS-DOS tinha algumas semelhanças com o CP/M-86, mas elas divergiram rapidamente após o lançamento inicial. Muitos dos conceitos básicos e mecanismos internos das primeiras versões do MS-DOS eram semelhantes aos do CP/M. As estruturas de dados para manipulação de arquivos eram idênticas e ambas se referiam às unidades de disco com uma letra (A:, B:, etc.). Essa semelhança facilitou a portabilidade dos softwares de maior sucesso do CP/M, como o WordStar e o dBase. No entanto, o conceito do CP/M de espaços separados para arquivos de usuário no mesmo disco nunca foi adaptado para o MS-DOS. A principal inovação do MS-DOS foi seu sistema de arquivos, o FAT. Como o MS-DOS tinha acesso a mais memória (poucos computadores IBM eram vendidos com menos de 64 KB de memória, enquanto o CP/M podia rodar com apenas 16 KB), mais comandos surgiram para sua linha de comando, tornando o MS-DOS ligeiramente mais rápido e fácil de usar em máquinas baseadas em disco.

O CP/M perdeu rapidamente sua participação de mercado, à medida que o mercado migrou para a plataforma PC, e nunca recuperou sua popularidade anterior. A revista Byte, na época uma das principais publicações do setor de microcomputadores, deixou de cobrir produtos CP/M alguns anos após o lançamento do IBM PC. Por exemplo, em 1983 ainda havia alguns anúncios de placas S-100 e artigos sobre software para CP/M, mas em 1987 eles já não eram mais encontrados na revista.

Versões posteriores do CP/M-86 apresentaram avanços significativos em desempenho e facilidade de uso, tornando-se compatíveis com o MS-DOS. Para refletir essa compatibilidade, o nome foi alterado, e CP/M-86 passou a se chamar DOS Plus, que por sua vez tornou-se o DR-DOS.

Ver também

Referências

  1. ↑ Pavroo (4 de julho de 2022). «CP/M». ArchiveOS (em inglês). Consultado em 19 de janeiro de 2026. Cópia arquivada em 6 de setembro de 2026
  2. ↑ «O sistema operacional Digital Research CP/M de 1974». MCC. 24 de maio de 2024. Consultado em 19 de janeiro de 2026. Cópia arquivada em 12 de outubro de 2026
  3. ↑ Digital Research (janeiro de 1978). An Introduction to CP/M Features and Facilities (PDF) (em inglês). [S.l.: s.n.] Cópia arquivada (PDF) em 7 de setembro de 2026
  4. ↑ «CP/M 2.0 to be released soon» (PDF). BYTE (em inglês): 115. Setembro de 1979. Consultado em 19 de janeiro de 2026. Cópia arquivada (PDF) em 7 de setembro de 2026
  5. ↑ Eberhard, Martin (20 de janeiro de 2011). «Altair Software Development using CP/M» (PDF) (em inglês). Consultado em 19 de janeiro de 2026. Cópia arquivada (PDF) em 26 de setembro de 2025
  6. ↑ Roman Czyborra (1998). «ISO-646: First attempts to internationalize the 7bit code» (em inglês). Consultado em 18 de novembro de 2008. Cópia arquivada em 8 de setembro de 2026
  7. 1 2 3 4 5 6 7 8 9 Oscar Vermeulen (2003). «CP/M Internals» (em inglês). Consultado em 19 de novembro de 2008. Cópia arquivada em 11 de janeiro de 2010
  8. ↑ Johnson, Herb (2011). «Discussion of early CP/M and IMDOS». RetroTechnology (em inglês). Consultado em 20 de janeiro de 2026. Cópia arquivada em 19 de abril de 2026
  9. 1 2 «CP/M Console Command Processor Instructions». primrosebank.net (em inglês). 8 de abril de 2023. Consultado em 26 de janeiro de 2026. Cópia arquivada em 14 de setembro de 2026
  10. ↑ «File Names» (em inglês). 15 de fevereiro de 2009. Consultado em 30 de janeiro de 2026. Cópia arquivada em 6 de março de 2016
  11. 1 2 «CP/M Builtin Commands». discordia.org.uk (em inglês). Consultado em 30 de janeiro de 2026. Cópia arquivada em 29 de novembro de 2025
  12. ↑ «CP/M 2 System Interface» (em inglês). Consultado em 30 de janeiro de 2026. Cópia arquivada em 20 de outubro de 2026
  13. ↑ «CP/M 2.2 disc formats» (em inglês). Consultado em 30 de janeiro de 2026. Cópia arquivada em 29 de janeiro de 2012
  14. ↑ «Understanding disk images for the CP/M emulation» (em inglês). Consultado em 12 de fevereiro de 2010. Cópia arquivada em 29 de setembro de 2010. Under CP/M 3 and MP/M 2 you can execute the programs from other user areas with i:program, because this OS's honor the SYS attribute for files in user area 0 appropriate. CP/M 2 doesn't support this, which makes it uncomfortable to use user areas under this OS.
  15. ↑ «CP/M Operating System» (em inglês). 4 de março de 2004. Consultado em 31 de janeiro de 2026. Cópia arquivada em 8 de outubro de 2026
  16. ↑ «The origin of CP/M's name» (em inglês). Consultado em 16 de janeiro de 2009. Cópia arquivada em 11 de outubro de 2007
  17. ↑ Herbert R. Johnson (8 de março de 2012). «Early CP/M, PL/M and DRI history» (em inglês). Consultado em 10 de março de 2012. Cópia arquivada em 13 de outubro de 2026
  18. ↑ «CP/M and Digital Research Inc. (DRI) History» (em inglês). Consultado em 16 de janeiro de 2009. Cópia arquivada em 13 de outubro de 2026. O CP/M tornou-se o "barramento de software" para os novos microcomputadores baseados em Intel das décadas de 1970 e 1980.
  19. 1 2 3 Thom Hogan (novembro de 1983). Creative Computing, ed. «From backyard to big time; the history of CP-M» (em inglês). 9 (11). Consultado em 16 de janeiro de 2009. Cópia arquivada em 24 de maio de 2012
  20. ↑ «Commodore and CP/M» (em inglês). Consultado em 14 de maio de 2009. Cópia arquivada em 8 de março de 2007
  21. ↑ «Confira 10 sistemas operacionais que ficaram no passado da computação». ComputerWorld. 27 de março de 2009. Consultado em 27 de janeiro de 2010. Cópia arquivada em 13 de abril de 2009
  22. ↑ Lifeboat Associates (1º de fevereiro de 1982). «As an author this might be your most important line». InfoWorld (em inglês). Cópia arquivada em 7 de março de 2025
  23. ↑ Peter Dassow. «Graphics with CP/M (and the Commodore 128)» (em inglês). Consultado em 6 de fevereiro de 2010. Cópia arquivada em 19 de novembro de 2025
  24. ↑ Andy Johnson-Laird. The Programmer's CP/M Handbook, capítulo 3. Osborne-McGraw Hill, Berkeley, Califórnia (1983). ISBN 0-88134-103-7
  25. ↑ Columbia University (ed.). «CP/M Kermit» (em inglês). Consultado em 6 de fevereiro de 2010. Cópia arquivada em 28 de maio de 2026
  26. ↑ Hogan, Thom (14 de setembro de 1981). «State of Microcomputing / Some Horses Running Neck and Neck» (em inglês). pp. 10–12. Consultado em 8 de abril de 2019. Cópia arquivada em 24 de junho de 2024
  27. ↑ «CP/M-8000» (em inglês)
  28. ↑ Herb Johnson (2009). «Why was CP/M Important?» (em inglês). Consultado em 8 de fevereiro de 2010
  29. ↑ «The DEC Rainbow 100» (em inglês). Consultado em 8 de fevereiro de 2010
  30. ↑ InfoWorld, ed. (17 de junho de 1985). «CP/M alive, well, and growing in the VAD channel» (em inglês). Consultado em 10 de fevereiro de 2026. Despite value-added dealers' efforts, Morrow executives don't believe that CP/M machines will stick around very long. "It is going to trend down, and there is nothing that can be done to stop it", says Berghorn. "Probably the memory limitation is the deficiency".(…)"That is probably the biggest killer… You can't [use] Lotus 1-2-3 with CP/M. That probably dictade it demise."
  31. ↑ Nancy Groth (10 de fevereiro de 1986). InfoWorld, ed. «Kaypro is Retreating On CP/M» (em inglês). Consultado em 10 de fevereiro de 2026. Cópia arquivada em 26 de novembro de 2024. The popularity of CP/M-based machines dwindled as less viable software applications were written and faster machines were released, according to analysts. "The market for CP/M machines is dead", said Evan Moltz, director of micro services at International Data Corp. (IDC), in Framingham, Massachusetts.
  32. ↑ Laws, David (1 de outubro de 2014). «Early Digital Research CP/M Source Code». Computer History Museum (em inglês). Consultado em 2 de novembro de 2026. Because of the popularity of the IBM PC platform, by the mid-1980s’ CP/M had lost its market dominance to MS-DOS.
  33. ↑ Wein, Josef "Joe" (19 de fevereiro de 2010). Herbert R. Johnson, ed. «DRI History and Joe Wein» (em inglês). Consultado em 17 de janeiro de 2017. Cópia arquivada em 17 de janeiro de 2017

Ligações externas

Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.