Unisys OS 2200 programming languages

Aspect of Unisys OS 2200 operating system

This article provides insufficient context for those unfamiliar with the subject. Please help improve the article by providing more context for the reader. (August 2018) (Learn how and when to remove this message)

|

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.

## Universal Compiling System

[edit]

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]

## Legacy compilers

[edit]

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.

## Assembler

[edit]

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

[edit]

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

[edit]

OS 2200 provides a complete Java environment.[12]

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.

## References

[edit]

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.