# UNICOS

UNICOS es el nombre de un rango de sistemas operativos como Unix desarrollados por Cray para sus supercomputadoras. UNICOS es el sucesor del Cray Operating System (COS). Provee soporte para clústers y capa de compatibilidad de código fuente para algunos otros Unix. UNICOS fue originalmente introducido en 1985 con el sistema Cray-2 y portado más tarde a otros modelos de Cray. El UNICOS original estaba basado en el UNIX System V Release 2, y tenía agregado numerosas características del BSD (p.e., redes y sistema de archivos mejorado).
CX-OS fue el nombre original dado a lo que ahora es UNICOS. Fue un sistema prototipo que corría en un Cray X-MP en 1984, antes de ser portado al Cray-2. fue usado para demostrar que era posible usar Unix en una supercomputadora, antes que el hardware del Cray-2 estuviera disponible.
El sistema operativo fue modernizado como parte de un movimiento dentro de Cray Research para modernizar su software corporativo, incluyendo reescribir su compilador Fortran más importante (cft a cft77) en un lenguaje de alto nivel (Pascal) con vectorizaciones y optimizaciones más modernas.
Como parte del proceso de migración para los clientes que deseaban pasar del COS al UNICOS, se agregó al COS la capacidad de ejecutar un sistema operativo huésped. El único sistema operativo huésped que soportó fue el UNICOS. Un lote de tareas podía ser enviado para arrancar el UNICOS, el cual podía correr como un subsistema bajo el COS, usando subconjuntos de CPU, memoria y dispositivos periféricos. El UNICOS que corría bajo GOS era exactamente el mismo que podría correr en forma nativa. La diferencia era que el núcleo debía realizar determinadas solicitudes de bajo nivel a través del enlace COS GOS, en lugar de hacerlo directamente al hardware.
Uno de los lugares que usó una de las primeras versiones del UNICOS fue en los Laboratorios Bell, donde pioneros del Unix, incluyendo a Dennis Ritchie, portaron partes de su Unix Version 8 (incluyendo E/S streams) a UNICOS. También experimentaron con la capacidad de correr un SO huésped, permitiendo a la versión nativa ser a su vez su propio anfitrión.

## Variantes

Cray lanzó varios SO diferentes bajo el nombre UNICOS, incluyendo:
* UNICOS: el Cray Unix, basado en el System V. Usado en los Cray-1, Cray-2, X-MP, Y-MP, C90, etc.
* UNICOS MAX: un Micronúcleo basado en Mach usado en los elementos de procesamiento del T3D, en conjunto con el UNICOS de los sistemas host Y-MP o C90.
* UNICOS/mk: una versión "serverizada" de UNICOS usando el micronúcleo del Chorus para formar un sistema operativo distribuido. Usado en el T3E. fue el último SO de Cray basado en el código fuente del UNICOS, debido a que los productos que siguieron estaban basados en fuentes diferentes y simplemente usaban el nombre "UNICOS".
* UNICOS/mp: no deriva del UNICOS, está basado en el IRIX 6.5. Usado en el X1.
* UNICOS/lc: no deriva del UNICOS, está basado en el SUSE Linux. Usado en los XT3, XT4 y XT5. El UNICOS/lc 1.x comprende una combinación del micronúcleo del Catamount (basado en el Cougar, usado en el sistema del Red ASCI) corriendo en los elementos de cómputo, y SUSE Linux corriendo en los elementos de servicio. En el UNICOS/lc 2.0, el Catamount es reemplazado por un núcleo Linux personalizado, llamado el Compute Node Linux (CNL). A partir de la versión 2.1, UNICOS/lc es llamado Cray Linux Environment (CLE).