fbpx
Wikipedia

UCSD Pascal

UCSD Pascal is a Pascal programming language system that runs on the UCSD p-System, a portable, highly machine-independent operating system. UCSD Pascal was first released in 1977. It was developed at the University of California, San Diego (UCSD).

UCSD Pascal/p-System
Logo of Version IV
DeveloperUniversity of California, San Diego, SofTech, Pecan
OS familyp-code operating systems
Working stateHistoric
Initial releaseAugust 1977; 46 years ago (1977-08)
Latest releaseIV.2.2 R1.1 / December 1987; 36 years ago (1987-12)
Available inEnglish
PlatformsApple II, DEC PDP-11, Intel 8080, Zilog Z80, MOS 6502, Motorola 68000, x86, Osborne Executive, Pascal MicroEngine, TI 99/4A, BBC Micro
Kernel typep-code virtual machine

The p-System edit

In 1977, the University of California, San Diego (UCSD) Institute for Information Systems developed UCSD Pascal to provide students with a common environment that could run on any of the then available microcomputers as well as campus DEC PDP-11 minicomputers. The operating system became known as UCSD p-System.

There were three operating systems that IBM offered for its original IBM PC. The first was UCSD p-System, with IBM PC DOS and CP/M-86 as the other two.[1] Vendor SofTech Microsystems[2] emphasized p-System's application portability, with virtual machines for 20 CPUs as of the IBM PC's release. It predicted that users would be able to use applications they purchased on future computers running p-System;[3] advertisements called it "the Universal Operating System".[4]

PC Magazine denounced UCSD p-System on the IBM PC, stating in a review of Context MBA, written in the language, that it "simply does not produce good code".[5] The p-System did not sell very well for the IBM PC, because of a lack of applications and because it was more expensive than the other choices. Previously, IBM had offered the UCSD p-System as an option for IBM Displaywriter, an 8086-based dedicated word processing machine. (The Displaywriter's native operating system had been developed completely internally and was not opened for end-user programming.)

Notable extensions to standard Pascal include separately compilable Units and a String type. Some intrinsics were provided to accelerate string processing (e.g. scanning in an array for a particular search pattern); other language extensions were provided to allow the UCSD p-System to be self-compiling and self-hosted.

UCSD Pascal was based on a p-code machine architecture. Its contribution to these early virtual machines was to extend p-code away from its roots as a compiler intermediate language into a full execution environment.[clarification needed] The UCSD Pascal p-Machine was optimized for the new small microcomputers with addressing restricted to 16-bit (only 64 KB of memory). James Gosling cites UCSD Pascal as a key influence (along with the Smalltalk virtual machine) on the design of the Java virtual machine.[6]

UCSD p-System achieved machine independence by defining a virtual machine, called the p-Machine (or pseudo-machine, which many users began to call the "Pascal-machine" like the OS—although UCSD documentation always used "pseudo-machine") with its own instruction set called p-code (or pseudo-code). Urs Ammann, a student of Niklaus Wirth, originally presented a p-code in his PhD thesis,[7] from which the UCSD implementation was derived, the Zurich Pascal-P implementation. The UCSD implementation changed the Zurich implementation to be "byte oriented". The UCSD p-code was optimized for execution of the Pascal programming language. Each hardware platform then only needed a p-code interpreter program written for it to port the entire p-System and all the tools to run on it. Later versions also included additional languages that compiled to the p-code base. For example, Apple Computer offered a Fortran Compiler[8] (written by Silicon Valley Software, Sunnyvale California) producing p-code that ran on the Apple version of the p-system. Later, TeleSoft (also located in San Diego) offered an early Ada development environment that used p-code and was therefore able to run on a number of hardware platforms including the Motorola 68000, the System/370, and the Pascal MicroEngine.

UCSD p-System shares some concepts with the later Java platform. Both use a virtual machine to hide operating system and hardware differences, and both use programs written to that virtual machine to provide cross-platform support. Likewise both systems allow the virtual machine to be used either as the complete operating system of the target computer or to run in a "box" under another operating system.

The UCSD Pascal compiler was distributed as part of a portable operating system, the p-System.

History edit

UCSD p-System began around 1974 as the idea of UCSD's Kenneth Bowles,[9] who believed that the number of new computing platforms coming out at the time would make it difficult for new programming languages to gain acceptance. He based UCSD Pascal on the Pascal-P2 release of the portable compiler from Zurich. He was particularly interested in Pascal as a language to teach programming. UCSD introduced two features that were important improvements on the original Pascal: variable length strings, and "units" of independently compiled code (an idea included into the then-evolving Ada programming language). Niklaus Wirth credits the p-System, and UCSD Pascal in particular, with popularizing Pascal. It was not until the release of Turbo Pascal that UCSD's version started to slip from first place among Pascal users.

The Pascal dialect of UCSD Pascal came from the subset of Pascal implemented in Pascal-P2, which was not designed to be a full implementation of the language, but rather "the minimum subset that would self-compile", to fit its function as a bootstrap kit for Pascal compilers. UCSD added strings from BASIC, and several other implementation dependent features. Although UCSD Pascal later obtained many of the other features of the full Pascal language, the Pascal-P2 subset persisted in other dialects, notably Borland Pascal, which copied much of the UCSD dialect.

Versions edit

 
UCSD Pascal in use

There were four versions of UCSD p-code engine, each with several revisions of the p-System and UCSD Pascal. A revision of the p-code engine (i.e., the p-Machine) meant a change to the p-code language, and therefore compiled code is not portable between different p-Machine versions. Each revision was represented with a leading Roman Numeral, while operating system revisions were enumerated as the "dot" number following the p-code Roman Numeral. For example, II.3 represented the third revision of the p-System running on the second revision of the p-Machine.

Version I edit

Original version, never officially distributed outside of the University of California, San Diego. However, the Pascal sources for both Versions I.3 and I.5 were freely exchanged between interested users. Specifically, the patch revision I.5a was known to be one of the most stable.

Version II edit

Widely distributed, available on many early microcomputers. Numerous versions included Apple II, DEC PDP-11, Intel 8080, Zilog Z80 and MOS 6502 based machines, Motorola 68000 and the IBM PC (Version II on the PC was restricted to one 64K code segment and one 64K stack/heap data segment; Version IV removed the code segment limit but cost a lot more[quantify]).

Project members from this era include Dr Kenneth L Bowles, Mark Allen, Richard Gleaves, Richard Kaufmann, Pete Lawrence, Joel McCormack, Mark Overgaard, Keith Shillington, Roger Sumner, and John Van Zandt.

Version III edit

Custom version written for Western Digital to run on their Pascal MicroEngine microcomputer. Included support for parallel processes for the first time.

Version IV edit

Commercial version, developed and sold by SofTech. Based on Version II; did not include changes from Version III. Did not sell well due to combination of their pricing structure, performance problems due to p-code interpreter, and competition with native operating systems (on top of which it often ran). After SofTech dropped the product, it was picked up by Pecan Systems, a relatively small company formed of p-System users and fans. Sales revived somewhat, due mostly to Pecan's reasonable pricing structure, but the p-System and UCSD Pascal gradually lost the market to native operating systems and compilers. Available for the TI-99/4A equipped with p-code card, Commodore CBM 8096, Sage IV, HP 9000, and BBC Micro with 6502 second processor.

Further use edit

The Corvus Systems computer used UCSD Pascal for all its user software. The "innovative concept" of the Constellation OS was to run Pascal (interpretively or compiled) and include all common software in the manual, so users could modify as needed.

See also edit

Notes edit

  1. ^ Williams, Gregg (January 1982). "A Closer Look at the IBM Personal Computer". BYTE. p. 36. Retrieved 19 October 2013.
  2. ^ "SOFTECH MICROSYSTEMS UCSD p-SYSTEM VERSION IV FOR THE APPLE II COMPUTER" (PDF).
  3. ^ Edlin, Jim; Bunnell, David (February–March 1982). "IBM's New Personal Computer: Taking the Measure / Part One". PC Magazine. p. 42. Retrieved 20 October 2013.
  4. ^ Advertisement (August 1982). "This person develops applications for the entire market, including the Z-80, 8080, 8086/8088, 6502, LSI-11/PDP-11, 9900, and the M68000 with the best there is". BYTE. pp. 191, 193–195. Retrieved 19 October 2013.
  5. ^ Zachmann, Mark S. (June 1983). "Context MBA: Half A Step In The Right Direction". PC Magazine. p. 123. Retrieved 21 October 2013.
  6. ^ Allman, Eric (1 July 2004). "A Conversation with James Gosling". ACM Queue. Association for Computing Machinery. Retrieved 24 December 2012.
  7. ^ Ammann, U. (1977). "On code generation in a PASCAL compiler". Software: Practice and Experience. 7 (3): 391–423. doi:10.1002/spe.4380070311. hdl:20.500.11850/68668. S2CID 2143405.
  8. ^ "Apple Fortran Language Reference Manual" (PDF).
  9. ^ Bowles, Ken (22 October 2004). . Archived from the original on 4 March 2016. Retrieved 13 February 2011. UCSD Pascal Units probably influenced Ada Packages

Further reading edit

  • Foster, Christine (September 2004). . @UCSD. San Diego: UCSD Alumni Association. 1 (3). Archived from the original on 2012-03-06.
  • Hyde, Randall (1983). p-Source (A Guide to the Apple Pascal System). Datamost. ISBN 0881900044.
  • McMillan, William W. (July 2011). "The Soul of the Virtual Machine". IEEE Spectrum. IEEE. 48 (7): 44–49, 58–59. doi:10.1109/mspec.2011.5910448. ISSN 0018-9235. S2CID 40545952.

External links edit

  • As of May 2006, UCSD has released portions of the p-System written before June 1, 1979, for non-commercial use. (Note: Webpage resizes browser window.)
  • UCSD Pascal Reunion, Presentations and Videos from a UCSD Pascal Reunion held at UCSD on October 22, 2004
  • PowerPoint and Video of "What the Heck was UCSD Pascal?," presented at the 2004 reunion PPT and Video
  • ucsd-psystem-os, cross-compilable source code for the UCSD p-System version II.0
  • ucsd-psystem-vm, a portable virtual machine for UCSD p-System p-code
  • A reconstruction of the UCSD Pascal System II.0 User Manual
  • Softech P-System disassembler
  • UCSD P-System Museum within the Jefferson Computer Museum
  • UCSD P-System 2014-05-06 at the Wayback Machine at Pascal for Small Machines

ucsd, pascal, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books, scholar, jstor, july, 2011, l. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources UCSD Pascal news newspapers books scholar JSTOR July 2011 Learn how and when to remove this template message UCSD Pascal is a Pascal programming language system that runs on the UCSD p System a portable highly machine independent operating system UCSD Pascal was first released in 1977 It was developed at the University of California San Diego UCSD UCSD Pascal p SystemLogo of Version IVDeveloperUniversity of California San Diego SofTech PecanOS familyp code operating systemsWorking stateHistoricInitial releaseAugust 1977 46 years ago 1977 08 Latest releaseIV 2 2 R1 1 December 1987 36 years ago 1987 12 Available inEnglishPlatformsApple II DEC PDP 11 Intel 8080 Zilog Z80 MOS 6502 Motorola 68000 x86 Osborne Executive Pascal MicroEngine TI 99 4A BBC MicroKernel typep code virtual machine Contents 1 The p System 2 History 3 Versions 3 1 Version I 3 2 Version II 3 3 Version III 3 4 Version IV 4 Further use 5 See also 6 Notes 7 Further reading 8 External linksThe p System editIn 1977 the University of California San Diego UCSD Institute for Information Systems developed UCSD Pascal to provide students with a common environment that could run on any of the then available microcomputers as well as campus DEC PDP 11 minicomputers The operating system became known as UCSD p System There were three operating systems that IBM offered for its original IBM PC The first was UCSD p System with IBM PC DOS and CP M 86 as the other two 1 Vendor SofTech Microsystems 2 emphasized p System s application portability with virtual machines for 20 CPUs as of the IBM PC s release It predicted that users would be able to use applications they purchased on future computers running p System 3 advertisements called it the Universal Operating System 4 PC Magazine denounced UCSD p System on the IBM PC stating in a review of Context MBA written in the language that it simply does not produce good code 5 The p System did not sell very well for the IBM PC because of a lack of applications and because it was more expensive than the other choices Previously IBM had offered the UCSD p System as an option for IBM Displaywriter an 8086 based dedicated word processing machine The Displaywriter s native operating system had been developed completely internally and was not opened for end user programming Notable extensions to standard Pascal include separately compilable Units and a String type Some intrinsics were provided to accelerate string processing e g scanning in an array for a particular search pattern other language extensions were provided to allow the UCSD p System to be self compiling and self hosted UCSD Pascal was based on a p code machine architecture Its contribution to these early virtual machines was to extend p code away from its roots as a compiler intermediate language into a full execution environment clarification needed The UCSD Pascal p Machine was optimized for the new small microcomputers with addressing restricted to 16 bit only 64 KB of memory James Gosling cites UCSD Pascal as a key influence along with the Smalltalk virtual machine on the design of the Java virtual machine 6 UCSD p System achieved machine independence by defining a virtual machine called the p Machine or pseudo machine which many users began to call the Pascal machine like the OS although UCSD documentation always used pseudo machine with its own instruction set called p code or pseudo code Urs Ammann a student of Niklaus Wirth originally presented a p code in his PhD thesis 7 from which the UCSD implementation was derived the Zurich Pascal P implementation The UCSD implementation changed the Zurich implementation to be byte oriented The UCSD p code was optimized for execution of the Pascal programming language Each hardware platform then only needed a p code interpreter program written for it to port the entire p System and all the tools to run on it Later versions also included additional languages that compiled to the p code base For example Apple Computer offered a Fortran Compiler 8 written by Silicon Valley Software Sunnyvale California producing p code that ran on the Apple version of the p system Later TeleSoft also located in San Diego offered an early Ada development environment that used p code and was therefore able to run on a number of hardware platforms including the Motorola 68000 the System 370 and the Pascal MicroEngine UCSD p System shares some concepts with the later Java platform Both use a virtual machine to hide operating system and hardware differences and both use programs written to that virtual machine to provide cross platform support Likewise both systems allow the virtual machine to be used either as the complete operating system of the target computer or to run in a box under another operating system The UCSD Pascal compiler was distributed as part of a portable operating system the p System History editUCSD p System began around 1974 as the idea of UCSD s Kenneth Bowles 9 who believed that the number of new computing platforms coming out at the time would make it difficult for new programming languages to gain acceptance He based UCSD Pascal on the Pascal P2 release of the portable compiler from Zurich He was particularly interested in Pascal as a language to teach programming UCSD introduced two features that were important improvements on the original Pascal variable length strings and units of independently compiled code an idea included into the then evolving Ada programming language Niklaus Wirth credits the p System and UCSD Pascal in particular with popularizing Pascal It was not until the release of Turbo Pascal that UCSD s version started to slip from first place among Pascal users The Pascal dialect of UCSD Pascal came from the subset of Pascal implemented in Pascal P2 which was not designed to be a full implementation of the language but rather the minimum subset that would self compile to fit its function as a bootstrap kit for Pascal compilers UCSD added strings from BASIC and several other implementation dependent features Although UCSD Pascal later obtained many of the other features of the full Pascal language the Pascal P2 subset persisted in other dialects notably Borland Pascal which copied much of the UCSD dialect Versions edit nbsp UCSD Pascal in useThere were four versions of UCSD p code engine each with several revisions of the p System and UCSD Pascal A revision of the p code engine i e the p Machine meant a change to the p code language and therefore compiled code is not portable between different p Machine versions Each revision was represented with a leading Roman Numeral while operating system revisions were enumerated as the dot number following the p code Roman Numeral For example II 3 represented the third revision of the p System running on the second revision of the p Machine Version I edit Original version never officially distributed outside of the University of California San Diego However the Pascal sources for both Versions I 3 and I 5 were freely exchanged between interested users Specifically the patch revision I 5a was known to be one of the most stable Version II edit Widely distributed available on many early microcomputers Numerous versions included Apple II DEC PDP 11 Intel 8080 Zilog Z80 and MOS 6502 based machines Motorola 68000 and the IBM PC Version II on the PC was restricted to one 64K code segment and one 64K stack heap data segment Version IV removed the code segment limit but cost a lot more quantify Project members from this era include Dr Kenneth L Bowles Mark Allen Richard Gleaves Richard Kaufmann Pete Lawrence Joel McCormack Mark Overgaard Keith Shillington Roger Sumner and John Van Zandt Version III edit Custom version written for Western Digital to run on their Pascal MicroEngine microcomputer Included support for parallel processes for the first time Version IV edit Commercial version developed and sold by SofTech Based on Version II did not include changes from Version III Did not sell well due to combination of their pricing structure performance problems due to p code interpreter and competition with native operating systems on top of which it often ran After SofTech dropped the product it was picked up by Pecan Systems a relatively small company formed of p System users and fans Sales revived somewhat due mostly to Pecan s reasonable pricing structure but the p System and UCSD Pascal gradually lost the market to native operating systems and compilers Available for the TI 99 4A equipped with p code card Commodore CBM 8096 Sage IV HP 9000 and BBC Micro with 6502 second processor Further use editThe Corvus Systems computer used UCSD Pascal for all its user software The innovative concept of the Constellation OS was to run Pascal interpretively or compiled and include all common software in the manual so users could modify as needed See also editP code machineNotes edit Williams Gregg January 1982 A Closer Look at the IBM Personal Computer BYTE p 36 Retrieved 19 October 2013 SOFTECH MICROSYSTEMS UCSD p SYSTEM VERSION IV FOR THE APPLE II COMPUTER PDF Edlin Jim Bunnell David February March 1982 IBM s New Personal Computer Taking the Measure Part One PC Magazine p 42 Retrieved 20 October 2013 Advertisement August 1982 This person develops applications for the entire market including the Z 80 8080 8086 8088 6502 LSI 11 PDP 11 9900 and the M68000 with the best there is BYTE pp 191 193 195 Retrieved 19 October 2013 Zachmann Mark S June 1983 Context MBA Half A Step In The Right Direction PC Magazine p 123 Retrieved 21 October 2013 Allman Eric 1 July 2004 A Conversation with James Gosling ACM Queue Association for Computing Machinery Retrieved 24 December 2012 Ammann U 1977 On code generation in a PASCAL compiler Software Practice and Experience 7 3 391 423 doi 10 1002 spe 4380070311 hdl 20 500 11850 68668 S2CID 2143405 Apple Fortran Language Reference Manual PDF Bowles Ken 22 October 2004 Some Insights for UCSD Pascal Generation Archived from the original on 4 March 2016 Retrieved 13 February 2011 UCSD Pascal Units probably influenced Ada PackagesFurther reading editFoster Christine September 2004 UCSD Pascal and the PC Revolution UCSD San Diego UCSD Alumni Association 1 3 Archived from the original on 2012 03 06 Hyde Randall 1983 p Source A Guide to the Apple Pascal System Datamost ISBN 0881900044 McMillan William W July 2011 The Soul of the Virtual Machine IEEE Spectrum IEEE 48 7 44 49 58 59 doi 10 1109 mspec 2011 5910448 ISSN 0018 9235 S2CID 40545952 External links editAs of May 2006 update UCSD has released portions of the p System written before June 1 1979 for non commercial use Note Webpage resizes browser window UCSD Pascal Reunion Presentations and Videos from a UCSD Pascal Reunion held at UCSD on October 22 2004 PowerPoint and Video of What the Heck was UCSD Pascal presented at the 2004 reunion PPT and Video ucsd psystem os cross compilable source code for the UCSD p System version II 0 ucsd psystem vm a portable virtual machine for UCSD p System p code A reconstruction of the UCSD Pascal System II 0 User Manual Softech P System disassembler UCSD P System Museum within the Jefferson Computer Museum UCSD P System Archived 2014 05 06 at the Wayback Machine at Pascal for Small Machines Retrieved from https en wikipedia org w index php title UCSD Pascal amp oldid 1202077038, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.