Programa de intercâmbio periférico - Peripheral Interchange Program
Autor (es) original (is) | Digital Equipment Corporation / Harrison "Dit" Morse |
---|---|
Desenvolvedor (s) | Pesquisa Digital / Gary Kildall , Heath Company |
lançamento inicial | 1960 |
Sistema operacional | BATCH-11 / DOS-11 , RT-11 , RSTS / E , RSX-11 , OS / 8 , TOPS-10 , TOPS-20 , CP / M , MP / M , DOS Plus , HDOS |
Modelo | Comando |
Peripheral Interchange Program (PIP) era um utilitário para transferir arquivos em e entre dispositivos nos computadores da Digital Equipment Corporation . Ele foi implementado pela primeira vez na arquitetura PDP-6 por Harrison "Dit" Morse no início da década de 1960. Posteriormente, ele foi implementado para os sistemas operacionais da DEC para as arquiteturas PDP-10 , PDP-11 e PDP-8 . Nos anos 1970 e 1980, a Digital Research implementado PIP no CP / M e MP / M .
História
Diz-se que durante o desenvolvimento foi nomeado ATLATL, que é um acrônimo para "Qualquer coisa, Senhor de tudo, Senhor." Isso descreveu com humor tanto seu propósito como uma ferramenta de cópia de arquivo independente de dispositivo e as dificuldades no momento de copiar arquivos com segurança entre dispositivos.
A sintaxe PIP original era
PIP destination←source /switches
usando o caractere de seta para a esquerda do conjunto de caracteres ASCII -1963 que os teclados Flexowriter da época usavam. Como outros terminais foram introduzidos que usavam versões posteriores do ASCII (sem o caractere de seta para a esquerda), o PIP permitiu a sintaxe
PIP destination=source
O caractere sublinhado ( _ ), que estava na mesma posição do caractere ASCII que a seta para a esquerda ocupou, ainda era compatível para separar as especificações de destino e de origem.
A origem e o destino eram strings de especificação de arquivo . Eles consistiam em um nome de dispositivo, normalmente 2 caracteres para o tipo de dispositivo, como DK (disco), LP (impressora de linha), MT (fita magnética), etc. e um número de unidade de 0 a 7, dois pontos (:), nome do arquivo e extensão.
A cópia era geralmente permitida entre qualquer especificação de arquivo para qualquer outra onde fizesse sentido.
As primeiras versões do VAX / VMS implementaram certos comandos DCL , como DIRECTORY e RENAME , executando RSX-11M PIP em modo de compatibilidade. Esse uso de PIP foi substituído pelo código específico do VAX no VAX / VMS 2.0, mas o PIP permaneceu como parte do produto em camadas VAX-11 RSX para VMS.
Em meados da década de 1980, o PIP ainda era de uso comum nos sistemas TOPS-10 , TOPS-20 e PDP-11 .
PIP em CP / M e MP / M
Gary Kildall , que desenvolveu CP / M e MP / M , baseou grande parte do design de sua estrutura de arquivos e processador de comandos em sistemas operacionais da Digital Equipment, como RSTS / E para o PDP-11. Além de acessar arquivos em um disquete , o comando PIP no CP / M também pode transferir dados de e para os seguintes "arquivos especiais":
- CON: - console (entrada e saída)
- AUX: - um dispositivo auxiliar. No CP / M 1 e 2, o PIP usou PUN: (perfurador de fita de papel) e RDR: (leitor de fita de papel) em vez de AUX:
- LST: - lista o dispositivo de saída, geralmente a impressora
- PRN: - como LST:, mas as linhas foram numeradas, as guias foram expandidas e os feeds de formulário adicionados a cada 60 linhas
- NUL: - dispositivo nulo, semelhante a \ Device \ Null e / dev / null
- EOF: - dispositivo de entrada que produziu caracteres de fim de arquivo , ASCII 0x1A
- INP: - dispositivo de entrada personalizado, por padrão o mesmo que EOF:
- PUN: - unidade de cartão perfurado:
- OUT: - dispositivo de saída personalizado, por padrão o mesmo que NUL:
Esses não eram arquivos de dispositivo verdadeiros , no entanto, porque seu manuseio era limitado ao PIP. Os dois dispositivos personalizados INP: e OUT: foram implementados como chamadas para locais fixos no início do programa PIP; a intenção era que o usuário, ou o OEM , pudesse corrigir esses locais para adicionar seus próprios dispositivos de entrada ou saída. 246 bytes de espaço livre foram deixados no programa para esse propósito.
Além da PIP destination=source
sintaxe usual , o PIP sob CP / M ainda permitia a PIP destination_source
forma antiga . Este comportamento não foi documentado e o CP / M geralmente não tinha um padrão para o qual os caracteres pudessem aparecer nos nomes dos arquivos; portanto, outros programas puderam criar nomes de arquivos contendo caracteres de sublinhado, o que o PIP não conseguiu controlar.
Veja também
- copiar (comando) - RT-11, RSX-11, OpenVMS, AmigaOS, DOS, OS / 2 e comando do Microsoft Windows para copiar dados
- cp (Unix) - comando Unix para copiar dados
- Kermit (protocolo)