UCSD Pascal

Fra Wikipedia, den frie encyklopedi
Hopp til navigering Hopp til søk

UCSD Pascal var en variant av programmeringsspråket Pascal, utviklet ved Institute for Information Systems, University of California, San Diego i 1978 under ledelse av professor Kenneth Bowles. Formålet med utviklingen var å styrke undervisningen i programmering og kompilator-teknologi, og å utnytte rimelige prosessor-arkitekturer som kom på markedet på siste halvdel av 1970-tallet.

Språket hadde viktige utvidelser i forhold til standard-Pascal, inklusive datatypene Unit og String, som trolig påvirket programmeringsspråket Ada.[1] Videre hadde UCSD Pascal et utvidet spekter av innebygde funksjoner (intrinsic functions) som bidro til å forenkle og effektivisere håndteringen av strenger og søking i tabeller.

UCSD Pascal var hovedkomponent i operativsystemet med samme navn - The UCSD Pascal System - senere omdøpt til UCSD p-System. Operativsystemet besto av grunnleggende verktøy for software-utvikling, og var i sin helhet skrevet i Pascal. I motsetning til de fleste systemer på den tiden, var UCSD Pascal fullstendig skjermorientert. Programmer kunne kompileres direkte fra skjerm-editoren, feilmeldinger kom tilbake på riktige steder i kildekoden og effektiviserte programutviklingen enormt.

Et viktig mål for professor Bowles var å styrke undervisningen i programmering ved å utnytte de nye og stadig rimeligere mikroprosessorbaserte systemene på markedet. Med utgangspunkt i en idé skissert av Pascal-språkets far, Niklaus Wirth noen år tidligere (i boken Algorithms + Data Structures = Programs)[2] ble det definert en virtuell maskin, kalt en 'p-maskin' eller 'pseudo-maskin' med et tilhørende instruksjonssett, 'p-code'.[3] P-koden var hardware-uavhengig og portabel. Med en relativt enkel p-kode oversetter for hver systemtype, kunne programmer flyttes og kjøres uendret på maskiner fra ulike leverandører og med forskjellige arkitekturer. P-kode oversetterne var 'interpreterende', de oversatte i sann tid. Mellomtrinnet med p-kode hadde en betydelig ytelsesmessig kostnad, men portabiliteten veide opp for denne kostnaden. I tillegg er p-koden typisk mer kompakt enn vanlig kode for en gitt maskinarkitektur.[4] P-systemet trengte 48k bytes hukommelse og tilgang til en floppy-disk enhet med minst 150kB kapasitet for å fungere.

Som den første fungerende implementasjon av en virtuell maskin, ble UCSD p-System trendsettende, og en viktig inspirasjonskilde til senere virtuelle maskiner, inklusive velkjente JVM, Java Virtual Machine.[5]

Operativsystemet ble først utviklet på arbeidsstasjoner av typen Terak 8510/a, basert på mikroprosessorvarianten av Digitals PDP-11 prosessor, LSI-11. Terak var en av verdens første mikroprosessorbaserte arbeidsstasjoner, og fant raskt et marked i teknologi-orienterte akademiske miljøer.[6] I perioden 1978 til 1983 ble det laget p-kode oversettere for en rekke prosessorer og arkitekturer: Z80, Z8, 8080, 6800, 6809, 6502, 9900 og 8086/8087/8088. Det ble også utviklet Fortran og Basic kompilatorer for systemet, i tillegg til assemblere for samtlige støttede arkitekturer. Siden alle assemblere var p-kode, og dermed kunne kjøre på alle støttede systemer, ble p-systemet en populær plattform for kryss-utvikling.

UCSD p-System ble lisensiert til og videresolgt av IBM for den opprinnelige IBM-PC, ved siden av PC-DOS og CP/M-86. IBM benyttet dessuten UCSD p-System på den mikroprosessor-baserte (Intel 8086) datamaskinen Displaywriter, som var spesiallaget for tekstbehandling. Også en rekke andre system-leverandører lisensierte systemet, inklusive Apple, som solgte det under betegnelsen 'Apple Pascal' fra 1979.[7] San Diego selskapet SofTech Microsystems Inc. startet kommersiell distribusjon og support for UCSD p-System i 1979.

Det ble utgitt en rekke bøker om UCSD Pascal og p-systemet. Hele systemet ble open sourcet på 2000-tallet - inklusive kode og dokumentasjon for de fleste varianter.[8]

Referanser[rediger | rediger kilde]

  1. ^ (en) Kenneth Bowles (22. oktober 2004). «Some Insights for UCSD Pascal Generation». Besøkt 10. oktober 2017. «UCSD Pascal Units probably influenced Ada Packages» 
  2. ^ Niklaus,, Wirth, (1976). Algorithms + data structures=programs. Englewood Cliffs, N.J.: Prentice-Hall. ISBN 9780130224187. OCLC 1324351. 
  3. ^ «» Pascal and the P-Machine The Digital Antiquarian». www.filfre.net (engelsk). Besøkt 13. november 2017. 
  4. ^ C. A. Irvine (16. august 1980). «UCSD System makes programs portable». Electronic Design. 
  5. ^ «A Conversation with James Gosling - ACM Queue». queue.acm.org. Besøkt 14. november 2017. 
  6. ^ «Jefferson Computer Museum - Terak Museum». www.threedee.com. Besøkt 13. november 2017. 
  7. ^ Softech Microsystems (1983). UCSD p-System for the Apple II Computer. Softech Inc. 
  8. ^ «UCSD P-System – Pascal for small machines». pascal.hansotten.com (engelsk). Besøkt 13. november 2017. 

Eksterne lenker[rediger | rediger kilde]