Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
UCSD Pascal
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==The p-System== 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 [[microcomputer]]s as well as campus [[Digital Equipment Corporation|DEC]] [[PDP-11]] [[minicomputer]]s. The operating system became known as UCSD p-System. There were three operating systems that [[IBM]] offered for its original [[IBM Personal Computer|IBM PC]]. The first was UCSD p-System, with [[IBM PC DOS]] and [[CP/M-86]] as the other two.<ref name="williams198201">{{cite news | url=https://archive.org/stream/byte-magazine-1982-01/1982_01_BYTE_07-01_The_IBM_Personal_Computer#page/n37/mode/2up | title=A Closer Look at the IBM Personal Computer | work=BYTE | date=January 1982 | access-date=19 October 2013 | author=Williams, Gregg | pages=36}}</ref> Vendor [[SofTech|SofTech Microsystems]]<ref>{{Cite web|url = http://bitsavers.trailing-edge.com/pdf/softech/Softech_IV_AppleII_Mar83.pdf|title = SOFTECH MICROSYSTEMS UCSD p-SYSTEM VERSION IV FOR THE APPLE II COMPUTER}}</ref> 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;<ref name="edlinbunnell19820203">{{cite news | url=https://books.google.com/books?id=w_OhaFDePS4C&pg=PA42 | title=IBM's New Personal Computer: Taking the Measure / Part One | work=PC Magazine | date=February–March 1982 | access-date=20 October 2013 |author1=Edlin, Jim |author2=Bunnell, David | pages=42}}</ref> advertisements called it "the Universal Operating System".<ref name="byte198208">{{cite news | url=https://archive.org/stream/byte-magazine-1982-08/1982_08_BYTE_07-08_Logo#page/n193/mode/2up | title=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. | work=BYTE | date=August 1982 | access-date=19 October 2013 | author=Advertisement | pages=191, 193–195}}</ref> ''[[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".<ref name="zachmann198306">{{cite news | url=https://books.google.com/books?id=14Kfbrc6cbAC&pg=PA123 | title=Context MBA: Half A Step In The Right Direction | work=PC Magazine | date=June 1983 | access-date=21 October 2013 | author=Zachmann, Mark S. | pages=123}}</ref> 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 System|IBM Displaywriter]], an [[Intel 8086|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 ''[[Unit (Software Development)|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-hosting (compilers)|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.{{clarify|date=October 2010}} 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 (programming language)|Java]] virtual machine.<ref>{{cite web |url = http://queue.acm.org/detail.cfm?id=1017013 |title = A Conversation with James Gosling |last = Allman |first = Eric |date = 1 July 2004 |work = [[ACM Queue]] |publisher = [[Association for Computing Machinery]] |access-date = 24 December 2012 }}</ref> 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,<ref>{{Cite journal | last1 = Ammann | first1 = U. | title = On code generation in a PASCAL compiler | doi = 10.1002/spe.4380070311 | journal = Software: Practice and Experience | volume = 7 | issue = 3 | pages = 391–423 | year = 1977 | hdl = 20.500.11850/68668 | s2cid = 2143405 | hdl-access = free }}</ref> 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<ref>{{Cite web|url = http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Software/Languages/Apple%20II%20FORTRAN/Manuals/Apple%20FORTRAN%20Language%20Reference%20Manual.pdf|title = Apple Fortran Language Reference Manual}}</ref> (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 (programming language)|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)