El UCSD Pascal fue un sistema de lenguaje de programación Pascal que corría en el UCSD p-System, un sistema operativo portable, altamente independiente de la máquina. El Instituto para los Sistemas de Información de la Universidad de California en San Diego lo desarrolló en 1978 para proveer a los estudiantes de un sistema operativo común que pudiera correr, tanto en cualquiera de los microcomputadores disponibles, como en los minicomputadores DEC PDP-11 del campus. El UCSD p-System (Versión IV, suministrado por SofTech) era uno de los tres sistemas operativos que IBM ofrecía para su IBM PC original (junto con el PC-DOS y el CP/M-86); pero el p-System nunca se vendió muy bien para el IBM PC, principalmente debido a una carencia de aplicaciones y porque era más costoso que las otras opciones. Antes de eso, IBM usó el UCSD p-System como el sistema operativo para su , una máquina dedicada de procesamiento de textos basada en un microcomputador (no confundirlo con el software de procesamiento de textos de IBM). Notables extensiones al Pascal estándar incluyen Units compilables y el tipo String. Ambas extensiones influenciaron el diseño del lenguaje Ada.​Algunas fueron proporcionadas para acelerar el procesamiento de strings (ej. exploración en un arreglo para un patrón de búsqueda particular); otras extensiones del lenguaje fueron proporcionadas para permitir que el UCSD p-System fuera autocompilable (self-compiling) y auto-sostenido?? (self-hosted). El UCSD Pascal fue basado en una arquitectura de (p-code machine). Su contribución a estas tempranas máquinas virtuales fue extender el p-code fuera de sus raíces como lenguaje intermedio de compilador hacia un ambiente completo de ejecución. La p-Machine del UCSD Pascal fue optimizada para los pequeños nuevos microcomputadores con direccionamiento restringido a 16 bits (solamente 64 KB de memoria). James Gosling cita al UCSD Pascal como una influencia clave (junto con la máquina virtual del Smalltalk) en el diseño de la máquina virtual de Java. El UCSD p-System alcanzaba la independencia de la máquina real definiendo como su OS a una máquina virtual, llamada p-Machine (p-Máquina) (o pseudo-machine (pseudo-máquina), que muchos usuarios comenzaron en llamar la "Pascal-machine" (máquina Pascal), aunque la documentación del USCD siempre usó "pseudo-machine") con su propio conjunto de instrucciones llamado (p-código) (o pseudo-code). Urs Ammann, un estudiante de Niklaus Wirth, originalmente presentó un p-code en su tesis de PhD (ver Urs Aman, On Code Generation in a Pascal Compiler, Software—Practice and Experience, Vol. 7, No. 3, 1977, pp. 391–423), desde el cual fue derivada la implementación del UCSD, la implementación del Zúrich Pascal-P . La implementación del UCSD cambió la implementación Zúrich para ser "orientada a byte". El UCSD p-code fue optimizado para la ejecución del lenguaje de programación Pascal. Entonces, cada plataforma de hardware solamente necesitaba un programa interpretador de p-code escrito para dicha plataforma, para así poder portar el p-System y todas las herramientas para correr en ella. Versiones posteriores también incluyeron lenguajes adicionales que compilaron hacia la base del p-code. Por ejemplo, TeleSoft (también localizado en San Diego) ofreció un temprano entorno de desarrollo de Ada que usó p-code y por lo tanto podía correr en un número de plataformas de hardware incluyendo el Motorola 68000, el System/370, y el . El UCSD p-System comparte algunos conceptos con la más actual plataforma Java. Ambas usan una máquina virtual para ocultar diferencias del sistema operativo y del hardware, y ambas usan programas escritos hacia esa máquina virtual para proporcionar soporte de plataforma cruzada. Asimismo ambos sistemas permiten que la máquina virtual sea usada como el sistema operativo completo de la computadora objetivo o correr en una "caja" (in a box) bajo otro sistema operativo. El compilador del UCSD Pascal fue distribuido como parte de un sistema operativo portable, el p-System.
UCSD Pascal
Sistema virtual
Apple II, DEC PDP-11, Zilog Z80, MOS 6502, Motorola 68000, x86, Pascal MicroEngine
El UCSD Pascal fue un sistema de lenguaje de programación Pascal que corría en el UCSD p-System, un sistema operativo portable, altamente independiente de la máquina. El Instituto para los Sistemas de Información de la Universidad de California en San Diego lo desarrolló en 1978 para proveer a los estudiantes de un sistema operativo común que pudiera correr, tanto en cualquiera de los microcomputadores disponibles, como en los minicomputadores DEC PDP-11 del campus. El UCSD p-System (Versión IV, suministrado por SofTech) era uno de los tres sistemas operativos que IBM ofrecía para su IBM PC original (junto con el PC-DOS y el CP/M-86); pero el p-System nunca se vendió muy bien para el IBM PC, principalmente debido a una carencia de aplicaciones y porque era más costoso que las otras opcione
Version IV
UCSD p-System.svg