stringtranslate.com

Pascal de la UCSD

UCSD Pascal es un sistema de lenguaje de programación Pascal que se ejecuta en el 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 brindarles 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 conocerse como UCSD p-System.

IBM ofrecía tres sistemas operativos para su IBM PC original . El primero fue UCSD p-System, y los otros dos fueron IBM PC DOS y CP/M-86 . [1] El proveedor SofTech Microsystems [2] destacó la portabilidad de 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 aplicaciones que compraran en futuras computadoras que ejecutaran p-System; [3] los anuncios lo llamaron "el sistema operativo universal". [4]

PC Magazine denunció el uso de UCSD p-System en IBM PC, afirmando en una reseña de Context MBA , escrita en ese lenguaje, que "simplemente no produce 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 IBM Displaywriter , una máquina de procesamiento de textos dedicada basada en 8086. (El sistema operativo nativo de Displaywriter había sido desarrollado completamente internamente y no estaba abierto a la programación del usuario final).

Las extensiones notables del estándar Pascal incluyen unidades compilables por separado y un tipo String . Se proporcionaron algunas funciones intrínsecas para acelerar el procesamiento de cadenas (por ejemplo, el escaneo en una matriz para un patrón de búsqueda particular); se proporcionaron otras extensiones de lenguaje para permitir que el p-System de UCSD se autocompilara y alojara automáticamente .

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 más allá de sus raíces como lenguaje intermedio de compilación hacia un entorno de ejecución completo. [ Aclaración necesaria ] La máquina p de UCSD Pascal 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 . [6]

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 "Pascal-machine" como el SO, aunque la documentación de UCSD siempre usó "pseudo-máquina") con su propio conjunto de instrucciones llamado p-code (o pseudo-código). Urs Ammann, un estudiante de Niklaus Wirth , presentó originalmente un p-code en su tesis doctoral , [7] del cual se derivó la implementación de UCSD, la implementación Zurich Pascal-P. La implementación de UCSD cambió la implementación de Zurich para que estuviera "orientada a bytes". El p-code de UCSD se optimizó para la ejecución del lenguaje de programación Pascal . Cada plataforma de hardware solo necesitaba un programa intérprete de p-code escrito para portar todo el p-System y todas las herramientas para ejecutarlo. Las versiones posteriores también incluyeron lenguajes adicionales que se compilaron en la base del p-code. Por ejemplo, Apple Computer ofrecía un compilador Fortran [8] (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 ubicada 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 utilizan una máquina virtual para ocultar las diferencias de sistema operativo y hardware, y ambos utilizan programas escritos en esa máquina virtual para proporcionar compatibilidad entre plataformas . 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 Pascal de UCSD se distribuyó como parte de un sistema operativo portátil, el p-System.

Historia

El p-System de la UCSD comenzó alrededor de 1974 como una idea de Kenneth Bowles de la UCSD , [9] 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ó el Pascal de la UCSD en la versión Pascal-P2 del compilador portátil de Zurich. Estaba particularmente interesado en Pascal como lenguaje para enseñar programación. La UCSD introdujo dos características que fueron mejoras importantes con respecto al Pascal original: cadenas de longitud variable y "unidades" de código compilado independientemente (una idea incluida en el entonces en evolución Ada (lenguaje de programación)). Niklaus Wirth atribuye al p-System, y en particular al Pascal de la UCSD, la popularización del Pascal. No fue hasta el lanzamiento de Turbo Pascal que la versión de la UCSD comenzó a perder el primer lugar entre los usuarios de Pascal.

El dialecto Pascal de UCSD Pascal surgió 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 cumplir con 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 luego obtuvo 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 UCSD.

Versiones

Pascal de la UCSD en uso

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

Versión I

Versión original, nunca distribuida oficialmente fuera de la Universidad de California en San Diego . Sin embargo, los códigos fuente de Pascal para ambas versiones I.3 y I.5 se intercambiaron libremente entre los usuarios interesados. En concreto, 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 muchos de los primeros microordenadores. Entre sus numerosas versiones se encuentran Apple II, en última instancia Apple Pascal , DEC PDP-11, Intel 8080 , Zilog Z80 y máquinas basadas en MOS 6502 , Motorola 68000 y el IBM PC (la versión II en el 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 segmento 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 ejecutarse en su microcomputadora Pascal MicroEngine. Incluía compatibilidad con procesos paralelos por primera vez.

Versión IV

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

Usos posteriores

La computadora de Corvus Systems utilizaba UCSD Pascal para todo el 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, de modo que los usuarios pudieran modificarlo según fuera necesario.

Notas

  1. ^ Williams, Gregg (enero de 1982). "Una mirada más cercana a la computadora personal IBM". BYTE . p. 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). «IBM's New Personal Computer: Taking the Measure / Part One» (El nuevo ordenador personal de IBM: tomando la medida / Primera parte). PC Magazine . pág. 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: Half A Step In The Right Direction». PC Magazine . pág. 123 . Consultado el 21 de octubre de 2013 .
  6. ^ Allman, Eric (1 de julio de 2004). "Una conversación con James Gosling". Cola ACM . Association for Computing Machinery . 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 Fortran de Apple" (PDF) .
  9. ^ Bowles, Ken (22 de octubre de 2004). "Algunas ideas para la generación de Pascal en 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 de Ada
  10. ^ Maher, John (enero de 1985). "Acornsoft's UCSD Pascal System". Beebug . págs. 7–10 . Consultado el 2 de julio de 2024 .

Lectura adicional

Enlaces externos