UCSD Pascal - UCSD Pascal

UCSD Pascal / p-System
UCSD p-System.svg
Logo da versão IV
Desenvolvedor Universidade da Califórnia, San Diego , SofTech , Pecan
Família de sistema operacional sistemas operacionais p-code
Estado de trabalho Histórico
lançamento inicial Agosto de 1977 ; 44 anos atrás ( 1977-08 )
Último lançamento IV.2.1 R3.3 / novembro de 1984 ; 36 anos atrás ( 1984-11 )
Disponível em inglês
Plataformas Apple II , DEC PDP-11 , Zilog Z80 , MOS 6502 , Motorola 68000 , x86 , Osborne Executive , Pascal MicroEngine , TI 99 / 4A
Tipo de kernel máquina virtual p-code

UCSD Pascal é um sistema de linguagem de programação Pascal executado no UCSD p-System , um sistema operacional portátil e altamente independente de máquina . UCSD Pascal foi lançado pela primeira vez em 1977. Foi desenvolvido na University of California, San Diego (UCSD).

UCSD Pascal e o p-System

Em 1977, a Universidade da Califórnia, San Diego (UCSD) Instituto de Sistemas de Informação desenvolvido UCSD Pascal proporcionar aos alunos um ambiente comum que pode ser executado em qualquer um dos então disponíveis microcomputadores , bem como campus DEC PDP-11 minicomputadores . O sistema operacional ficou conhecido como UCSD p-System.

Havia três sistemas operacionais que a IBM ofereceu para seu IBM PC original . O primeiro foi UCSD p-System, com PC DOS e CP / M-86 como os outros dois. O fornecedor SofTech Microsystems enfatizou a portabilidade de aplicativos do p-System, com máquinas virtuais para 20 CPUs a partir do lançamento do IBM PC. Ele previu que os usuários seriam capazes de usar os aplicativos adquiridos em futuros computadores executando o p-System; anúncios o chamavam de "Sistema Operacional Universal".

A PC Magazine denunciou o UCSD p-System no IBM PC, afirmando em uma revisão do Context MBA , escrito na linguagem, que ele "simplesmente não produz um código bom". O p-System não vendeu muito bem para o IBM PC, por falta de aplicativos e por ser mais caro do que as outras opções. Anteriormente, a IBM havia oferecido o UCSD p-System como uma opção para Displaywriter , umamáquina de processamento de texto dedicada baseada em 8086 (não deve ser confundida com osoftware de processamento de texto DisplayWrite da IBM). (O sistema operacional nativo do Displaywriter foi desenvolvido totalmente internamente e não foi aberto para a programação do usuário final.)

Extensões notáveis ​​para Pascal padrão incluem Unidades compiláveis ​​separadamente e um tipo String . Alguns intrínsecos foram fornecidos para acelerar o processamento de strings (por exemplo, varredura em uma matriz para um padrão de pesquisa específico); outras extensões de linguagem foram fornecidas para permitir que o UCSD p-System seja auto-compilado e auto-hospedado .

UCSD Pascal foi baseado em uma arquitetura de máquina de código-p . Sua contribuição para essas primeiras máquinas virtuais foi estender o código-p de suas raízes como uma linguagem intermediária do compilador para um ambiente de execução completo. A p-Machine UCSD Pascal foi otimizada para os novos pequenos microcomputadores com endereçamento restrito a 16 bits (apenas 64 KB de memória). James Gosling cita UCSD Pascal como uma influência chave (junto com a máquina virtual Smalltalk ) no design da máquina virtual Java .

UCSD p-System alcançou independência de máquina definindo uma máquina virtual , chamada de p-Machine (ou pseudo-máquina, que muitos usuários começaram a chamar de "Pascal-máquina" como o SO - embora a documentação UCSD sempre usasse "pseudo-máquina" ) com seu próprio conjunto de instruções denominado p-código (ou pseudocódigo). Urs Ammann, aluno de Niklaus Wirth , apresentou originalmente um p-code em sua tese de doutorado , a partir do qual a implementação UCSD foi derivada, a implementação Zurich Pascal-P. A implementação do UCSD mudou a implementação do Zurich para ser "orientada a bytes". O código p UCSD foi otimizado para a execução da linguagem de programação Pascal . Cada plataforma de hardware então precisava apenas de um programa interpretador de código-p escrito para portar todo o sistema-p e todas as ferramentas para rodar nele. Versões posteriores também incluíram linguagens adicionais que compilaram para a base do código-p. Por exemplo, a Apple Computer ofereceu um Compilador Fortran (escrito por Silicon Valley Software, Sunnyvale California) produzindo p-code que rodava na versão Apple do p-system. Posteriormente, a TeleSoft (também localizada em San Diego ) ofereceu um primeiro ambiente de desenvolvimento Ada que usava p-code e, portanto, era capaz de rodar em várias plataformas de hardware, incluindo Motorola 68000 , System / 370 e Pascal MicroEngine .

UCSD p-System compartilha alguns conceitos com a plataforma Java posterior . Ambos usam uma máquina virtual para ocultar o sistema operacional e as diferenças de hardware, e ambos usam programas escritos para essa máquina virtual para fornecer suporte de plataforma cruzada . Da mesma forma, ambos os sistemas permitem que a máquina virtual seja usada como o sistema operacional completo do computador de destino ou para ser executada em uma "caixa" sob outro sistema operacional.

O compilador UCSD Pascal foi distribuído como parte de um sistema operacional portátil , o p-System.

História

UCSD p-System começou por volta de 1974 como uma ideia de Kenneth Bowles da UCSD , que acreditava que o número de novas plataformas de computação lançadas na época dificultaria a aceitação de novas linguagens de programação. Ele baseou UCSD Pascal no lançamento Pascal-P2 do compilador portátil de Zurique. Ele estava particularmente interessado em Pascal como uma linguagem para ensinar programação. UCSD introduziu dois recursos que foram melhorias importantes no Pascal original: strings de comprimento variável e "unidades" de código compilado de forma independente (uma ideia incluída na linguagem de programação Ada então em evolução). Niklaus Wirth credita ao p-System, e ao UCSD Pascal em particular, a popularização de Pascal . Foi somente com o lançamento do Turbo Pascal que a versão do UCSD começou a cair do primeiro lugar entre os usuários do Pascal.

O dialeto Pascal de UCSD Pascal veio do subconjunto de Pascal implementado em Pascal-P2, que não foi projetado para ser uma implementação completa da linguagem, mas sim "o subconjunto mínimo que se auto-compilaria", para ajustar sua função como um kit de bootstrap para compiladores Pascal. UCSD adicionou strings do BASIC e vários outros recursos dependentes de implementação. Embora UCSD Pascal posteriormente tenha obtido muitas das outras características da linguagem Pascal completa, o subconjunto Pascal-P2 persistiu em outros dialetos, notavelmente Borland Pascal , que copiou muito do dialeto UCSD.

Versões

UCSD Pascal em uso

Havia quatro versões do mecanismo de código p UCSD, cada uma com várias revisões do sistema p e UCSD Pascal. Uma revisão do mecanismo do código-p (ou seja, a máquina-p) significou uma mudança na linguagem do código-p e, portanto, o código compilado não é portável entre versões diferentes da máquina-p. Cada revisão era representada com um numeral romano inicial, enquanto as revisões do sistema operacional eram enumeradas como o número de "ponto" após o numeral romano de código-p. Por exemplo, II.3 representou a terceira revisão do p-System rodando na segunda revisão do p-Machine.

Versão I

Versão original, nunca oficialmente distribuída fora da Universidade da Califórnia, San Diego . No entanto, as fontes Pascal para ambas as versões I.3 e I.5 foram trocadas livremente entre os usuários interessados. Especificamente, a revisão do patch I.5a era conhecida por ser uma das mais estáveis.

Versão II

Amplamente distribuído, disponível em muitos microcomputadores antigos . Numerosas versões incluídas Apple II , DEC PDP-11 , Zilog Z80 e MOS 6502 máquinas baseadas, Motorola 68000 e o IBM PC (Versão II no PC foi restrito a um 64K segmento de código e um / pilha 64K pilha segmento de dados ; Versão IV removido o limite de segmento de código, mas custa muito mais).
Os membros do projeto desta época incluem o Dr. Kenneth L Bowles , Mark Allen , Richard Gleaves, Richard Kaufmann, Pete Lawrence, Joel McCormack , Mark Overgaard, Keith Shillington, Roger Sumner, John Van Zandt

Versão III

Versão personalizada escrita para Western Digital para rodar em seu microcomputador Pascal MicroEngine . Suporte incluído para processos paralelos pela primeira vez.

Versão IV

Versão comercial, desenvolvida e vendida pela SofTech. Baseado na versão II; não incluiu alterações da versão III. Não vendeu bem devido à combinação de sua estrutura de preços, problemas de desempenho devido ao interpretador de código-p e competição com sistemas operacionais nativos (em cima dos quais ele frequentemente era executado). Depois que a SofTech abandonou o produto, ele foi adquirido pela Pecan Systems, uma empresa relativamente pequena formada por usuários e fãs do p-System. As vendas se recuperaram um pouco, principalmente devido à estrutura de preços razoável do Pecan, mas o p-System e o UCSD Pascal gradualmente perderam o mercado para sistemas operacionais nativos e compiladores. Disponível para a TI-99 / 4A equipada com placa de código p, Commodore CBM 8096 e Sage IV.

Uso posterior

O computador da Corvus Systems usava UCSD Pascal para todos os softwares de usuário. O "conceito inovador" do Constellation OS era executar Pascal (interpretativamente ou compilado) e incluir todos os softwares comuns no manual, para que os usuários pudessem modificar conforme necessário.

Veja também

Notas

Leitura adicional

links externos