UCSD p-System
![](https://cdn.xn--h1ajim.xn--p1ai/thumb.php?f=UCSD1.png&width=300)
![](https://cdn.xn--h1ajim.xn--p1ai/thumb.php?f=UCSD3.png&width=300)
![](https://cdn.xn--h1ajim.xn--p1ai/thumb.php?f=UCSD2.png&width=300)
UCSD p-System — одна из первых реализаций виртуальной машины (p-машины) на базе интерпретатора байт-кода (p-кода) для создания аппаратно-независимой среды программирования.
Реализации
UCSD p-System была разработана к 1977 году в Калифорнийском Университете (University of California, San-Diego) для мини-ЭВМ, впоследствии была перенесена на ряд различных архитектур. Известны реализации для DEC PDP-11 (отдельные версии для родной PDP-11, LSI-11, и Terak), Intel 8080 / Zilog Z-80, Motorola 6800, систем на базе процессора 6502, IBM PC.
Существовала также аппаратная реализация интерпретатора p-кода, процессор Western Digital Pascal MicroEngine.
Виртуальная p-машина
В отличие от разработанной позднее виртуальной машины Java, виртуальная p-машина не запускалась внутри операционной системы, а загружалась непосредственно на аппаратуре, и включала свою собственную операционную систему, с собственной файловой системой, интерфейсом пользователя и всем остальным. Пользовательский интерфейс системы UCSD p-System был, как было принято в те времена, текстовым, но основывался на повсеместном применении оригинально выглядящих текстовых меню. Каждая программа работала со своим логическим экраном, верхнюю строку экрана штатно занимало контекстное меню, элементы которого вызывались по нажатию на соответствующие им буквенные клавиши.
UCSD Pascal и UCSD Fortran
В составе UCSD p-System был разработан компилятор языка Паскаль UCSD Pascal, впоследствии также компилятор языка Фортран 77 UCSD Fortran.
Apple Pascal и Apple Fortran
Широкое распространение получила реализация UCSD p-System на компьютере Apple II с процессором 6502, поддерживавшаяся фирмой Apple Computer в продуктах Apple Pascal и Apple Fortran. В этой реализации были доступны дополнительные модули AppleStuff с различными системными вызовами (работа с клавиатурой, звуком и т. д.) и TurtleGraphics с пакетом черепашьей графики.
Литература
- Аладжем М. А., Аладжем П. А. Паскал за персонални компютри. — София: Державно издателство «Техника», 1986. 240 с. (болг.) (описание реализации языка UCSD Pascal для компьютера Правец-82 (Apple II)).
Ссылки
- UCSD PASCAL System II.0 User's Manual March 1979 (англ.)
- Руслан Богатырев.Летопись языков Паскаль, Мир ПК, № 04/2001