Sistema de compartilhamento de tempo incompatível - Incompatible Timesharing System

Sistema de compartilhamento de tempo incompatível
Desenvolvedor Laboratório de Inteligência Artificial do MIT e Projeto MAC
Escrito em Linguagem de montagem
Estado de trabalho Ativo
lançamento inicial Julho de 1967 ; 54 anos atrás ( 1967-07 )
Repositório github .com / PDP-10 / its
Disponível em inglês
Plataformas PDP-6 digital , PDP-10

Interface de usuário padrão
Interface de linha de comando ( DDT )
Licença GPL

O Incompatible Timesharing System ( ITS ) é um sistema operacional de compartilhamento de tempo desenvolvido principalmente pelo Laboratório de Inteligência Artificial do MIT , com a ajuda do Projeto MAC . O nome é o complemento jocoso do MIT Compatible Time-Sharing System (CTSS).

O ITS, e o software desenvolvido nele, foram técnica e culturalmente influentes muito além de sua comunidade principal de usuários. O acesso remoto "convidado" ou "turístico" estava facilmente disponível por meio da ARPAnet inicial , permitindo que muitas partes interessadas experimentassem informalmente recursos do sistema operacional e programas de aplicativos. A filosofia ITS aberta e a comunidade online colaborativa foram uma grande influência na cultura hacker , conforme descrito no livro Hackers de Steven Levy , e foram os precursores diretos do software livre e de código aberto , design aberto e movimentos Wiki .

História

O desenvolvimento de ITS foi iniciado no final dos anos 1960 por aqueles (a maioria da equipe do MIT AI Lab na época) que discordavam da direção tomada pelo projeto Multics do Projeto MAC (que havia começado em meados da década de 1960), particularmente decisões como a inclusão de um sistema de segurança poderoso . O nome foi escolhido por Tom Knight como uma piada sobre o nome do primeiro sistema operacional de compartilhamento de tempo do MIT, o Compatible Time-Sharing System , que datava do início dos anos 1960.

Ao simplificar seu sistema em comparação com o Multics, os autores do ITS foram capazes de produzir rapidamente um sistema operacional funcional para seu laboratório. O ITS foi escrito em linguagem assembly , originalmente para o computador PDP-6 da Digital Equipment Corporation , mas a maior parte do desenvolvimento e uso do ITS foi no posterior, amplamente compatível, PDP-10 .

Embora não seja usado com tanta intensidade após cerca de 1986, o ITS continuou a operar no hardware original no MIT até 1990, e então até 1995 no Stacken Computer Club na Suécia. Hoje, algumas implementações de ITS continuam acessíveis remotamente, por meio da emulação de hardware PDP-10 rodando em computadores modernos e de baixo custo suportados por hackers interessados.

Características técnicas significativas

O ITS introduziu muitos recursos então novos:

  • A primeira saída de terminal gráfico independente de dispositivo ; os programas geravam comandos genéricos para controlar o conteúdo da tela, que o sistema traduzia automaticamente nas sequências de caracteres apropriadas para o tipo específico de terminal operado pelo usuário.
  • Um mecanismo geral para implementar dispositivos virtuais em software em execução em processos do usuário (que eram chamados de "trabalhos" no ITS).
  • Usando o mecanismo de dispositivo virtual, o ITS forneceu acesso transparente ao sistema de arquivos entre máquinas . As máquinas ITS estavam todas conectadas à ARPAnet e um usuário em uma máquina poderia executar as mesmas operações com arquivos em outras máquinas ITS como se fossem arquivos locais.
  • Gerenciamento de processos sofisticado ; os processos do usuário eram organizados em uma árvore , e um processo superior poderia controlar um grande número de processos inferiores. Qualquer processo inferior pode ser congelado em qualquer ponto de sua operação, e seu estado (incluindo o conteúdo dos registros) examinado; o processo pode então ser retomado de forma transparente.
  • Um recurso avançado de interrupção de software que permite que os processos do usuário operem de forma assíncrona, usando mecanismos complexos de tratamento de interrupções .
  • PCLSRing , um mecanismo que fornece o que parecia (para os processos do usuário) ser chamadas de sistema quase atômicas e seguramente interruptíveis . Nenhum processo jamais poderia observar qualquer processo (incluindo ele mesmo) no meio da execução de qualquer chamada de sistema.
  • Para apoiar o trabalho de robótica do AI Lab, o ITS também suportou operação simultânea em tempo real e tempo compartilhado.

Ambiente do usuário

O ambiente visto pelos usuários de ITS era filosoficamente muito diferente daquele fornecido pela maioria dos sistemas operacionais da época.

  • Inicialmente, não havia senhas e um usuário podia trabalhar no ITS sem fazer logon. Logar era considerado educado, então, as pessoas sabiam quando alguém estava conectado.
  • Para lidar com uma série de incidentes em que os usuários procuraram falhas no sistema para travá- lo, uma nova abordagem foi adotada. Um comando que fazia o sistema travar foi implementado e poderia ser executado por qualquer pessoa, o que tirou toda a diversão e desafio de fazê-lo. No entanto, transmitiu uma mensagem para dizer quem estava fazendo isso.
  • Todos os arquivos podem ser editados por todos os usuários, incluindo documentação online e código-fonte . Uma série de artigos informais e notas técnicas documentou novos comandos, questões técnicas, jogos primitivos, quebra-cabeças matemáticos e outros tópicos de interesse para a comunidade de hackers ITS. Alguns foram emitidos como memorandos de IA mais formais , incluindo o compêndio HAKMEM .
  • Todos os usuários podem conversar com mensagens instantâneas no terminal de outro, ou podem usar um comando (GRITAR) para pedir ajuda a todos os usuários ativos.
  • Os usuários podiam ver o que estava acontecendo no terminal de outro (usando um comando chamado SO para "output spy"). Um alvo do sistema operacional poderia detectá-lo e matá-lo usando outro comando chamado JEDGAR, em homenagem ao diretor do FBI J. Edgar Hoover . Esta facilidade foi posteriormente desativada com um comando placebo : parecia que a sessão remota havia sido encerrada, mas não foi.
  • Os turistas (usuários convidados nos terminais do MIT AI Lab ou na ARPAnet) eram tolerados e ocasionalmente convidados a participar ativamente da comunidade ITS. A política informal sobre o acesso do turista foi posteriormente formalizada em uma política escrita. A facilidade de acesso, com ou sem uma conta de convidado, permitiu que as partes interessadas explorassem e experimentassem informalmente o sistema operacional, os programas de aplicativos e a cultura "hacker". Cópias de trabalho da documentação e do código-fonte podem ser livremente consultadas ou atualizadas por qualquer pessoa no sistema.
  • A segurança do sistema, na medida em que existia, baseava-se principalmente na "segurança por obscuridade" de fato. Esperava-se que hackers convidados dispostos a dedicar tempo e esforço significativos para aprender ITS se comportassem com respeito e evitassem interferir nos projetos de pesquisa que financiaram os sistemas de hardware e software. Havia pouco valor exclusivo nos sistemas de ITS, exceto informações, muitas das quais acabariam sendo publicadas para distribuição gratuita, e o compartilhamento aberto e gratuito de conhecimento era geralmente incentivado.

A ampla filosofia ITS e a comunidade colaborativa foram as precursoras diretas do software livre e de código aberto , do design aberto e dos movimentos Wiki .

Aplicativos importantes desenvolvidos em ITS

O EMACS editor ( "Editor de macros") foi originalmente escrito em ITS. Em sua instanciação ITS, era uma coleção de programas TECO (chamados "macros"). Em sistemas operacionais posteriores, ele foi escrito na linguagem comum desses sistemas - por exemplo, a linguagem C no Unix e Zetalisp no sistema Lisp Machine .

O sistema de ajuda de informações do GNU era originalmente um subsistema EMACS, e mais tarde foi escrito como um sistema autônomo completo para máquinas do tipo Unix.

Várias linguagens de programação e sistemas importantes foram desenvolvidos em ITS, incluindo MacLisp (o precursor do Zetalisp e Common Lisp ), Microplanner (implementado em MacLisp), MDL (que se tornou a base do ambiente de programação da Infocom ) e Scheme .

Entre outros subsistemas de software significativos e influentes desenvolvidos em ITS, o sistema de álgebra simbólica Macsyma , iniciado em 1968, foi o primeiro ambiente de computação matemática amplamente conhecido. Foi um precursor do Maxima , MATLAB , Wolfram Mathematica e muitos outros sistemas de álgebra computacional .

O programa SHRDLU de Terry Winograd foi desenvolvido em ITS. O jogo de computador Zork também foi originalmente escrito em ITS.

O Mac Hack VI de Richard Greenblatt foi o programa de xadrez mais cotado durante anos e foi o primeiro a exibir uma representação gráfica do tabuleiro.

Diversos

O interpretador de comando de nível superior padrão do ITS era o depurador de linguagem de máquina PDP-10 ( DDT ). O editor de texto usual em ITS era o TECO e, posteriormente , o Emacs , que foi escrito em TECO. Tanto o DDT quanto o TECO foram implementados por meio de tabelas de despacho simples em comandos de uma única letra e, portanto, não tinham sintaxe verdadeira . O gerenciador de tarefas ITS foi denominado PEEK.

A grafia local "TURIST" é um artefato de limitações de nome de arquivo de seis caracteres (e outro identificador), que pode ser rastreado até seis caracteres codificados SIXBIT que cabem em uma única palavra PDP-10 de 36 bits. "TURIST" também pode ter sido um trocadilho com Alan Turing , um pioneiro da ciência da computação teórica . O termo menos elogioso " LUSER " também foi aplicado a usuários convidados, especialmente aqueles que se envolveram repetidamente em comportamento vandaloso ou sem noção.

O Jargon File começou como um esforço combinado entre as pessoas nas máquinas ITS no MIT e na Stanford University SAIL . O documento descreveu grande parte da terminologia, trocadilhos e cultura dos dois AI Labs e grupos de pesquisa relacionados, e é o predecessor direto do Hacker's Dictionary (1983), o primeiro compêndio de jargão hacker publicado por um grande editor ( MIT Pressione ).

Diferentes implementações de ITS suportavam uma variedade ímpar de periféricos, incluindo um removedor de fios automático desenvolvido pelo hacker Richard Greenblatt, que precisava de um suprimento de fios de jumper pré-desencapados de vários comprimentos para embrulhar hardware de computador que ele e outros estavam prototipando. O dispositivo usava um motor de passo e uma ferramenta e cortador de fio portátil, anteriormente operada por solenóide , tudo sob controle do computador do software ITS. O dispositivo era acessível a qualquer usuário de ITS, mas infelizmente não era confiável no uso real.

A Xerox Graphics Printer (XGP), uma das primeiras impressoras a laser do mundo, foi apoiada pela ITS em 1974. O MIT AI Lab tinha um desses protótipos de impressoras contínuas alimentadas por rolo para experimentação e uso por sua equipe. Em 1982, o XGP foi complementado por uma impressora Xerox Dover, uma das primeiras impressoras a laser alimentadas por folhas. Embora qualquer usuário de ITS pudesse acessar as impressoras a laser, o acesso físico para coletar as impressões era limitado à equipe, para controlar o uso dos suprimentos da impressora que precisavam ser encomendados especialmente.

Desenvolvedores originais

Veja também

Referências

Bibliografia

links externos