UCSD Pascual
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).
UCSD Pascal y el sistema p
En 1977, el Instituto de Sistemas de Información de la Universidad de California, 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 se conoció como UCSD p-System.
Había tres sistemas operativos que IBM ofrecía para su IBM PC original. El primero fue UCSD p-System, con IBM PC DOS y CP/M-86 como los otros dos. El proveedor SofTech Microsystems enfatizó 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 las aplicaciones que compraron en futuras computadoras con p-System; los anuncios lo llamaban "el Sistema Operativo Universal".
PC Magazine denunció UCSD p-System en la PC de IBM, afirmando en una revisión de Context MBA, escrita en el idioma, que "simplemente no produce un buen código". El p-System no se vendió muy bien para la PC de IBM, 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 una opción para Displaywriter, una máquina de procesamiento de texto dedicada basada en 8086. (El sistema operativo nativo de Displaywriter se desarrolló completamente internamente y no se abrió para la programación del usuario final).
Extensiones notables de Pascal estándar incluyen Unidades compilables por separado y un tipo String. Se proporcionaron algunos elementos intrínsecos para acelerar el procesamiento de cadenas (por ejemplo, escanear 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 autocompile y se autohospede.
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 un lenguaje intermedio de compilación en un entorno de ejecución completo. 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.
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 sistema operativo, 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, estudiante de Niklaus Wirth, presentó originalmente un código p en su tesis doctoral, del 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 sea "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 de interpretación de código p escrito para portar 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 (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 usan una máquina virtual para ocultar las diferencias entre el sistema operativo y el 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 use como el sistema operativo completo de la computadora de destino o que 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
UCSD p-System comenzó alrededor de 1974 como una idea de Kenneth Bowles de UCSD, quien creía que la cantidad de nuevas plataformas informáticas que surgí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 en particular a UCSD Pascal, 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 "el subconjunto mínimo que se autocompilaría", para cumplir 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
Había cuatro versiones del motor de p-code de UCSD, cada una con varias revisiones del 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 se representó con un número romano principal, mientras que las revisiones del sistema operativo se enumeraron como el "punto" número 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
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
Ampliamente distribuido, disponible en muchas de las primeras microcomputadoras. Numerosas versiones incluyeron 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 64K y un segmento de datos de pila/montón de 64K; La versión IV eliminó el límite de segmento de código pero costó mucho más).
Los miembros del proyecto de esta era 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 que Western Digital se ejecute en su microcomputadora Pascal MicroEngine. Incluido 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 de 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 la competencia con los sistemas operativos nativos (además de los cuales a menudo se ejecutaba). Después de que SofTech abandonó el producto, Pecan Systems, una empresa relativamente pequeña formada por usuarios y fanáticos de p-System, lo recogió. Las ventas se reactivaron un poco, debido principalmente a la estructura de precios razonable de Pecan, pero p-System y UCSD Pascal perdieron gradualmente el mercado frente a los compiladores y los sistemas operativos nativos. Disponible para la TI-99/4A equipada con tarjeta de código p, Commodore CBM 8096 y Sage IV.
Uso posterior
La computadora de Corvus Systems usaba 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.
Contenido relacionado
SVG
Guión de diálogo visual
Gregorio Chaitin