UCSD Pascal
This article needs additional citations for verification. (July 2011) |
TI 99/4A, BBC Micro | |
Kernel type | p-code virtual machine |
---|
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).
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 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]
Notable extensions to standard Pascal include separately compilable
UCSD Pascal was based on a
UCSD p-System achieved machine independence by defining a
UCSD p-System shares some concepts with the later
The UCSD Pascal compiler was distributed as part of a portable operating system, the p-System.
History
UCSD p-System began around 1974 as the idea of UCSD's
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
Versions
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
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
Widely distributed, available on many early
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
Custom version written for Western Digital to run on their Pascal MicroEngine microcomputer. Included support for parallel processes for the first time.
Version IV
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
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
Notes
- ^ 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.
- 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 Packages
Further reading
- Foster, Christine (September 2004). "UCSD Pascal and the PC Revolution". @UCSD. 1 (3). San Diego: UCSD Alumni Association. Archived from the original on 2012-03-06.
- Hyde, Randall (1983). p-Source (A Guide to the Apple Pascal System). ISBN 0881900044.
- McMillan, William W. (July 2011). "The Soul of the Virtual Machine". S2CID 40545952.
External links
- As 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
- 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