All Topics  
UCSD Pascal

 

   Email Print
   Bookmark   Link






 

UCSD Pascal



 
 
UCSD Pascal or UCSD p-System was a portable, highly machine-independent operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
. The University of California, San Diego
University of California, San Diego

The University of California, San Diego is a public research university in San Diego, California, California. The school's campus contains 694 buildings and is located in the La Jolla, San Diego, California community....
 Institute for Information Systems developed it in 1978 to provide students with a common operating system that could run on any of the then available microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
s as well as campus DEC
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
 minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
s. UCSD p-System (Version IV, supplied by SofTech) was one of three operating systems (along with PC-DOS
PC-DOS

IBM PC DOS was a DOS operating system for the IBM Personal Computer, sold throughout the 1980s and 2000s....
 and CP/M-86
CP/M-86

CP/M-86 was a version of the CP/M operating system that Digital Research made for the Intel 8086 and Intel 8088. The commands are those of CP/M-80....
) that IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 offered for its original IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
; but the p-System never sold very well for the IBM PC, mainly because of a lack of applications and because it was more expensive than the other choices.






Discussion
Ask a question about 'UCSD Pascal'
Start a new discussion about 'UCSD Pascal'
Answer questions from other users
Full Discussion Forum



Encyclopedia


UCSD Pascal or UCSD p-System was a portable, highly machine-independent operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
. The University of California, San Diego
University of California, San Diego

The University of California, San Diego is a public research university in San Diego, California, California. The school's campus contains 694 buildings and is located in the La Jolla, San Diego, California community....
 Institute for Information Systems developed it in 1978 to provide students with a common operating system that could run on any of the then available microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
s as well as campus DEC
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
 minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
s. UCSD p-System (Version IV, supplied by SofTech) was one of three operating systems (along with PC-DOS
PC-DOS

IBM PC DOS was a DOS operating system for the IBM Personal Computer, sold throughout the 1980s and 2000s....
 and CP/M-86
CP/M-86

CP/M-86 was a version of the CP/M operating system that Digital Research made for the Intel 8086 and Intel 8088. The commands are those of CP/M-80....
) that IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 offered for its original IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
; but the p-System never sold very well for the IBM PC, mainly because of a lack of applications and because it was more expensive than the other choices. Before that, IBM used the UCSD p-System as the operating system for its Displaywriter, a microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
-based dedicated word processing machine (not to be confused with IBM's DisplayWrite
DisplayWrite

DisplayWrite was a word processor software application that International Business Machines developed and marketed for its line of IBM PCs. Its document files used the RFT or DCA filename extension, both of which were standards on IBM mainframe computers....
 word processing software).

Notable extensions to standard Pascal include separately compilable Units and a String type. Both of these extensions influenced the design of the Ada programming language. 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
P-Code machine

In computer programming, a p-code machine or pseudo-code machine is a virtual machine designed to execute p-code . This term is applied both generically to all such machines , and to specific implementations, the most famous being the p-Machine of UCSD Pascal....
 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. The UCSD Pascal p-Machine was optimized for the new small microcomputers with addressing restricted to 16-bit (only 64KB of memory). James Gosling
James Gosling

James A. Gosling, Order of Canada, Doctor of Philosophy is a famous software developer, best known as the father of the Java ....
 cites UCSD Pascal as a key influence (along with the Smalltalk
Smalltalk

Smalltalk is an Object-oriented programming, Type system, reflection computer programming programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human?computer symbiosis." It was designed and created in part for educational use, more so for constructionist learning, at PARC by Al...
 virtual machine) on the design of the Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 virtual machine.

UCSD p-System achieved machine independence by defining a virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
, 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
Instruction set

An instruction set is a list of all the instruction , and all their variations, that a processor can execute.Instructions include:* Arithmetic such as add and subtract...
 called p-code
P-code

P-code can refer to:* p-code machine * Code used in the UCSD p-System * P-code is also part of the Global Positioning System signal* In the automotive industry, P-codes are engine diagnostic codes displayed by an OBD-II scanner....
 (or pseudo-code). Urs Ammann, a student of Niklaus Wirth
Niklaus Wirth

Niklaus Emil Wirth is a Switzerland computer science, best known for designing several programming languages, including Pascal , and for pioneering several classic topics in software engineering....
, originally presented p-code in his PhD thesis (see Urs Aman, On Code Generation in a Pascal Compiler, Software—Practice and Experience, Vol. 7, No. 3, 1977, pp. 391–423). This p-code was optimized for generation by the Pascal programming language, and all the original development was done in UCSD Pascal
UCSD Pascal

UCSD Pascal or UCSD p-System was a portable, highly machine-independent operating system. The University of California, San Diego Institute for Information Systems developed it in 1978 to provide students with a common operating system that could run on any of the then available microcomputers as well as campus Digital Equipment Corpora...
. 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, 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
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
, the System/370
System/370

The IBM System/370 was a model range of IBM mainframes announced on June 30, 1970 as the successors to the System/360 family. The series maintained backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement....
, and the Pascal MicroEngine
Pascal MicroEngine

The Pascal MicroEngine was a series of products manufactured by Western Digital from 1979 through the mid 1980s, designed specifically to efficiently run the UCSD p-System....
.

UCSD p-System shares some concepts with the more current 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
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 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
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
, the p-System.

History

UCSD p-System began around 1977 as the idea of UCSD's Kenneth Bowles, 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 was particularly interested in Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
 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 taken from the then-evolving Ada programming language). Niklaus Wirth
Niklaus Wirth

Niklaus Emil Wirth is a Switzerland computer science, best known for designing several programming languages, including Pascal , and for pioneering several classic topics in software engineering....
 credits the p-System, and UCSD Pascal in particular, with popularizing Pascal. It was not until the release of Turbo Pascal
Turbo Pascal

Turbo Pascal is a complete software development system that includes a compiler and an Integrated Development Environment for the Pascal programming language running under CP/M, CP/M-86, and MS-DOS, developed by Borland under Philippe Kahn's leadership....
 that UCSD's version started to slip from first place among Pascal users.

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 microcomputer
Microcomputer

A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers....
s. Numerous versions included Apple II, DEC
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
, Zilog Z80
Zilog Z80

The Zilog Z80 is an 8-bit microprocessor designed and sold by Zilog from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes....
 and MOS 6502 based machines, Motorola 68000
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
 and the IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
 (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).
  • Version III
Custom version written for Western Digital
Western Digital

Western Digital Corporation is a manufacturer of computer hard disk drives, and has a long history in the electronics industry as an integrated circuit maker and a storage products company....
 to run on their Pascal MicroEngine
Pascal MicroEngine

The Pascal MicroEngine was a series of products manufactured by Western Digital from 1979 through the mid 1980s, designed specifically to efficiently run the UCSD p-System....
 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 (which it often ran on top of). 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.

See also

  • Pascal programming language
  • P-code machine
    P-Code machine

    In computer programming, a p-code machine or pseudo-code machine is a virtual machine designed to execute p-code . This term is applied both generically to all such machines , and to specific implementations, the most famous being the p-Machine of UCSD Pascal....


External links

  • As of May, 2006 UCSD has written before June 1, 1979 for non-commercial use. (warning: link resizes browser window!)
  • There was a 30th reunion of the UCSD Pascal team at UCSD. and are available from the event.
  • The has a virtual exhibit of UCSD Pascal's history.
  • pages on Pascal.
  • where UCSD Pascal is discussed.
  • Gosling's ACM Interview, see .