RT-11 - RT-11

RT-11
Desenvolvedor Digital Equipment Corporation e Mentec Inc.
Escrito em MACRO-11
Estado de trabalho Interrompido
Modelo fonte Fonte fechada
lançamento inicial 1970 ; 51 anos atrás ( 1970 )
Último lançamento 5.7 / outubro de 1998 ; 22 anos atras ( 1998-10 )
Alvo de marketing Laboratório / Científico / Equipamento industrial em tempo real
Disponível em inglês
Plataformas Família PDP-11 e clones
Tipo de kernel Kernel monolítico
Interface de usuário padrão Interface de linha de comando do Monitor de teclado (KMON)
Licença Proprietário

RT-11 ("RT" para tempo real ) é um sistema operacional em tempo real pequeno, low-end e de usuário único descontinuado para a família Digital Equipment Corporation PDP-11 de computadores de 16 bits. RT-11, que significa Real-Time , foi implementado pela primeira vez em 1970 e era amplamente usado para sistemas em tempo real, controle de processo e aquisição de dados em toda a linha de computadores PDP-11. Ele também foi usado para computação de uso geral de baixo custo.

Características

Multitarefa

Os sistemas RT-11 não suportavam multitarefa preemptiva , mas a maioria das versões podia executar vários aplicativos simultâneos. Todas as variantes dos monitores forneceram um trabalho em segundo plano . Os monitores FB, XM e ZM também forneceram um trabalho em primeiro plano , bem como seis trabalhos de sistema, se selecionados por meio do programa de geração de sistema SYSGEN . Essas tarefas tinham prioridades fixas, com o trabalho em segundo plano mais baixo e o trabalho em primeiro plano mais alto. Era possível alternar entre os trabalhos a partir da interface do usuário do console do sistema e o SYSGEN poderia gerar um monitor que fornecia um único trabalho em segundo plano (as variantes SB, XB e ZB).

Código fonte

RT-11 foi escrito em linguagem assembly . O uso intenso dos recursos de montagem condicional e programação macro do montador MACRO-11 permitiu um grau significativo de configurabilidade e permitiu aos programadores especificar instruções de alto nível, de outra forma não previstas no código de máquina. As distribuições RT-11 incluíam o código-fonte do sistema operacional e seus drivers de dispositivo com todos os comentários removidos e um programa chamado "SYSGEN" que construiria o sistema operacional e os drivers de acordo com uma configuração especificada pelo usuário. A documentação do desenvolvedor inclui uma lista de kernel que inclui comentários.

Drivers de dispositivo

No RT-11, os drivers de dispositivo eram carregáveis, exceto que antes da V4.0 o driver de dispositivo para o dispositivo do sistema (dispositivo de inicialização) era integrado ao kernel no momento da configuração. Como o RT-11 era comumente usado para controle de dispositivos e aquisição de dados, era comum que os desenvolvedores escrevessem ou aprimorassem os drivers de dispositivos. A DEC encorajou esse desenvolvimento de driver, tornando seus subsistemas de hardware (da estrutura do barramento ao código) abertos, documentando a parte interna do sistema operacional, incentivando fornecedores de hardware e software terceirizados e promovendo o desenvolvimento da Digital Equipment Computer Users Society .

Interface humana

O fim da saída do comando HELP do RT-11SJ exibido em um VT100 .

Os usuários geralmente operavam RT-11 por meio de um terminal de impressão ou um terminal de vídeo , originalmente por meio de um loop de corrente selecionável por cinta (para teletipos convencionais) ou por meio de uma interface RS-232 (posteriormente RS-422 ) em uma das placas de CPU ; DEC também suportou os dispositivos de exibição de gráficos VT11 e VS60 ( terminais gráficos vetoriais com um gerador de caracteres gráficos para exibir texto e uma caneta de luz para entrada gráfica). Um favorito de terceiros era a família Tektronix 4010 .

O Monitor de teclado (KMON) interpretou comandos emitidos pelo usuário e chamaria vários utilitários com formas de Command String Interpreter (CSI) dos comandos. A linguagem de comando RT-11 tinha muitos recursos (como comandos e nomes de dispositivos) que podem ser encontrados posteriormente na linha DOS de sistemas operacionais que muito emprestados do RT-11. O CSI forma nomes de arquivos e opções de entrada e saída esperados ('interruptores' no RT-11) em uma ordem e sintaxe precisas. As opções de linha de comando foram separadas por uma barra (" /") em vez do traço (" -") usado em sistemas operacionais do tipo Unix. Todos os comandos tinham um formulário completo e um curto ao qual poderiam ser contratados. Por exemplo, o comando RENAME pode ser contratado pela REN .

Arquivos em lote e o processador em lote podem ser usados ​​para emitir uma série de comandos com algum fluxo de controle rudimentar . Os arquivos em lote tinham a extensão .BAT.

Em versões posteriores do RT-11, era possível invocar uma série de comandos usando um arquivo de comando .COM, mas eles seriam executados em sequência sem controle de fluxo. Posteriormente, foi possível executar uma série de comandos com grande controle através do uso do Indirect Command File Processor (IND), que tomava como entrada arquivos de controle .CMD.

Os arquivos com a extensão .SAV eram uma espécie de executáveis. Eles eram conhecidos como "salvar arquivos" porque o comando RT-11 SAVE podia ser usado para salvar o conteúdo da memória em um arquivo de disco que poderia ser carregado e executado posteriormente, permitindo que qualquer sessão fosse salva.

O comando SAVE, junto com GET, START , REENTER, EXAMINE e DEPOSIT foram comandos básicos implementados no KMON. Alguns comandos e utilitários foram posteriormente emprestados na linha DOS de sistemas operacionais. Esses comandos incluem DIR , COPY , RENAME , ASSIGN , CLS , DELETE , TYPE , HELP e outros. O comando FORMAT foi utilizado para a formatação do disco físico, embora não fosse capaz de criar um sistema de arquivos, para o qual foi utilizado o comando INIT (análogo ao comando FORMAT / Q do DOS). A maioria dos comandos é compatível com o uso de curingas em nomes de arquivo.

Os nomes dos dispositivos físicos foram especificados na forma 'dd {n}:' onde 'dd' era um nome de dispositivo alfabético de dois caracteres e o opcional 'n' era o número da unidade (0–7). Quando o número da unidade foi omitido, a unidade 0 foi assumida. Por exemplo, TT: referido ao terminal do console, LP: (ou LP0 :) referido à impressora de linha paralela, e DX0 :, DY1 :, DL4: referido aos volumes de disco (RX01 unidade 0, RX02 unidade 1, RL01 ou RL02 unidade 4, respectivamente). Os nomes de dispositivos lógicos consistiam em 1–3 caracteres alfanuméricos e eram usados ​​no lugar de um nome de dispositivo físico. Isso foi feito usando o ASSIGNcomando. Por exemplo, pode ASSIGN DL0 ABChaver um problema que fará com que todas as referências futuras a 'ABC:' sejam mapeadas para 'DL0:'. Nome lógico reservado DK: referido ao dispositivo padrão atual. Se um dispositivo não foi incluído em uma especificação de arquivo, DK: foi assumido. Nome lógico reservado SY: referido ao dispositivo do sistema (o dispositivo a partir do qual o sistema foi inicializado).

Versões posteriores do RT-11 permitiam a especificação de até 64 unidades (0-77 octal) para certos dispositivos, mas o nome do dispositivo ainda estava limitado a três caracteres alfanuméricos. Este recurso foi habilitado por meio de uma seleção SYSGEN e aplicado apenas aos manipuladores de dispositivo DU e LD. Nestes dois casos, a forma do nome do dispositivo tornou-se 'dnn:' onde 'd' era 'D' para o dispositivo DU e 'L' para o dispositivo LD e 'nn' era 00-77 (octal).

Programas

O RT-11 foi distribuído com utilitários para realizar muitas ações. Os utilitários DIR , DUP , PIP e FORMAT eram para gerenciar volumes de disco. TECO , EDIT e os editores visuais KED (para o DEC VT100 ) e K52 (para o DEC VT52 ) foram usados ​​para criar e editar arquivos de origem e de dados. MACRO , LINK e LIBR eram para a construção de executáveis. ODT , VDT e o dispositivo SD foram usados ​​para depurar programas. A versão da DEC do Runoff era para a produção de documentos. Por fim, o VTCOM foi usado para conectar e usar (ou transferir arquivos de e para) outro sistema de computador pelo telefone por meio de um modem.

O sistema era completo o suficiente para lidar com muitas tarefas modernas de computação pessoal. Softwares de produtividade, como LEX-11, um pacote de processamento de texto, e uma planilha da Saturn Software, usados ​​em outros sistemas operacionais PDP-11, também rodavam no RT-11. Grandes quantidades de software livre, usuário contribuiu para RT-11 estavam disponíveis dos usuários de equipamentos Digital Computer Society (decus) , incluindo uma implementação de C . Embora as ferramentas para desenvolver e depurar programas em linguagem assembly tenham sido fornecidas, outras linguagens, incluindo C, Fortran , Pascal e várias versões do BASIC estavam disponíveis no DEC como "produtos em camadas" a um custo extra. Versões dessas e de outras linguagens de programação também estavam disponíveis em outras fontes de terceiros. É ainda possível conectar máquinas RT-11 em rede usando DECNET , a Internet e protocolos desenvolvidos por outras fontes de terceiros.

Distribuições e configuração mínima do sistema

O sistema operacional RT-11 pode ser inicializado a partir de uma máquina que consiste em dois disquetes de 250 KB de 8 polegadas e 56 KB de memória, e pode realizar um trabalho útil em uma máquina , e pode suportar 8 terminais. Outras opções de inicialização incluem o disco rígido removível RK05 de 2,5 MB ou fita magnética . As distribuições estavam disponíveis pré-instaladas ou em fita perfurada , fita magnética, fita de cartucho ou disquete. Um sistema mínimo, mas completo, com suporte a um único usuário em tempo real, pode ser executado em um único disquete e em 8K palavras de 16 bits (16KB) de RAM, incluindo programas do usuário. Isso foi facilitado pelo suporte para troca e sobreposição. Para realizar a operação em um sistema de memória tão pequena, a interface do usuário do comando do teclado seria trocada durante a execução de um programa do usuário e, em seguida, trocada para a memória após o término do programa. O sistema suportava relógio em tempo real , terminal de impressão, unidade gráfica vetorial VT11, conversor A / D de 100 kHz de 16 canais com 2 canais D / A, porta serial de 9600 baud, placas bidirecionais de 16 bits, etc.

Sistema de arquivo

O RT-11 implementou um sistema de arquivos simples e rápido que emprega nomes de arquivos de seis caracteres com extensões de três caracteres ("6,3") codificados em RADIX-50 , que compactou esses nove caracteres em apenas três palavras de 16 bits (seis bytes). Todos os arquivos eram contíguos, o que significa que cada arquivo ocupava blocos consecutivos (a unidade minimamente endereçável de armazenamento em disco, 512 bytes) no disco. Isso significa que um arquivo inteiro pode ser lido (ou gravado) muito rapidamente. Um efeito colateral dessa estrutura do sistema de arquivos era que, conforme os arquivos eram criados e excluídos em um volume ao longo do tempo, os blocos de disco não usados ​​provavelmente não permaneceriam contíguos , o que poderia se tornar o fator limitante na criação de arquivos grandes; o remédio era “apertar” (ou “espremer”) periodicamente um disco para consolidar as porções não utilizadas.

Cada volume possui apenas um diretório que foi pré-alocado no início do volume. O diretório consiste em uma matriz de entradas, uma por arquivo ou espaço não alocado. Cada entrada de diretório tem 8 (ou mais) palavras de 16 bits, embora uma opção sysgen permitisse armazenamento adicional específico do aplicativo.

Compatibilidade com outros sistemas operacionais DEC

Muitos programas RT11 (aqueles que não precisam de periféricos especializados ou acesso direto ao hardware) podem ser executados diretamente usando o RT11 RTS ( sistema de tempo de execução ) do sistema de compartilhamento de tempo RSTS / E ou sob RTEM (emulador de RT) em várias versões do RSX-11 e VMS .

A implementação do DCL para RT-11 aumentou sua compatibilidade com os outros sistemas operacionais DEC. Embora cada sistema operacional tivesse comandos e opções exclusivos a esse sistema operacional, havia uma série de comandos e opções de comando comuns.

Outros sistemas operacionais PDP-11

A DEC também vendeu RSX-11 , um sistema operacional multiusuário e multitarefa com recursos em tempo real, e RSTS / E (originalmente denominado RSTS-11), um sistema de compartilhamento de tempo multiusuário, mas o RT-11 permaneceu como o sistema operacional de escolha para sistemas de aquisição de dados onde era necessária uma resposta em tempo real. O sistema operacional Unix também se tornou popular, mas não tinha os recursos de tempo real e o tamanho extremamente pequeno do RT-11.

Hardware

O RT-11 rodou em todos os membros da família DEC PDP-11, ambos baseados em Q-Bus - e Unibus , desde o PDP-11/05 (seu primeiro alvo, em 1970), até as implementações finais do PDP-11 (PDP -11/93 e / 94). Além disso, funcionava nos sistemas Professional Series e PDT-11 "Terminal de Dados Programados", também da DEC. Uma vez que a arquitetura PDP-11 foi implementada em produtos de substituição por outras empresas (por exemplo, o M100 e família da Mentec ), ou como clones de engenharia reversa em outros países (por exemplo, o DVK da União Soviética), o RT-11 é executado essas máquinas também.

Periféricos

Adicionar suporte de driver para periféricos, como uma plotadora CalComp , normalmente envolvia a cópia de arquivos e não exigia um SYSGEN.

Sistemas operacionais compatíveis

Fuzzball

O Fuzzball , software de roteamento para protocolos de Internet , era capaz de executar programas RT-11.

SHAREplus

A HAMMONDsoftware distribuiu uma série de sistemas operacionais compatíveis com RT-11, incluindo STAReleven, um sistema multi-computador antigo e SHAREplus, uma implementação multiprocesso / multiusuário do RT-11 que emprestou alguns conceitos arquitetônicos do sistema operacional VAX / VMS . Os drivers de dispositivo RT-11 eram necessários para a operação. O acesso transparente do dispositivo a outros PDP-11s e VAX / VMS era compatível com uma opção de rede. Compatibilidade limitada de aplicativos RSX-11 também estava disponível. O SHAREplus tinha sua base de usuários mais forte na Europa.

TSX-11

O TSX-11 , desenvolvido pela S&H Computing, foi uma implementação multiusuário e multiprocessamento do RT-11. A única coisa que ele não fez foi lidar com o processo de inicialização, portanto, qualquer máquina TSX-Plus precisava inicializar o RT-11 antes de executar o TSX-Plus como um programa do usuário. Uma vez que o TSX-Plus estivesse em execução, ele assumiria o controle total da máquina a partir do RT-11. Ele forneceu proteção de memória real para usuários de outros usuários, forneceu contas de usuário e manteve a separação de contas em volumes de disco e implementou um superconjunto de solicitações programadas de RT-11 EMT.

S&H escreveu o TSX original porque "Gastar $ 25.000 em um computador que só poderia suportar um usuário bugado" (fundador Harry Sanders); o resultado foi o TSX inicial de quatro usuários em 1976. TSX-Plus (lançado em 1980) foi o sucessor do TSX, lançado em 1976. O sistema era popular na década de 1980. Os programas RT-11 geralmente rodavam sem modificações no TSX-Plus e, de fato, a maioria dos utilitários do RT-11 eram usados ​​no estado em que se encontravam no TSX-Plus. Os drivers de dispositivo geralmente exigiam apenas pequenas modificações.

Dependendo do modelo PDP-11 e da quantidade de memória, o sistema pode suportar um mínimo de 12 usuários (14-18 usuários em 2Mb 11/73, dependendo da carga de trabalho). A última versão do TSX-Plus tinha suporte para TCP / IP .

Versões

Variantes

Os usuários podem escolher entre quatro variantes com diferentes níveis de suporte para multitarefa :

  • RT-11SJ (Single Job) permitia apenas uma tarefa. Esta foi a distribuição inicial.
  • RT-11FB (primeiro plano / segundo plano) suportava duas tarefas: um trabalho de "primeiro plano" não interativo de alta prioridade e um trabalho de "segundo plano" interativo de baixa prioridade.
  • RT-11XM (eXtended Memory), um superconjunto do FB, fornecia suporte para memória além de 64kb, mas exigia um minicomputador com hardware de gerenciamento de memória; distribuído a partir de aprox. 1975 em diante.
  • O RT-11ZM forneceu suporte para sistemas com espaço de instrução e dados separados (como no Unibus 11/44, 45, 55, 70, 84 e 94 e no Q-Bus 11/53, 73 , 83, e 93)

Versões especializadas

Vários sistemas PDP-11 especializados foram vendidos com base no RT-11:

  • O LAB-11 forneceu um periférico analógico LPS-11 para a coleta de dados laboratoriais
  • PEAK-11 forneceu personalização adicional para uso com cromatógrafos de gás (analisando os picos produzidos pelo GC); a coleta de dados foi executada no processo de primeiro plano do RT11 enquanto os programas de análise de dados do usuário eram executados em segundo plano.
  • Os sistemas GT4x adicionaram um periférico gráfico vetorial VT11. Vários programas de demonstração muito populares foram fornecidos com esses sistemas, incluindo Lunar Lander e uma versão do Spacewar! .
  • Os sistemas GT62 adicionaram um periférico gráfico vetorial VS60 (compatível com VT11) em um armário de aparador.
  • O GAMMA-11 foi um sistema RT-11 e PDP 11/34 empacotado que foi um dos primeiros sistemas de Medicina Nuclear totalmente integrados. Incluía conversores analógicos / digitais rápidos, telas gráficas coloridas de 16 bits e uma extensa biblioteca de software para desenvolvimento de aplicativos com a finalidade de coleta de dados, análise e exibição de uma câmera gama de medicina nuclear .

Clones na URSS

Vários clones de RT-11 foram feitos na URSS:

Veja também

Referências

links externos