Логотип версии IV | |
Разработчик | Калифорнийский университет, Сан-Диего, SofTech, Pecan |
---|---|
Семейство ОС | p-code операционные системы |
Рабочее состояние | Историческое |
Исходное выпуск | август 1977 г.; 43 года назад (1977-08) |
Последний выпуск | IV.2.1 R3.3 / ноябрь 1984 г.; 35 лет назад (1984-11) |
Доступно на | английском |
Платформах | Apple II, DEC PDP-11, Zilog Z80, MOS 6502, Motorola 68000, x86, Osborne Executive, Pascal MicroEngine, TI 99 / 4A |
Ядро тип | p-код виртуальная машина |
UCSD Pascal - это система языка программирования Pascal, которая работает на UCSD p-System, портативной, сильно независимой от машины операционной системе. UCSD Pascal был впервые выпущен в 1977 году. Он был разработан в Калифорнийском университете, Сан-Диего (UCSD).
В 1977 г. Калифорнийский институт информационных систем Сан-Диего (UCSD) разработал UCSD Pascal, чтобы предоставить студентам общую среду, которая могла бы работать на любом из доступных на тот момент микрокомпьютеров, а также кампуса DEC PDP-11 миникомпьютеры. Операционная система стала называться UCSD p-System.
UCSD p-System была одной из трех операционных систем, наряду с PC DOS и CP / M-86, которые IBM предлагала для его оригинальный IBM PC. Производитель SofTech Microsystems подчеркнул переносимость приложений p-System с виртуальными машинами для 20 процессоров на момент выпуска IBM PC. Он предсказал, что пользователи смогут использовать приобретенные ими приложения на будущих компьютерах с p-System; рекламные объявления называли ее «универсальной операционной системой».
PC Magazine осудил UCSD p-System на IBM PC, заявив в обзоре Context MBA, написанном на этом языке, что это « просто не дает хорошего кода ». P-System не очень хорошо продавалась для IBM PC из-за отсутствия приложений и потому, что она была дороже, чем другие варианты. Ранее IBM предлагала UCSD p-System в качестве опции для Displaywriter, специализированного текстового процессора на основе 8086 (не путать с IBM DisplayWrite программное обеспечение для обработки текстов). (Родная операционная система Displaywriter была полностью разработана внутри компании и не была открыта для программирования конечных пользователей.)
Известные расширения стандартного Паскаля включают отдельно компилируемые единицы и тип String. Оба этих расширения повлияли на дизайн языка Ada. Были предоставлены некоторые встроенные функции для ускорения обработки строк (например, сканирование в массиве для определенного шаблона поиска); были предоставлены другие языковые расширения, чтобы позволить UCSD p-System быть самокомпилированной, а самодостаточный.
UCSD Pascal был основан на архитектуре p-code machine. Его вклад в эти ранние виртуальные машины заключался в расширении p-кода от его корней в качестве компилятора промежуточного языка в полноценную среду исполнения. UCSD Pascal p-Machine была оптимизирована для новых небольших микрокомпьютеров с ограничением адресации до 16 бит (только 64 КБ памяти). Джеймс Гослинг ссылается на UCSD Pascal как на ключевое влияние (наряду с виртуальной машиной Smalltalk ) на дизайн виртуальной машины Java.
UCSD p-System достигла машинной независимости, определив виртуальную машину, названную p-Machine (или псевдо-машиной, которую многие пользователи стали называть «Pascal-machine», как и ОС, хотя документация UCSD всегда использовал «псевдо-машину») со своим собственным набором инструкций , называемым p-кодом (или псевдокодом). Урс Амманн, ученик Никлауса Вирта, первоначально представил p-код в своей диссертации PhD, на основе которой была получена реализация UCSD, реализация Zurich Pascal-P. Реализация UCSD изменила реализацию Zurich на «побайтно-ориентированную». P-код UCSD был оптимизирован для выполнения языка программирования Pascal. Каждой аппаратной платформе тогда требовалась только программа-интерпретатор p-кода, написанная для нее, чтобы переносить всю p-систему и все инструменты для работы на ней. Более поздние версии также включали дополнительные языки, которые были скомпилированы в базу p-кода. Например, Apple Computer предложила компилятор Fortran (написанный компанией Silicon Valley Software, Саннивейл, Калифорния), производящий p-код, работающий в версии p-системы Apple. Позже TeleSoft (также находящаяся в Сан-Диего ) предложила раннюю среду разработки Ada, которая использовала p-код и поэтому могла работать на нескольких аппаратных платформах, включая Motorola 68000, System / 370 и Pascal MicroEngine.
UCSD p-System разделяют некоторые концепции с более современной платформой Java. Оба используют виртуальную машину, чтобы скрыть различия в операционной системе и оборудовании, и оба используют программы, написанные для этой виртуальной машины, для обеспечения межплатформенной поддержки. Точно так же обе системы позволяют использовать виртуальную машину либо как полную операционную систему целевого компьютера, либо работать в «ящике» под другой операционной системой.
Компилятор UCSD Pascal распространялся как часть переносимой операционной системы, p-System.
UCSD p-System зародилась примерно в 1974 году как идея Кеннета Боулза из UCSD, который считал, что количество новых вычислительных платформ, выходящих в то время, будет новым языкам программирования трудно получить признание. Он основал UCSD Pascal на версии Pascal-P2 портативного компилятора из Цюриха. Его особенно интересовал Паскаль как язык для обучения программированию. UCSD представил две функции, которые были важными улучшениями исходного Паскаля: строки переменной длины и «единицы» независимо скомпилированного кода (идея, включенная в развивающийся тогда язык программирования Ada). Никлаус Вирт считает, что p-System, и в частности UCSD Pascal, популяризировали Pascal. Только после выпуска Turbo Pascal версия UCSD начала терять первое место среди пользователей Pascal.
Диалект Паскаля в UCSD Pascal произошел от подмножества Паскаля, реализованного в Pascal-P2, который не был разработан как полная реализация языка, а скорее как «минимальное подмножество, которое будет самокомпилироваться», чтобы соответствовать его функции в качестве комплекта начальной загрузки для компиляторов Паскаля. UCSD добавил строки из BASIC, а также несколько других функций, зависящих от реализации. Хотя UCSD Pascal позже получил многие из других функций полного языка Pascal, подмножество Pascal-P2 сохранилось в других диалектах, особенно в Borland Pascal, который копировал большую часть диалекта UCSD.
Существовало четыре версии механизма p-кода UCSD, каждая с несколькими версиями p-System и UCSD Pascal. Пересмотр механизма p-кода (то есть p-Machine) означал изменение языка p-кода, и поэтому скомпилированный код не переносится между разными версиями p-Machine. Каждая ревизия была представлена римской цифрой в начале, в то время как ревизии операционной системы были пронумерованы как «точка» после римской цифры p-кода. Например, II.3 представляет третью ревизию p-System, работающую на второй ревизии p-Machine.
Исходная версия, никогда официально не распространялась за пределами Калифорнийского университета в Сан-Диего. Однако исходные коды Pascal для версий I.3 и I.5 свободно обменивались между заинтересованными пользователями. В частности, версия патча I.5a была известна как одна из самых стабильных.
Широко распространена, доступна на многих ранних микрокомпьютерах. Многочисленные версии включали машины на базе Apple II, DEC PDP-11, Zilog Z80 и MOS 6502, Motorola 68000 и IBM PC (версия II на ПК была ограничена одним сегментом кода размером 64 КБ и одним сегментом данных в стеке / куче 64 КБ ; Версия IV удалила ограничение на сегмент кода, но стоила намного дороже).. В число участников проекта той эпохи входят доктор Кеннет Л. Боулз, Марк Аллен, Ричард Гливс, Ричард Кауфманн, Пит Лоуренс, Джоэл МакКормак, Марк Овергаард, Кейт Шиллингтон, Роджер Самнер, Джон Ван Зандт
Специальная версия, написанная для Western Digital для запуска на своем микрокомпьютере Pascal MicroEngine. Впервые включена поддержка параллельных процессов.
Коммерческая версия, разработанная и продаваемая SofTech. На основе версии II; не включены изменения по сравнению с версией III. Не продавались хорошо из-за сочетания их ценовой структуры, проблем с производительностью из-за интерпретатора p-кода и конкуренции с собственными операционными системами (поверх которых он часто работал). После того, как SofTech отказалась от продукта, его подхватила Pecan Systems, относительно небольшая компания, состоящая из пользователей и поклонников p-System. Продажи несколько оживились, в основном благодаря разумной структуре цен на Pecan, но p-System и UCSD Pascal постепенно уступили рынок собственным операционным системам и компиляторам. Доступно для TI-99 / 4A с картой p-code, Commodore CBM 8096 и Sage IV.
Компьютер Corvus Systems использовал UCSD pascal для всего своего пользовательского программного обеспечения. «Инновационная концепция» Constellation OS заключалась в том, чтобы запустить Паскаль (интерпретируемый или скомпилированный) и включить в руководство все распространенное программное обеспечение, чтобы пользователи могли вносить изменения по мере необходимости во время использования (в то время по умолчанию использовался открытый исходный код).