Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

UCSD Pascal и p-System [ править ]

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

IBM предлагала для своего первоначального компьютера IBM PC три операционные системы . Первой была UCSD p-System с 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 в качестве опции для Displaywriter ,специализированной машины для обработки текстов на базе 8086 (не путать спрограммным обеспечением для обработки текстов DisplayWrite от IBM). (Родная операционная система Displaywriter была полностью разработана внутри компании и не была открыта для программирования конечных пользователей.)

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

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

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

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

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

История [ править ]

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

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

Версии [ править ]

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

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

Версия I [ править ]

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

Версия II [ править ]

Широко распространен, доступен на многих ранних микрокомпьютерах . Многочисленные версии включены Apple II , DEC PDP-11 , Zilog Z80 и MOS 6502 на основе машин, Motorola 68000 и IBM PC (версия II на ПК был ограничен одним 64К сегмента кода и один 64K стека / кучного сегмента данных ; версия IV удалена ограничение сегмента кода, но стоит намного больше [ количественно ] ).
В число участников проекта той эпохи входят доктор Кеннет Л. Боулз , Марк Аллен , Ричард Гливс, Ричард Кауфманн, Пит Лоуренс,Джоэл МакКормак , Марк Овергаард, Кейт Шиллингтон, Роджер Самнер, Джон Ван Зандт

Версия III [ править ]

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

Версия IV [ править ]

Коммерческая версия, разработанная и продаваемая компанией 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 паскаль для всех его программного обеспечения пользователя. «Новаторская концепция» Constellation OS заключалась в том, чтобы запустить Паскаль (интерпретируемый или скомпилированный) и включить в руководство все распространенное программное обеспечение, чтобы пользователи могли вносить изменения по мере необходимости.

См. Также [ править ]

  • P-кодовая машина

Примечания [ править ]

  1. ^ Уильямс, Грегг (январь 1982). «Более пристальный взгляд на персональный компьютер IBM» . БАЙТ . п. 36 . Проверено 19 октября 2013 года .
  2. ^ "SOFTECH MICROSYSTEMS UCSD p-SYSTEM ВЕРСИЯ IV ДЛЯ КОМПЬЮТЕРА APPLE II" (PDF) .
  3. ^ Эдлин, Джим; Баннелл, Дэвид (февраль – март 1982 г.). «Новый персональный компьютер IBM: измерение / часть первая» . Журнал ПК . п. 42 . Проверено 20 октября 2013 года .
  4. Реклама (август 1982 г.). «Этот человек разрабатывает приложения для всего рынка, включая Z-80, 8080, 8086/8088, 6502, LSI-11 / PDP-11, 9900 и M68000, используя лучшее, что есть» . БАЙТ . С. 191, 193–195 . Проверено 19 октября 2013 года .
  5. ^ Захман, Марк С. (июнь 1983). «Контекст MBA: полшага в правильном направлении» . Журнал ПК . п. 123 . Проверено 21 октября 2013 года .
  6. ^ a b Боулз, Кен (22 октября 2004 г.). «Некоторые идеи для генерации UCSD Pascal» . Модули UCSD Pascal, вероятно, повлияли на пакеты Ada
  7. Allman, Eric (1 июля 2004 г.). «Разговор с Джеймсом Гослингом» . Очередь ACM . Ассоциация вычислительной техники . Проверено 24 декабря 2012 года .
  8. Перейти ↑ Ammann, U. (1977). «О генерации кода в компиляторе PASCAL». Программное обеспечение: практика и опыт . 7 (3): 391–423. DOI : 10.1002 / spe.4380070311 . ЛВП : 20.500.11850 / 68668 . S2CID 2143405 . 
  9. ^ "Справочное руководство по языку Apple Fortran" (PDF) .

Дальнейшее чтение [ править ]

  • Фостер, Кристина (сентябрь 2004 г.). «UCSD Паскаль и революция ПК» . @UCSD . Сан-Диего: Ассоциация выпускников UCSD. 1 (3). Архивировано из оригинала на 2012-03-06.
  • Макмиллан, Уильям У. (июль 2011 г.). «Душа виртуальной машины» . IEEE Spectrum . IEEE . 48 (7): 44–49, 58–59. DOI : 10.1109 / mspec.2011.5910448 . ISSN  0018-9235 . S2CID  40545952 .
  • Хайд, Рэндалл (1983). p-Source (Руководство по системе Apple Pascal) . Датамост . ISBN 0881900044.

Внешние ссылки [ править ]

  • С мая 2006 года UCSD выпустила части p-System, написанные до 1 июня 1979 года, для некоммерческого использования. (Примечание: веб-страница изменяет размер окна браузера.)
  • UCSD Pascal Reunion , презентации и видео с UCSD Pascal Reunion, проведенного в UCSD 22 октября 2004 г.
  • Powerpoint и видео "Что, черт возьми, было UCSD Pascal?", Представленные на конференции PPT и Video в 2004 году.
  • ucsd-psystem-os , кросс-компилируемый исходный код для UCSD p-System версии II.0
  • ucsd-psystem-vm , портативная виртуальная машина для UCSD p-System p-code
  • Реконструкция руководства пользователя UCSD Pascal System II.0
  • Дизассемблер Softech P-System
  • Музей UCSD P-System в Компьютерном музее Джефферсона
  • UCSD P-System на Паскале для малых машин
  • UCSD Pascal Yahoo Group