(officially all-caps UNICOS
) is the name of a range of Unix 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 System V.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 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 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: used on the XT3, XT4 and XT5. UNICOS/lc 1.x comprises a combination of the Catamount microkernel (based on Cougar, used on the ASCI Red system) running on the compute elements, and SuSE Linux running on the service elements. In UNICOS/lc 2.0 onwards, Catamount is replaced by a customized Linux kernel, called Compute Node Linux (CNL).