UNICOS is the name of a range of Unix-like operating system variants developed by Cray for its supercomputers. UNICOS is the successor of the Cray Operating System (COS). It provides network clustering and source code compatibility layers for some other Unixes. UNICOS was originally introduced in 1985 with the Cray-2 system and later ported to other Cray models. The original UNICOS was based on UNIX System V Release 2, and had numerous BSD features (e.g., networking and file system enhancements) added to it.
CX-OS was the original name given to what is now UNICOS. This was a prototype system which ran on a Cray X-MP in 1984 before the Cray-2 port. It was used to demonstrate the feasibility of using Unix on a supercomputer system, prior to the availability of Cray-2 hardware.
The operating system revamp was part of a larger movement inside Cray Research to modernize their corporate software: including rewriting their most important Fortran compiler (cft to cft77) in a higher-level language (Pascal) with more modern optimizations and vectorizations.
As a migration path for existing COS customers wishing to transition to UNICOS, a Guest Operating System (GOS) capability was introduced into COS. The only guest operating system that was ever supported was UNICOS. A COS batch job would be submitted to start up UNICOS, which would then run as a subsystem under COS - using a subset of the systems CPUs, memory, and peripheral devices. The UNICOS that ran under GOS was exactly the same as when it ran stand-alone - the difference was that the kernel would make certain low-level hardware requests through the COS GOS hook, rather than directly to the hardware.
One of the sites that ran very early versions of UNICOS was Bell Labs, where Unix pioneers including Dennis Ritchie ported parts of their Eighth Edition Unix (including stream I/O) to UNICOS. They also experimented with a guest facility within UNICOS, allowing the stand-alone version of the OS to host itself.
Cray have released several different OSs under the name UNICOS, including:
- UNICOS: the original Cray Unix, based on System V. Used on the Cray-1, Cray-2, X-MP, Y-MP, C90, etc.
- UNICOS MAX: a Mach-based microkernel used on the T3D's processing elements, in conjunction with UNICOS on the host Y-MP or C90 system.
- UNICOS/mk: a "serverized" version of UNICOS using the Chorus microkernel to make a distributed operating system. Used on the T3E. This was the last Cray OS really based on UNICOS sources, as the following products were based on different sources and simply used the "UNICOS" name.
- UNICOS/mp: not derived from UNICOS, but based on IRIX 6.5. Used on the X1.
- UNICOS/lc: not derived from UNICOS, but based on SUSE Linux. Used on the XT3, XT4 and XT5. UNICOS/lc 1.x comprises a combination of
- Cray Linux Environment (CLE): from release 2.1 onwards, UNICOS/lc is now called Cray Linux Environment
- the compute elements run Compute Node Linux (CNL) (which is a customized Linux kernel)
- the service elements run SUSE Linux Enterprise Server
- Scientific Linux, a Linux distribution by Fermilab and CERN
- Rocks Cluster Distribution, a Linux distribution for supercomputers
- Wallace, David (2007-05-05). "Cray XT3/XT4 Software: Status and Plans" (PDF). CUG 2007 Proceedings. Cray User Group. Retrieved 2012-12-18.
- "UNICOS 10.0.1.1 Release Overview". Cray Inc.
- "UNICOS/mk 2.0.6 Release Overview". Cray Inc.
- "UNICOS/mp 3.1 Release Overview". Cray Inc.
- "Cray XT System Software Release Overview". Cray Inc.
- Fred Gannett (2007-10-25). "Cray Supercomputer FAQ and other documents".
- Dennis Ritchie (September 2000). "Experiences with the Cray X/MP". Archived from the original on 2013-03-17.