Unisys OS 2200 programming languages

Last updated

OS 2200 has had several generations of compilers and linkers in its history supporting a wide variety of programming languages. In the first releases, the Exec II assembler (SLEUTH) and compilers were used. The assembler was quickly replaced with an updated version (ASM) designed specifically for the 1108 computer and Exec 8 but the early compilers continued in use for quite some time.

Programming language language designed to communicate instructions to a machine

A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.

EXEC II is a discontinued operating system developed for the UNIVAC 1107 by Computer Sciences Corporation (CSC) while under contract to UNIVAC to develop the machine's COBOL compiler. They developed EXEC II because Univac's EXEC I operating system development was late. Because of this the COBOL compiler was actually designed to run under EXEC II, not EXEC I as specified in the original contract.

Contents

Universal Compiling System

The modern compiling system for OS 2200 is known as UCS, Universal Compiling System. [1] The UCS architecture uses a common syntax analyzer, separate semantic front ends for each language and a common back-end and optimizer. There is also a common language runtime environment. The UCS system was developed starting in 1969 and initially included PL/I and Pascal. FORTRAN and COBOL were soon added. Ada was added later. The currently supported languages include COBOL, [2] FORTRAN, [3] C, [4] and PLUS. [5] PLUS, Programming Language for Unisys (originally UNIVAC) Systems, is a block structured language somewhat similar to Pascal which it predates. [6]

PL/I is a procedural, imperative computer programming language designed for scientific, engineering, business and system programming uses. It has been used by various academic, commercial and industrial organizations since it was introduced in the 1960s, and continues to be actively used.

Pascal is an imperative and procedural programming language, which Niklaus Wirth designed in 1968–69 and published in 1970, as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal.

Fortran General-purpose programming language

Fortran is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

Legacy compilers

Previous PLUS, COBOL [7] and FORTRAN [8] compilers are also still supported. An even earlier FORTRAN compiler (FORTRAN V), while no longer supported, is still in use for an application developed in the 1960s in that language.

Compilers previously existed for ALGOL, Simula, BASIC, Lisp, NELIAC, JOVIAL, and other programming languages that are no longer in use on the ClearPath OS 2200 systems.

ALGOL is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.

Simula programming language

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is a fairly faithful superset of ALGOL 60, also influenced by the design of Simscript.

BASIC programming language

BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.

Assembler

The assembler, MASM, [9] is heavily used both to obtain the ultimate in efficiency and to implement system calls that are not native to the programming language. Much of the MASM code in current use is a carryover from earlier days when compiler technology was not as advanced and when the machines were much slower and more constrained by memory size than today.

Linking

There are two linking systems used. The collector (@MAP) [10] combines the output relocatable elements of the basic-mode compilers and assemblers into an absolute element which is directly executable. While this linker is intended primarily to support basic mode, the relocatable and absolute elements may contain extended-mode as well. This is often the case when an existing application is enhanced to use extended mode or call extended mode libraries but still contains some basic mode code. The Exec is an example of such a program.

The linker (@LINK) is the modern linking environment which combines object modules into a new object module. It provides both static and dynamic linking capabilities. The most common usage is to combine the object modules of a program statically but to allow dynamic linking to libraries. [11]

Java

OS 2200 provides a complete Java environment. [12]

OS 2200 Java.png

Java on OS 2200 has evolved from an interesting additional capability for small servlets and tools to a full environment capable of handling large applications. The Virtual Machine for the Java Platform on ClearPath OS 2200 JProcessor is a Linux port of the Oracle Corporation Java release. The environment includes a full J2EE application server environment using the Tomcat open source web server from the Apache Software Foundation and the JBoss application server. [13] All of this has been integrated with the OS 2200 security, databases, and recovery environment.

Related Research Articles

Burroughs large systems

In the 1970s, Burroughs Corporation was organized into three divisions with very different product line architectures for high-end, mid-range, and entry-level business computer systems. Each division's product line grew from a different concept for how to optimize a computer's instruction set for particular programming languages. The Burroughs Large Systems Group designed large mainframes using stack machine instruction sets with dense syllables and 48-bit data words. The first such design is the B5000 in 1961. It is optimized for running ALGOL 60 extremely well, using simple compilers. It evolved into the B5500. Subsequent major redesigns include the B6500/B6700 line and its successors, and the separate B8500 line. 'Burroughs Large Systems' referred to all of these product lines together, in contrast to the COBOL-optimized Medium Systems or the flexible-architecture Small Systems (B1000).

TOPS-10 System is a discontinued operating system from Digital Equipment Corporation (DEC) for the PDP-10 mainframe computer family. Launched in 1967, TOPS-10 evolved from the earlier "Monitor" software for the PDP-6 and PDP-10 computers; this was renamed to TOPS-10 in 1970.

VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993 and was discontinued April 30, 2007 and its web page removed in September 2011. VisualAge was also marketed as VisualAge Smalltalk. IBM has stated that XL C/C++ is the followup product to VisualAge.

WATFIV, or WATerloo FORTRAN IV, developed at the University of Waterloo, Canada is an implementation of the Fortran computer programming language. It is the successor of WATFOR.

The USAS application suite is a series of diverse and relatively complex mainframe applications written for the Unisys 1100-series, 2200-series, and Clearpath IX environments. These applications are generally intended for use in the airline, transportation, and hospitality industries.

The Burroughs B2500 through Burroughs B4900 was a series of mainframe computers developed and manufactured by Burroughs Corporation in Pasadena, California, United States, from 1966 to 1991. They were aimed at the business world with an instruction set optimized for the COBOL programming language. They were also known as Burroughs Medium Systems, by contrast with the Burroughs Large Systems and Burroughs Small Systems.

Digitek was an early system software company located in Los Angeles, California.

A foreign function interface (FFI) is a mechanism by which a program written in one programming language can call routines or make use of services written in another.

LINC is a fourth-generation programming language, used mostly on Unisys computer systems.

Embedded SQL is a method of combining the computing power of a programming language and the database manipulation capabilities of SQL. Embedded SQL statements are SQL statements written inline with the program source code, of the host language. The embedded SQL statements are parsed by an embedded SQL preprocessor and replaced by host-language calls to a code library. The output from the preprocessor is then compiled by the host compiler. This allows programmers to embed SQL statements in programs written in any number of languages such as C/C++, COBOL and Fortran. This differs from SQL-derived programming languages that don't go through discrete preprocessors, such as PL/SQL and T-SQL.

OS 2200 is the operating system for the Unisys ClearPath Dorado family of mainframe systems. The operating system kernel of OS 2200 is a lineal descendant of Exec 8 for the UNIVAC 1108. Documentation and other information on current and past Unisys systems can be found on the Unisys public support website.

Unisys 2200 Series system architecture

The figure shows a high-level architecture of the OS 2200 system identifying major hardware and software components. The majority of the Unisys software is included in the subsystems and applications area of the model. For example, the database managers are subsystems and the compilers are applications.

Unisys OS 2200 databases

The OS 2200 database managers are all part of the Universal Data System (UDS). UDS provides a common control structure for multiple different data models. Flat files, network (DMS), and relational (RDMS) data models all share a common locking, recovery, and clustering mechanism. OS 2200 applications can use any mixtures of these data models along with the high-volume transaction file system within the same program while retaining a single common recovery mechanism.

Unisys OS 2200 communications

The OS 2200 communications management system includes CPComm and MCB along with many programs that provide communications related functions such as file transfer, e-mail, and distributed transaction processing protocols.

Unisys OS 2200 distributed processing

OS 2200 supports all commonly used, and many not so commonly used, distributed processing protocols, APIs, and development technology.

Unisys MCP has had several generations of compilers in its history supporting a wide variety of programming languages.

Many programming languages and other computer files have a directive, often called include, that causes the contents of a second file to be inserted into the original file. These included files are called copybooks or header files. They are often used to define the physical layout of program data, pieces of procedural code and/or forward declarations while promoting encapsulation and the reuse of code.

References

  1. Universal Compiling System (UCS) Conceptual Overview (Unisys publication 7831 0802) (PDF). Roseville, MN: Unisys Corporation. 1994.
  2. Universal Compiling System (UCS) COBOL Programming Reference Manual Volume 1, COBOL Statements (Unisys publication 7831 0448 (PDF). Roseville, MN: Unisys Corporation. 2010.
  3. FORTRAN Compiler Programming Reference Manual Volume 1: FORTRAN Statements (Unisys publication 7831 0489) (PDF). Roseville, MN: Unisys Corporation. 2010.
  4. C Compiler Programming Reference Manual Volume 1: C Language and Library (Unisys publication 7831 0505) (PDF). Roseville, MN: Unisys Corporation. 2013.
  5. Universal Compiling System (UCS) PLUS Programming Reference Manual Volume 1, PLUS Statements (Unisys publication 7831 0497) (PDF). Roseville, MN: Unisys Corporation. 2013.
  6. Application Development Programming Guide (Unisys publication 7831 4077) (PDF). Roseville, MN: Unisys Corporation. 2013.
  7. ASCII COBOL Programming Reference Manual (Unisys publication 7830 7709) (PDF). Roseville, MN: Unisys Corporation. 2010.
  8. ASCII FORTRAN Programming Reference Manual (Unisys publication UP8244-4B) (PDF). Roseville, MN: Unisys Corporation. 2013.
  9. Meta-Assembler (MASM) Programming Reference Manual (Unisys publication 7830 8269) (PDF). Roseville, MN: Unisys Corporation. 2012.
  10. ClearPath OS 2200 Collector Programming Reference Manual (Unisys publication 7830 9887) (PDF). Roseville, MN: Unisys Corporation. 2011.
  11. Linking System Programming Reference Manual (Unisys publication 7831 0505) (PDF). Roseville, MN: Unisys Corporation. 2005.
  12. Virtual Machine for the Java Platform on ClearPath OS 2200 JProcessor User Guide (Unisys publication 7861 5739) (PDF). Roseville, MN: Unisys Corporation. 2013.
  13. JBoss Application Server(tm) for ClearPath OS 2200 Installation, Administration, and Programming Guide (Unisys publication 3826 6425) (PDF). Roseville, MN: Unisys Corporation. 2013.