stringtranslate.com

Pascal

UCSD Pascal es un sistema de lenguaje de programación Pascal que se ejecuta en UCSD p-System , un sistema operativo portátil y altamente independiente de la máquina . UCSD Pascal se lanzó por primera vez en 1977. Fue desarrollado en la Universidad de California, San Diego (UCSD).

El sistema p

En 1977, el Instituto de Sistemas de Información de la Universidad de California en San Diego (UCSD) desarrolló UCSD Pascal para proporcionar a los estudiantes un entorno común que pudiera ejecutarse en cualquiera de las microcomputadoras disponibles en ese momento , así como en las minicomputadoras DEC PDP-11 del campus . El sistema operativo pasó a ser conocido como UCSD p-System.

Había tres sistemas operativos que IBM ofrecía para su PC IBM original . El primero fue UCSD p-System, con IBM PC DOS y CP/M-86 como los otros dos. [1] El proveedor SofTech Microsystems [2] enfatizó la portabilidad de las aplicaciones de p-System, con máquinas virtuales para 20 CPU a partir del lanzamiento de la PC IBM. Predijo que los usuarios podrían utilizar las aplicaciones que compraran en futuras computadoras que ejecutaran p-System; [3] los anuncios lo llamaban "el Sistema Operativo Universal". [4]

PC Magazine denunció UCSD p-System en IBM PC, afirmando en una reseña de Context MBA , escrita en ese idioma, que "simplemente no produce un buen código". [5] El p-System no se vendió muy bien para IBM PC, debido a la falta de aplicaciones y porque era más caro que las otras opciones. Anteriormente, IBM había ofrecido el UCSD p-System como opción para IBM Displaywriter , unamáquina de procesamiento de textos dedicada basada en 8086 . (El sistema operativo nativo de Displaywriter se desarrolló completamente internamente y no estaba abierto para la programación del usuario final).

Las extensiones notables del Pascal estándar incluyen Unidades compilables por separado y un tipo Cadena . Se proporcionaron algunos elementos intrínsecos para acelerar el procesamiento de cadenas (por ejemplo, escaneo en una matriz para un patrón de búsqueda particular); Se proporcionaron otras extensiones de lenguaje para permitir que UCSD p-System sea autocompilador y autohospedado .

UCSD Pascal se basó en una arquitectura de máquina de código p . Su contribución a estas primeras máquinas virtuales fue extender el código p desde sus raíces como lenguaje intermedio de compilación a un entorno de ejecución completo. [ se necesita aclaración ] La UCSD Pascal p-Machine fue optimizada para las nuevas microcomputadoras pequeñas con direccionamiento restringido a 16 bits (solo 64 KB de memoria). James Gosling cita a UCSD Pascal como una influencia clave (junto con la máquina virtual Smalltalk ) en el diseño de la máquina virtual Java . [6]

UCSD p-System logró la independencia de la máquina al definir una máquina virtual , llamada p-Machine (o pseudomáquina, que muchos usuarios comenzaron a llamar "máquina Pascal" como el sistema operativo, aunque la documentación de UCSD siempre usó "pseudomáquina"). ) con su propio conjunto de instrucciones llamado código p (o pseudocódigo). Urs Ammann, un estudiante de Niklaus Wirth , presentó originalmente un código p en su tesis doctoral , [7] del cual se derivó la implementación de la UCSD, la implementación Zurich Pascal-P. La implementación de UCSD cambió la implementación de Zurich para que esté "orientada a bytes". El código p de UCSD se optimizó para la ejecución del lenguaje de programación Pascal . Entonces, cada plataforma de hardware solo necesitaba un programa intérprete de código p escrito para portar todo el p-System y todas las herramientas para ejecutar en él. Las versiones posteriores también incluyeron lenguajes adicionales que se compilaron en la base del código p. Por ejemplo, Apple Computer ofreció un compilador Fortran [8] (escrito por Silicon Valley Software, Sunnyvale California) que producía código p que se ejecutaba en la versión Apple del sistema p. Más tarde, TeleSoft (también ubicada en San Diego ) ofreció uno de los primeros entornos de desarrollo de Ada que utilizaba código p y, por lo tanto, podía ejecutarse en varias plataformas de hardware, incluidas Motorola 68000 , System/370 y Pascal MicroEngine .

UCSD p-System comparte algunos conceptos con la plataforma Java posterior . Ambos usan una máquina virtual para ocultar las diferencias de sistema operativo y hardware, y ambos usan programas escritos en esa máquina virtual para brindar soporte multiplataforma . Asimismo, ambos sistemas permiten que la máquina virtual se utilice como sistema operativo completo de la computadora de destino o para ejecutarse en una "caja" bajo otro sistema operativo.

El compilador UCSD Pascal se distribuyó como parte de un sistema operativo portátil , el p-System.

Historia

UCSD p-System comenzó alrededor de 1974 como idea de Kenneth Bowles de UCSD , [9] quien creía que la cantidad de nuevas plataformas informáticas que surgían en ese momento dificultaría la aceptación de los nuevos lenguajes de programación. Basó UCSD Pascal en la versión Pascal-P2 del compilador portátil de Zurich. Estaba particularmente interesado en Pascal como lenguaje para enseñar programación. UCSD introdujo dos características que fueron mejoras importantes en el Pascal original: cadenas de longitud variable y "unidades" de código compilado de forma independiente (una idea incluida en el lenguaje de programación Ada, en ese momento en evolución). Niklaus Wirth atribuye al p-System, y a UCSD Pascal en particular, la popularización de Pascal . No fue hasta el lanzamiento de Turbo Pascal que la versión de UCSD comenzó a perder el primer lugar entre los usuarios de Pascal.

El dialecto Pascal de UCSD Pascal provino del subconjunto de Pascal implementado en Pascal-P2, que no fue diseñado para ser una implementación completa del lenguaje, sino más bien "el subconjunto mínimo que se autocompilaría", para adaptarse a su función como Kit de arranque para compiladores Pascal. UCSD agregó cadenas de BASIC y varias otras características dependientes de la implementación. Aunque UCSD Pascal obtuvo más tarde muchas de las otras características del lenguaje Pascal completo, el subconjunto Pascal-P2 persistió en otros dialectos, en particular Borland Pascal , que copió gran parte del dialecto de UCSD.

Versiones

UCSD Pascal en uso

Había cuatro versiones del motor de código p de UCSD, cada una con varias revisiones de p-System y UCSD Pascal. Una revisión del motor de código p (es decir, p-Machine) significó un cambio en el lenguaje de código p y, por lo tanto, el código compilado no es portátil entre diferentes versiones de p-Machine. Cada revisión estaba representada con un número romano inicial, mientras que las revisiones del sistema operativo se enumeraban como el número de "punto" que seguía al número romano del código p. Por ejemplo, II.3 representó la tercera revisión del p-System ejecutándose en la segunda revisión de la p-Machine.

Versión I

Versión original, nunca distribuida oficialmente fuera de la Universidad de California, San Diego . Sin embargo, las fuentes de Pascal para las versiones I.3 y I.5 se intercambiaron libremente entre usuarios interesados. Específicamente, se sabía que la revisión del parche I.5a era una de las más estables.

Versión II

Ampliamente distribuido, disponible en muchas de las primeras microcomputadoras . Numerosas versiones incluían máquinas basadas en Apple II , DEC PDP-11 , Intel 8080 , Zilog Z80 y MOS 6502 , Motorola 68000 y IBM PC (la versión II en la PC estaba restringida a un segmento de código de 64 K y un segmento de datos de pila/montón de 64 K ; La versión IV eliminó el límite de segmentos de código pero costó mucho más [ cuantificar ] ).

Los miembros del proyecto de esta época incluyen al Dr. Kenneth L Bowles , Mark Allen , Richard Gleaves, Richard Kaufmann, Pete Lawrence, Joel McCormack , Mark Overgaard, Keith Shillington, Roger Sumner y John Van Zandt.

Versión III

Versión personalizada escrita para Western Digital para ejecutarla en su microcomputadora Pascal MicroEngine . Incluyó soporte para procesos paralelos por primera vez.

Versión IV

Versión comercial, desarrollada y vendida por Softech. Basado en la Versión II; no incluyó cambios desde la Versión III. No se vendió bien debido a la combinación de su estructura de precios, problemas de rendimiento debido al intérprete de código p y competencia con sistemas operativos nativos (además de los cuales a menudo se ejecutaba). Después de que SofTech abandonó el producto, fue adquirido por Pecan Systems, una empresa relativamente pequeña formada por usuarios y fanáticos de p-System. Las ventas revivieron un poco, debido principalmente a la estructura de precios razonable de Pecan, pero p-System y UCSD Pascal perdieron gradualmente el mercado frente a compiladores y sistemas operativos nativos. Disponible para TI-99/4A equipada con tarjeta de código p, Commodore CBM 8096 , Sage IV, HP 9000 y BBC Micro con procesador de 6502 segundos.

Uso posterior

La computadora de Corvus Systems utilizó UCSD Pascal para todo su software de usuario. El "concepto innovador" del sistema operativo Constellation era ejecutar Pascal (interpretativo o compilado) e incluir todo el software común en el manual, para que los usuarios pudieran modificarlo según fuera necesario.

Ver también

Notas

  1. ^ Williams, Gregg (enero de 1982). "Una mirada más cercana a la computadora personal IBM". BYTE . pag. 36 . Consultado el 19 de octubre de 2013 .
  2. ^ "SOFTECH MICROSYSTEMS UCSD p-SYSTEM VERSIÓN IV PARA LA COMPUTADORA APPLE II" (PDF) .
  3. ^ Edlin, Jim; Bunnell, David (febrero-marzo de 1982). "Nueva computadora personal de IBM: Tomando la medida / Primera parte". Revista PC . pag. 42 . Consultado el 20 de octubre de 2013 .
  4. ^ Anuncio (agosto de 1982). "Esta persona desarrolla aplicaciones para todo el mercado, incluyendo el Z-80, 8080, 8086/8088, 6502, LSI-11/PDP-11, 9900 y el M68000 con lo mejor que hay". BYTE . págs.191, 193-195 . Consultado el 19 de octubre de 2013 .
  5. ^ Zachmann, Mark S. (junio de 1983). "Context MBA: medio paso en la dirección correcta". Revista PC . pag. 123 . Consultado el 21 de octubre de 2013 .
  6. ^ Allman, Eric (1 de julio de 2004). "Una conversación con James Gosling". Cola ACM . Asociación para Maquinaria de Computación . Consultado el 24 de diciembre de 2012 .
  7. ^ Ammann, U. (1977). "Sobre la generación de código en un compilador PASCAL". Software: práctica y experiencia . 7 (3): 391–423. doi :10.1002/spe.4380070311. hdl : 20.500.11850/68668 . S2CID  2143405.
  8. ^ "Manual de referencia del lenguaje Apple Fortran" (PDF) .
  9. ^ Bowles, Ken (22 de octubre de 2004). "Algunas ideas para la generación Pascal de UCSD". Archivado desde el original el 4 de marzo de 2016 . Consultado el 13 de febrero de 2011 . Las unidades Pascal de UCSD probablemente influyeron en los paquetes Ada

Otras lecturas

enlaces externos