stringtranslate.com

UCSD Паскаль

UCSD Pascal — это система программирования на языке Pascal , работающая на UCSD p-System , переносимой, высокомашинно-независимой операционной системе . UCSD Pascal был впервые выпущен в 1977 году. Он был разработан в Калифорнийском университете в Сан-Диего (UCSD).

P-система

В 1977 году Институт информационных систем Калифорнийского университета в Сан-Диего (UCSD) разработал UCSD Pascal, чтобы предоставить студентам общую среду, которая могла работать на любом из доступных тогда микрокомпьютеров, а также на миникомпьютерах DEC PDP-11 кампуса . Операционная система стала известна как UCSD p-System.

Было три операционные системы, которые IBM предлагала для своего оригинального IBM PC . Первой была UCSD p-System, а двумя другими были IBM PC DOS и CP/M-86 . [1] Поставщик SofTech Microsystems [2] подчеркивал переносимость приложений p-System, с виртуальными машинами для 20 процессоров на момент выпуска IBM PC. Он предсказывал, что пользователи смогут использовать купленные ими приложения на будущих компьютерах под управлением p-System; [3] реклама называла его «универсальной операционной системой». [4]

PC Magazine осудил UCSD p-System на IBM PC, заявив в обзоре Context MBA , написанном на этом языке, что он «просто не производит хороший код». [5] p-System не очень хорошо продавалась для IBM PC из-за отсутствия приложений и из-за того, что она была дороже других вариантов. Ранее IBM предлагала UCSD p-System в качестве опции для IBM Displaywriter , специализированной текстовой машины на базе 8086. (Собственная операционная система Displaywriter была разработана полностью внутри компании и не была открыта для программирования конечным пользователем.)

Известные расширения стандартного Pascal включают отдельно компилируемые Units и тип String . Некоторые встроенные функции были предоставлены для ускорения обработки строк (например, сканирование в массиве для определенного шаблона поиска); другие расширения языка были предоставлены для того, чтобы позволить UCSD p-System быть самокомпилируемой и самохостируемой .

UCSD Pascal был основан на архитектуре машины p-code . Его вклад в эти ранние виртуальные машины состоял в том, чтобы расширить p-code от его корней как промежуточного языка компилятора до полной среды выполнения. [ необходимо разъяснение ] UCSD Pascal p-Machine был оптимизирован для новых малых микрокомпьютеров с адресацией, ограниченной 16 битами (всего 64 КБ памяти). Джеймс Гослинг ссылается на UCSD Pascal как на ключевое влияние (наряду с виртуальной машиной Smalltalk ) на дизайн виртуальной машины Java . [6]

UCSD p-System достигла независимости от машины, определив виртуальную машину , называемую p-Machine (или псевдомашиной, которую многие пользователи стали называть «Pascal-машиной», как и ОС, хотя документация UCSD всегда использовала «псевдомашину») с собственным набором инструкций , называемым p-кодом (или псевдокодом). Урс Амманн, ученик Никлауса Вирта , первоначально представил p-код в своей докторской диссертации, [7] из которой была получена реализация UCSD, реализация Zurich Pascal-P. Реализация UCSD изменила реализацию Zurich, сделав ее «байт-ориентированной». P-код UCSD был оптимизирован для выполнения языка программирования Pascal . Затем каждой аппаратной платформе требовалась только программа-интерпретатор p-кода, написанная для нее, чтобы портировать всю p-System и все инструменты для ее запуска. Более поздние версии также включали дополнительные языки, которые компилировались в базу p-кода. Например, Apple Computer предложила компилятор Fortran [8] (написанный Silicon Valley Software, Саннивейл, Калифорния), создающий p-код, который работал на версии p-system от Apple. Позже TeleSoft (также расположенный в Сан-Диего ) предложил раннюю среду разработки Ada , которая использовала p-код и, следовательно, могла работать на ряде аппаратных платформ, включая Motorola 68000 , System /370 и Pascal MicroEngine .

UCSD p-System разделяет некоторые концепции с более поздней платформой Java . Оба используют виртуальную машину, чтобы скрыть различия в операционной системе и оборудовании, и оба используют программы, написанные для этой виртуальной машины, чтобы обеспечить кроссплатформенную поддержку. Аналогично обе системы позволяют использовать виртуальную машину либо как полную операционную систему целевого компьютера, либо запускать ее в «коробке» под управлением другой операционной системы.

Компилятор UCSD Pascal распространялся как часть портативной операционной системы p-System.

История

UCSD p-System появилась около 1974 года как идея Кеннета Боулза из UCSD , [9], который считал, что количество новых вычислительных платформ, появляющихся в то время, затруднит принятие новых языков программирования. Он основал UCSD Pascal на версии Pascal-P2 портативного компилятора из Цюриха. Он был особенно заинтересован в Pascal как языке для обучения программированию. UCSD представил две функции, которые были важными улучшениями оригинального Pascal: строки переменной длины и «единицы» независимо скомпилированного кода (идея, включенная в развивающийся тогда Ada (язык программирования)). Никлаус Вирт приписывает p-System и UCSD Pascal в частности популяризацию Pascal. Только с выпуском Turbo Pascal версия UCSD начала спускаться с первого места среди пользователей Pascal.

Диалект Pascal UCSD Pascal произошел от подмножества Pascal, реализованного в Pascal-P2, который не был разработан как полная реализация языка, а скорее как «минимальное подмножество, которое самокомпилировалось», чтобы соответствовать его функции как набора начальной загрузки для компиляторов Pascal. UCSD добавил строки из BASIC и несколько других функций, зависящих от реализации. Хотя UCSD Pascal позже получил многие другие функции полного языка Pascal, подмножество Pascal-P2 сохранилось в других диалектах, в частности, в Borland Pascal , который скопировал большую часть диалекта UCSD.

Версии

UCSD Pascal в использовании

Существовало четыре версии UCSD p-code engine, каждая из которых содержала несколько ревизий p-System и UCSD Pascal. Ревизия p-code engine (т. е. p-Machine) означала изменение языка p-code, и поэтому скомпилированный код не переносим между различными версиями p-Machine. Каждая ревизия была представлена ​​ведущей римской цифрой, в то время как ревизии операционной системы были пронумерованы как номер «точка» после римской цифры p-code. Например, II.3 представляла третью ревизию p-System, работающую на второй ревизии p-Machine.

Версия 1

Оригинальная версия, официально не распространявшаяся за пределами Калифорнийского университета в Сан-Диего . Однако, исходники Pascal для обеих версий I.3 и I.5 свободно обменивались между заинтересованными пользователями. В частности, исправленная версия I.5a была известна как одна из самых стабильных.

Версия 2

Широко распространен, доступен на многих ранних микрокомпьютерах. Многочисленные версии включали Apple II (в конечном итоге Apple Pascal) , DEC PDP-11, Intel 8080 , Zilog Z80 и машины на базе MOS 6502 , Motorola 68000 и IBM PC (версия II на ПК была ограничена одним сегментом кода 64 КБ и одним сегментом данных стека/кучи 64 КБ ; версия IV сняла ограничение на сегмент кода, но стоила намного дороже [ quantify ] ).

Участниками проекта того времени были доктор Кеннет Л. Боулз, Марк Аллен , Ричард Гливс, Ричард Кауфманн, Пит Лоуренс, Джоэл МакКормак , Марк Овергаард, Кит Шиллингтон, Роджер Самнер и Джон Ван Зандт.

Версия 3

Пользовательская версия, написанная для Western Digital для запуска на их микрокомпьютере Pascal MicroEngine. Впервые включена поддержка параллельных процессов.

Версия IV

Коммерческая версия, разработанная и продаваемая SofTech. Основана на версии II; не включала изменений из версии III. Не пользовалась спросом из-за сочетания их ценовой структуры, проблем с производительностью из-за интерпретатора p-кода и конкуренции с собственными операционными системами (поверх которых она часто запускалась). После того, как SofTech прекратила выпуск продукта, его подхватила Pecan Systems, относительно небольшая компания, сформированная из пользователей и поклонников p-System. Продажи несколько оживились, в основном благодаря разумной ценовой структуре Pecan, но p-System и UCSD Pascal постепенно уступили рынок собственным операционным системам и компиляторам. Доступно для TI -99/4A, оснащенного картой p-кода, Commodore CBM 8096 , Sage IV, HP 9000 и BBC Micro со вторым процессором 6502. [10]

Дальнейшее использование

Компьютер Corvus Systems использовал UCSD Pascal для всего своего пользовательского программного обеспечения. «Инновационная концепция» Constellation OS заключалась в запуске Pascal (интерпретативно или компилируемо) и включении всего распространенного программного обеспечения в руководство, чтобы пользователи могли вносить изменения по мере необходимости.

Примечания

  1. ^ Уильямс, Грегг (январь 1982 г.). «Более пристальный взгляд на персональный компьютер IBM». BYTE . стр. 36 . Получено 19 октября 2013 г. .
  2. ^ "SOFTECH MICROSYSTEMS UCSD p-SYSTEM ВЕРСИЯ IV ДЛЯ КОМПЬЮТЕРА APPLE II" (PDF) .
  3. Эдлин, Джим; Баннелл, Дэвид (февраль–март 1982 г.). «Новый персональный компьютер IBM: принятие мер / Часть первая». PC Magazine . стр. 42. Получено 20 октября 2013 г.
  4. Реклама (август 1982 г.). «Этот человек разрабатывает приложения для всего рынка, включая Z-80, 8080, 8086/8088, 6502, LSI-11/PDP-11, 9900 и M68000 с лучшим из того, что есть». BYTE . стр. 191, 193–195 . Получено 19 октября 2013 г. .
  5. ^ Захманн, Марк С. (июнь 1983 г.). «Context MBA: Half A Step In The Right Direction». PC Magazine . стр. 123. Получено 21 октября 2013 г.
  6. ^ Allman, Eric (1 июля 2004 г.). «Разговор с Джеймсом Гослингом». ACM Queue . Association for Computing Machinery . Получено 24 декабря 2012 г.
  7. ^ Амманн, У. (1977). «О генерации кода в компиляторе PASCAL». Программное обеспечение: практика и опыт . 7 (3): 391–423. doi :10.1002/spe.4380070311. hdl : 20.500.11850/68668 . S2CID  2143405.
  8. ^ «Справочное руководство по языку Apple Fortran» (PDF) .
  9. ^ Боулз, Кен (22 октября 2004 г.). "Some Insights for UCSD Pascal Generation". Архивировано из оригинала 4 марта 2016 г. Получено 13 февраля 2011 г. UCSD Pascal Units, вероятно, повлияли на пакеты Ada
  10. ^ Махер, Джон (январь 1985 г.). «Система Acornsoft UCSD Pascal». Beebug . стр. 7–10 . Получено 2 июля 2024 г.

Дальнейшее чтение

Внешние ссылки