UCSD Pascal — UCSD Pascal

UCSD Pascal/p-System
UCSD p-System.svg
Logo wersji IV
Deweloper Uniwersytet Kalifornijski, San Diego , SofTech , Pecan
Rodzina systemów operacyjnych systemy operacyjne z kodem p
Stan pracy Historyczny
Pierwsze wydanie sierpień 1977 ; 44 lata temu ( 1977-08 )
Najnowsze wydanie IV.2.1 R3.3 / Listopad 1984 ; 36 lat temu ( 1984-11 )
Dostępne w język angielski
Platformy Apple II , DEC PDP-11 , Zilog Z80 , MOS 6502 , Motorola 68000 , x86 , Osborne Executive , Pascal MicroEngine , TI 99/4A
Typ jądra maszyna wirtualna z kodem p

UCSD Pascal to system języka programowania Pascal , który działa na UCSD p-System , przenośnym, wysoce niezależnym od komputera systemie operacyjnym . UCSD Pascal został po raz pierwszy wydany w 1977 roku. Został opracowany na Uniwersytecie Kalifornijskim w San Diego (UCSD).

UCSD Pascal i p-System

W 1977 roku, University of California, San Diego (UCSD) Instytut Systemów Informacyjnych opracowany UCSD Pascal, aby zapewnić studentom wspólnego środowiska, które mogą działać na każdym z dostępnych wówczas mikrokomputerów oraz kampusu DEC PDP-11 minikomputery . System operacyjny stał się znany jako UCSD p-System.

Istniały trzy systemy operacyjne, które IBM oferował dla swojego oryginalnego komputera IBM . Pierwszym był UCSD p-System, a pozostałe dwa to PC DOS i CP/M-86 . Dostawca SofTech Microsystems podkreślił przenośność aplikacji p-System, z maszynami wirtualnymi dla 20 procesorów w momencie premiery IBM PC. Przewidywano, że użytkownicy będą mogli korzystać z zakupionych aplikacji na przyszłych komputerach z systemem p-System; reklamy nazywały go „Uniwersalnym Systemem Operacyjnym”.

PC Magazine potępił UCSD p-System na IBM PC, stwierdzając w recenzji Context MBA , napisanej w tym języku, że "po prostu nie produkuje dobrego kodu". p-System nie sprzedawał się zbyt dobrze na IBM PC z powodu braku aplikacji i dlatego, że był droższy niż inne opcje. Wcześniej IBM oferował UCSD p-System jako opcję dla Displaywriter ,dedykowanego procesora tekstu opartego na 8086 (nie mylić zoprogramowaniem do przetwarzania tekstu DisplayWrite firmy IBM). (Natywny system operacyjny Displaywriter został opracowany całkowicie wewnętrznie i nie został otwarty do programowania przez użytkownika końcowego).

Godne uwagi rozszerzenia standardowego Pascala obejmują oddzielnie kompilowalne jednostki i typ String . Dostarczono pewne elementy wewnętrzne w celu przyspieszenia przetwarzania ciągów (np. skanowanie w tablicy w poszukiwaniu określonego wzorca wyszukiwania); udostępniono inne rozszerzenia językowe, aby umożliwić samokompilację i samoobsługę systemu UCSD p-System .

UCSD Pascal został oparty na architekturze maszyny p-code . Jego wkład w te wczesne maszyny wirtualne polegał na rozszerzeniu kodu p od jego korzeni jako pośredniego języka kompilatora do pełnego środowiska wykonawczego. UCSD Pascal p-Machine został zoptymalizowany dla nowych małych mikrokomputerów z adresowaniem ograniczonym do 16-bitów (tylko 64 KB pamięci). James Gosling przytacza UCSD Pascal jako kluczowy wpływ (wraz z maszyną wirtualną Smalltalk ) na projekt maszyny wirtualnej Java .

UCSD p-System osiągnął niezależność maszyny, definiując maszynę wirtualną , zwaną p-Machine (lub pseudo-maszyną, którą wielu użytkowników zaczęło nazywać „Pascal-machine”, podobnie jak system operacyjny – chociaż dokumentacja UCSD zawsze używała „pseudo-maszyny” ) z własnym zestawem instrukcji zwanym kodem p (lub pseudokodem). Urs Ammann, uczeń Niklausa Wirtha , pierwotnie przedstawił w swojej pracy doktorskiej kod p , z którego wywodzi się implementacja UCSD, implementacja Zurich Pascal-P. Implementacja UCSD zmieniła implementację Zurychu na „zorientowaną na bajt”. Kod p UCSD został zoptymalizowany pod kątem wykonywania języka programowania Pascal . Każda platforma sprzętowa potrzebowała wtedy tylko programu interpretera kodu p napisanego do przeniesienia całego p-Systemu i wszystkich narzędzi do uruchomienia na nim. Późniejsze wersje zawierały również dodatkowe języki, które zostały skompilowane do bazy p-kodu. Na przykład firma Apple Computer zaoferowała kompilator Fortran (napisany przez Silicon Valley Software, Sunnyvale California) produkujący kod p, który działał w wersji p-systemu Apple. Później TeleSoft (również z siedzibą w San Diego ) zaoferował wczesne środowisko programistyczne Ada, które wykorzystywało p-code i dlatego było w stanie działać na wielu platformach sprzętowych, w tym na Motoroli 68000 , System/370 i Pascal MicroEngine .

UCSD p-System dzieli pewne koncepcje z późniejszą platformą Java . Oba używają maszyny wirtualnej do ukrywania różnic w systemie operacyjnym i sprzęcie, a oba używają programów napisanych na tej maszynie wirtualnej, aby zapewnić obsługę międzyplatformową . Podobnie oba systemy pozwalają na użycie maszyny wirtualnej jako kompletnego systemu operacyjnego komputera docelowego lub na działanie w „pudełku” pod innym systemem operacyjnym.

Kompilator UCSD Pascal był rozpowszechniany jako część przenośnego systemu operacyjnego p-System.

Historia

UCSD p-System powstał około 1974 r. jako pomysł Kennetha Bowlesa z UCSD , który uważał, że liczba nowych platform obliczeniowych pojawiających się w tym czasie utrudni nowym językom programowania uzyskanie akceptacji. Oparł UCSD Pascal na wydaniu Pascal-P2 przenośnego kompilatora z Zurychu. Szczególnie interesował się Pascalem jako językiem nauczania programowania. UCSD wprowadził dwie funkcje, które były ważnymi ulepszeniami oryginalnego Pascala: ciągi o zmiennej długości i „jednostki” niezależnie skompilowanego kodu (pomysł zawarty w rozwijającym się wówczas języku programowania Ada). Niklaus Wirth przypisuje p-System, aw szczególności UCSD Pascal, za popularyzację Pascala . Dopiero po wydaniu Turbo Pascala wersja UCSD zaczęła spadać z pierwszego miejsca wśród użytkowników Pascala.

Dialekt Pascal z UCSD Pascal pochodzi z podzbioru Pascala zaimplementowanego w Pascal-P2, który nie został zaprojektowany jako pełna implementacja języka, ale raczej jako „minimalny podzbiór, który będzie się samokompilował”, aby pasował do jego funkcji jako bootstrap kit dla kompilatorów Pascala. UCSD dodał ciągi z języka BASIC i kilka innych funkcji zależnych od implementacji. Chociaż UCSD Pascal uzyskał później wiele innych cech pełnego języka Pascal, podzbiór Pascal-P2 przetrwał w innych dialektach, zwłaszcza Borland Pascal , który skopiował większość dialektu UCSD.

Wersje

UCSD Pascal w użyciu

Istniały cztery wersje silnika p-code UCSD, każda z kilkoma wersjami p-System i UCSD Pascal. Rewizja silnika p-code (tj. p-Machine) oznaczała zmianę języka p-code, a zatem skompilowanego kodu nie można przenosić między różnymi wersjami p-Machine. Każda wersja była reprezentowana przez wiodącą cyfrę rzymską, podczas gdy wersje systemu operacyjnego były wyliczane jako liczba „kropka” po cyfrze rzymskiej w kodzie p. Na przykład II.3 reprezentuje trzecią wersję p-System działającą na drugiej wersji p-Machine.

Wersja I

Wersja oryginalna, nigdy oficjalnie nie dystrybuowana poza Uniwersytetem Kalifornijskim w San Diego . Jednak źródła Pascala dla obu wersji I.3 i I.5 były swobodnie wymieniane między zainteresowanymi użytkownikami. W szczególności poprawka I.5a była znana jako jedna z najbardziej stabilnych.

Wersja II

Szeroko rozpowszechniony, dostępny na wielu wczesnych mikrokomputerach . Liczne wersje obejmowały maszyny oparte na Apple II , DEC PDP-11 , Zilog Z80 i MOS 6502 , Motorola 68000 i IBM PC (wersja II na PC była ograniczona do jednego segmentu kodu 64K i jednego segmentu danych stosu/sterty 64K ; wersja IV została usunięta limit segmentu kodu, ale kosztuje znacznie więcej).
Członkowie projektu z tej epoki to między innymi dr Kenneth L Bowles , Mark Allen , Richard Gleaves, Richard Kaufmann, Pete Lawrence, Joel McCormack , Mark Overgaard, Keith Shillington, Roger Sumner, John Van Zandt

Wersja III

Niestandardowa wersja napisana dla Western Digital do pracy na ich mikrokomputerze Pascal MicroEngine . Po raz pierwszy włączono obsługę procesów równoległych.

Wersja IV

Wersja komercyjna, opracowana i sprzedawana przez SofTech. Na podstawie wersji II; nie zawierał zmian z wersji III. Nie sprzedawał się dobrze ze względu na kombinację ich struktury cenowej, problemów z wydajnością spowodowanych interpreterem p-kodu i konkurencji z natywnymi systemami operacyjnymi (na których często działał). Po tym, jak SofTech porzucił produkt, został on przejęty przez Pecan Systems, stosunkowo małą firmę utworzoną przez użytkowników i fanów p-System. Sprzedaż nieco ożyła, głównie dzięki rozsądnej strukturze cenowej Pecan, ale p-System i UCSD Pascal stopniowo traciły rynek na rzecz natywnych systemów operacyjnych i kompilatorów. Dostępne dla TI-99/4A wyposażonego w kartę z kodem p, Commodore CBM 8096 i Sage IV.

Dalsze wykorzystanie

Komputer Corvus Systems używał UCSD Pascal dla całego swojego oprogramowania użytkownika. „Innowacyjna koncepcja” systemu Constellation OS polegała na uruchomieniu Pascala (zinterpretowanego lub skompilowanego) i dołączeniu do podręcznika całego popularnego oprogramowania, aby użytkownicy mogli modyfikować je w razie potrzeby.

Zobacz też

Uwagi

Dalsza lektura

Linki zewnętrzne