UCSD Паскаль
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2011 г. ) |
Разработчик | Калифорнийский университет, Сан-Диего , SofTech , пекан |
---|---|
Семейство ОС | с p-кодом операционные системы |
Рабочее состояние | Исторический |
Первоначальный выпуск | август 1977 года |
Последний выпуск | IV.2.2 R1.1/декабрь 1987 г |
Доступно в | Английский |
Платформы | Apple II , DEC PDP-11 , Intel 8080 , Zilog Z80 , MOS 6502 , Motorola 68000 , x86 , Osborne Executive , Pascal MicroEngine , TI 99/4A , BBC Micro |
ядра Тип | с p-кодом виртуальная машина |
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 была полностью разработана внутри компании и не была открыта для программирования конечным пользователем.)
Известные расширения стандартного Паскаля включают отдельно компилируемые модули и строковый тип. Были предоставлены некоторые встроенные функции для ускорения обработки строк (например, сканирование массива для определенного шаблона поиска); были предоставлены другие языковые расширения, позволяющие UCSD p-System быть самокомпилируемой и самостоятельно размещаемой .
UCSD Pascal был основан на архитектуре машины с p-кодом . Его вклад в создание этих первых виртуальных машин заключался в расширении p-кода от его корней в качестве промежуточного языка компилятора до полноценной среды выполнения. [ нужны разъяснения ] 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 был оптимизирован для выполнения языка программирования Паскаль . Каждой аппаратной платформе тогда требовалась только написанная для нее программа-интерпретатор p-кода для переноса всей p-системы и всех инструментов для ее работы. Более поздние версии также включали дополнительные языки, скомпилированные в базу p-кода. Например, Apple Computer предложила компилятор Fortran. [8] (написано 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 . [9] который считал, что появление новых вычислительных платформ затруднит признание новых языков программирования. Он основал UCSD Pascal на версии портативного компилятора Pascal-P2 из Цюриха. Его особенно интересовал Паскаль как язык обучения программированию. UCSD представил две функции, которые были важными улучшениями по сравнению с исходным Pascal: строки переменной длины и «единицы» независимо скомпилированного кода (идея, включенная в развивавшийся в то время Ada (язык программирования) ). Никлаус Вирт считает, что p-System и, в частности, UCSD Pascal, способствовали популяризации языка Pascal . Лишь после выпуска Turbo Pascal версия UCSD начала терять первое место среди пользователей Pascal.
Диалект Паскаля UCSD Pascal произошел от подмножества Паскаля, реализованного в Pascal-P2, которое не было разработано как полная реализация языка, а скорее как «минимальное подмножество, которое могло бы самокомпилироваться», чтобы соответствовать его функции как набор начальной загрузки для компиляторов Pascal. UCSD добавил строки из BASIC и несколько других функций, зависящих от реализации. Хотя UCSD Pascal позже получил многие другие особенности полного языка Pascal, подмножество Pascal-P2 сохранилось в других диалектах, особенно в Borland Pascal , который копировал большую часть диалекта UCSD.
Версии
[ редактировать ]Существовало четыре версии механизма p-кода UCSD, каждая из которых содержала несколько версий p-System и UCSD Pascal. Пересмотр механизма p-code (т. е. p-Machine) означал изменение языка p-code, и поэтому скомпилированный код не переносим между различными версиями p-Machine. Каждая версия обозначалась ведущей римской цифрой, а версии операционной системы нумеровались как «точечный» номер, следующий за римской цифрой p-кода. Например, II.3 представлял собой третью версию p-системы, работающую на второй версии p-машины.
Версия I
[ редактировать ]Оригинальная версия, никогда официально не распространявшаяся за пределами Калифорнийского университета в Сан-Диего . Однако заинтересованные пользователи свободно обменивались исходными кодами Паскаля как для версий I.3, так и для I.5. В частности, версия патча I.5a была известна как одна из самых стабильных.
Версия II
[ редактировать ]Широко распространен, доступен на многих ранних микрокомпьютерах . Многочисленные версии включали в себя Apple II , в конечном итоге Apple Pascal , DEC PDP-11 , Intel 8080 , Zilog Z80 и MOS 6502 , Motorola 68000 и IBM PC (Версия II на ПК была ограничена одним сегментом кода 64 КБ и одним стеком 64 КБ). кучи сегмент данных ; Версия 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-кода, Commodore CBM 8096 , Sage IV, HP 9000 и BBC Micro со вторым процессором 6502. [10]
Дальнейшее использование
[ редактировать ]Компьютер Corvus Systems использовал UCSD Pascal для всего пользовательского программного обеспечения. «Инновационная концепция» ОС Constellation заключалась в том, чтобы запускать Pascal (интерпретируемый или скомпилированный) и включать в руководство все распространенное программное обеспечение, чтобы пользователи могли вносить изменения по мере необходимости.
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Уильямс, Грегг (январь 1982 г.). «Более пристальный взгляд на персональный компьютер IBM» . БАЙТ . п. 36 . Проверено 19 октября 2013 г.
- ^ «SOFTECH MICROSYSTEMS UCSD p-SYSTEM ВЕРСИЯ IV ДЛЯ КОМПЬЮТЕРА APPLE II» (PDF) .
- ^ Эдлин, Джим; Баннелл, Дэвид (февраль – март 1982 г.). «Новый персональный компьютер IBM: принимаем меры / Часть первая» . Журнал ПК . п. 42 . Проверено 20 октября 2013 г.
- ^ Реклама (август 1982 г.). «Этот человек разрабатывает приложения для всего рынка, включая Z-80, 8080, 8086/8088, 6502, LSI-11/PDP-11, 9900 и M68000, используя лучшее, что есть» . БАЙТ . стр. 191, 193–195 . Проверено 19 октября 2013 г.
- ^ Захманн, Марк С. (июнь 1983 г.). «Контекст MBA: полшага в правильном направлении» . Журнал ПК . п. 123 . Проверено 21 октября 2013 г.
- ^ Оллман, Эрик (1 июля 2004 г.). «Разговор с Джеймсом Гослингом» . Очередь АКМ . Ассоциация вычислительной техники . Проверено 24 декабря 2012 г.
- ^ Амманн, У. (1977). «О генерации кода в компиляторе PASCAL». Программное обеспечение: практика и опыт . 7 (3): 391–423. дои : 10.1002/спе.4380070311 . hdl : 20.500.11850/68668 . S2CID 2143405 .
- ^ «Справочное руководство по языку Apple Fortran» (PDF) .
- ^ Боулз, Кен (22 октября 2004 г.). «Некоторые идеи по генерации UCSD Pascal» . Архивировано из оригинала 4 марта 2016 года . Проверено 13 февраля 2011 г.
UCSD Pascal Units, вероятно, повлиял на пакеты Ada
- ^ Махер, Джон (январь 1985 г.). «Система UCSD Pascal от Acornsoft» . Бибаг . стр. 7–10 . Проверено 2 июля 2024 г.
Дальнейшее чтение
[ редактировать ]- Фостер, Кристина (сентябрь 2004 г.). «UCSD Pascal и революция ПК» . @UCSD . 1 (3). Сан-Диего: Ассоциация выпускников UCSD. Архивировано из оригинала 06 марта 2012 г.
- Хайд, Рэндалл (1983). p-Source (Руководство по системе Apple Pascal) . Датамост . ISBN 0881900044 .
- Макмиллан, Уильям В. (июль 2011 г.). «Душа виртуальной машины» . IEEE-спектр . 48 (7). IEEE : 44–49, 58–59. дои : 10.1109/mspec.2011.5910448 . ISSN 0018-9235 . S2CID 40545952 . Архивировано из оригинала 15 апреля 2013 года.
Внешние ссылки
[ редактировать ]- По состоянию на май 2006 г. [update]UCSD выпустил части p-System, написанные до 1 июня 1979 года, для некоммерческого использования. (Примечание: веб-страница изменяет размер окна браузера.)
- Воссоединение UCSD Pascal , презентации и видео с воссоединения UCSD Pascal, состоявшегося в UCSD 22 октября 2004 г.
- PowerPoint и видео на тему «Какого черта был UCSD Pascal?», Представленные на воссоединении 2004 года PPT и видео
- ucsd-psystem-os , кросс-компилируемый исходный код для UCSD p-System версии II.0
- ucsd-psystem-vm , портативная виртуальная машина для p-кода UCSD p-System
- Реконструкция руководства пользователя UCSD Pascal System II.0.
- Дизассемблер Softech P-System
- Музей P-системы UCSD в Компьютерном музее Джефферсона
- UCSD P-System. Архивировано 6 мая 2014 г. на Wayback Machine в Pascal для небольших машин.