De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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).

UCSD Pascal y el p-System [ editar ]

En 1977, la Universidad de California, San Diego (UCSD), Instituto de Sistemas de Información desarrollado UCSD Pascal para proporcionar a los estudiantes un entorno común que podrían ejecutarse en cualquiera de los disponibles entonces microordenadores , así como del campus DEC PDP-11 minicomputadoras . El sistema operativo se conoció como UCSD p-System.

Hubo tres sistemas operativos que IBM ofreció para su IBM PC original . El primero fue UCSD p-System, con 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 IBM PC. Predijo que los usuarios podrían usar las aplicaciones que compraron en computadoras futuras que ejecuten p-System; [3] anuncios lo llamaron "el Sistema Operativo Universal". [4]

PC Magazine denunció UCSD p-System en la PC de IBM, afirmando en una revisión de Context MBA , escrito en el lenguaje, 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 UCSD p-System como una opción para Displaywriter , unamáquina de procesamiento de texto dedicada basada en 8086 (que no debe confundirse con elsoftware de procesamiento de texto DisplayWrite de IBM). (El sistema operativo nativo de Displaywriter se había desarrollado de forma completamente interna y no estaba abierto para la programación del usuario final).

Las extensiones notables de Pascal estándar incluyen unidades compilables por separado y un tipo de cadena . Ambas extensiones influyeron en el diseño del lenguaje Ada . [6] 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 el UCSD p-sistema que se auto-compilar y auto-organizada .

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 del compilador a un entorno de ejecución completo. [ aclaración necesaria ] La UCSD Pascal p-Machine se optimizó 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 . [7]

UCSD p-System logró la independencia de la máquina al definir una máquina virtual , llamada p-Machine (o pseudo-máquina, que muchos usuarios comenzaron a llamar la "máquina Pascal" como el sistema operativo, aunque la documentación de UCSD siempre usaba "pseudo-má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, [8] de la cual se derivó la implementación de UCSD, la implementación de 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 que transfiriera todo el sistema p y todas las herramientas para ejecutarlo. 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 [9] (escrito por Silicon Valley Software, Sunnyvale California) que producía código p que se ejecutaba en la versión de Apple del sistema p. Más tarde, TeleSoft (también ubicado en San Diego ) ofreció un entorno de desarrollo Ada temprano que usaba 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 el sistema operativo y las diferencias de 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 el sistema operativo completo de la computadora de destino o se ejecute 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 [ editar ]

UCSD p-System comenzó alrededor de 1974 como la idea de Kenneth Bowles de UCSD , [6] quien creía que la cantidad de nuevas plataformas informáticas que salían en ese momento dificultaría la aceptación de 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 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 deslizarse del 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 un 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, notablemente Borland Pascal , que copió gran parte del dialecto UCSD.

Versiones [ editar ]

UCSD Pascal en uso

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

Versión I [ editar ]

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 los 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 [ editar ]

Ampliamente distribuido, disponible en muchas de las primeras microcomputadoras . Numerosas versiones incluían máquinas basadas en Apple II , DEC PDP-11 , Zilog Z80 y MOS 6502 , Motorola 68000 e IBM PC (la versión II en la PC estaba restringida a un segmento de código de 64K y un segmento de datos de pila / pila de 64K ; se eliminó la versión IV el límite del segmento de código pero cuesta 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, John Van Zandt

Versión III [ editar ]

Versión personalizada escrita para que Western Digital se ejecute en su microordenador Pascal MicroEngine . Soporte incluido para procesos paralelos por primera vez.

Versión IV [ editar ]

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

Uso adicional [ editar ]

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

Ver también [ editar ]

  • Máquina de código P

Notas [ editar ]

  1. ^ Williams, Gregg (enero de 1982). "Una mirada más cercana a la computadora personal de 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 / parte uno" . Revista de PC . pag. 42 . Consultado el 20 de octubre de 2013 .
  4. ^ Anuncio (agosto de 1982). "Esta persona desarrolla aplicaciones para todo el mercado, incluyendo las mejores Z-80, 8080, 8086/8088, 6502, LSI-11 / PDP-11, 9900 y M68000" . BYTE . págs. 191, 193-195 . Consultado el 19 de octubre de 2013 .
  5. ^ Zachmann, Mark S. (junio de 1983). "Contexto MBA: medio paso en la dirección correcta" . Revista de PC . pag. 123 . Consultado el 21 de octubre de 2013 .
  6. ↑ a b Bowles, Ken (22 de octubre de 2004). "Algunas ideas para UCSD Pascal Generation" . Las unidades UCSD Pascal probablemente influyeron en los paquetes Ada
  7. ^ Allman, Eric (1 de julio de 2004). "Una conversación con James Gosling" . Cola de ACM . Asociación de Maquinaria Informática . Consultado el 24 de diciembre de 2012 .
  8. ^ Ammann, U. (1977). "Sobre 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 . 
  9. ^ "Manual de referencia del lenguaje Apple Fortran" (PDF) .

Lectura adicional [ editar ]

  • Foster, Christine (septiembre de 2004). "UCSD Pascal y la revolución de la PC" . @UCSD . San Diego: Asociación de Antiguos Alumnos de UCSD. 1 (3). Archivado desde el original el 6 de marzo de 2012.
  • McMillan, William W. (julio de 2011). "El alma de la máquina virtual" . Espectro IEEE . IEEE . 48 (7): 44–49, 58–59. doi : 10.1109 / mspec.2011.5910448 . ISSN  0018-9235 . S2CID  40545952 .
  • Hyde, Randall (1983). p-Source (Una guía para el sistema Apple Pascal) . Datamost . ISBN 0881900044.

Enlaces externos [ editar ]

  • En mayo de 2006 , UCSD ha publicado partes del p-System escritas antes del 1 de junio de 1979 para uso no comercial. (Nota: la página web cambia el tamaño de la ventana del navegador).
  • UCSD Pascal Reunion , presentaciones y videos de una UCSD Pascal Reunion celebrada en UCSD el 22 de octubre de 2004
  • PowerPoint y video de "¿Qué diablos fue UCSD Pascal?" Presentado en la reunión de 2004 PPT y video
  • ucsd-psystem-os , código fuente de compilación cruzada para UCSD p-System versión II.0
  • ucsd-psystem-vm , una máquina virtual portátil para UCSD p-System p-code
  • Una reconstrucción del manual del usuario del UCSD Pascal System II.0
  • Desmontador Softech P-System
  • UCSD P-System Museum dentro del Jefferson Computer Museum
  • UCSD P-System en Pascal para máquinas pequeñas
  • UCSD Pascal Yahoo Group