# GCOS

GCOS (Sistema Operativo Comprensivo General) es una familia de sistemas operativos orientados hacia computadoras centrales (mainframes). Su primera versión fue desarrollada por General Electric en 1962; originalmente designado GECOS (the General Electric Comprehensive Operating Supervisor) .
Actualmente aún se utiliza sobre grandes sistemas, aunque raras veces, sobre todo debido a problemas de herencia. Los programas empleados sobre este sistema operativo están generalmente escritos en lenguajes tales como COBOL, Fortran (ver ALGOL) y ahora Java.

## La arquitectura de sistema y los conceptos

GCOS usa el concepto de proceso para describir secuencias de instrucciones ejecutadas en un procesador sobre un conjunto de datos. Tiene también el concepto de multiposicionamiento. Además, existe lo que se llama un grupo de proceso, una entidad que contiene varios procesos cargados y programados simultáneamente. GCOS provee también comunicaciones por banderines para sincronizar procesos entre ellos o con el hardware. Cada proceso posee su propio espacio de direccionamiento, sobre el cual los derechos de acceso son una combinación de derechos elementales (lectura, escritura, ejecución). El espacio de direccionamiento está segmentado, cosa que permite el reparto de datos entre procesos. La gestión de privilegios está basada en anillos: cada proceso está asociado a un anillo y, cuanto más bajo sea el nivel del anillo, más privilegios tendrá el proceso.
El sistema operativo sabe administrar los ordenadores multiprocesadores (SMP). Se basa en un micronúcleo implementado en el soporte lógico inalterable(firmware) de la máquina. Puede funcionar igualmente en modos de emulación con pérdidas de velocidad muy flojas.

## Historia

El sistema de explotación GECOS-II fue desarrollado por General Electric para el GE-635, una máquina de 36 bits, de 1962 a 1964. Contradiciendo el rumor, GECOS no es una copia de System/360 (rumor mal recogido por el “Jargon file”), en efecto la arquitectura del GE-635 era muy diferente de la del IBM S/360, y GECOS era mucho más ambicioso que DOS/360. Una de las características destacables de la segunda generación de este sistema operativo era su soporte del tiempo compartido (Time Sharing option, “TSO”), así como su tratamiento por paquetes o lotes (“batch processing”).
Tras el rescate de la división de ordenadores de General Electric por Honeywell, GECOS-III fue renombrado GCOS-3, y la línea de máquinas renombrada a H-6000. Más tarde, el marketing de Honeywell creó una “Serie 60”, y cambiaron el nombre del H-6000 por el de Level-66. Honeywell y su socio europeo CII Honeywell Bull decidieron lanzar una nueva línea de productos “Level 64”, que se convirtió en el DPS-7.
El nombre “GCOS” se extendió a todas las líneas de productos comercializados por Honeywell y a GCOS-64, un sistema operativo de 32 bits completamente diferente, inspirado por “Multics”, y desarrollado paralelamente por Honeywell y Honeywell Bull en Francia y Boston. GCOS-62, otro sistema de 32 bits de gama baja fue concebido en Italia. GCOS 61 era una nueva versión de un pequeño sistema realizado en Francia, y la nueva línea de mini ordenadores de 16 bits DPS-6 de Massachusetts tomó el nombre de GCOS-6.
En 1979, se volvió a renombrar la línea de productos, pues el Level-6 se convirtió en el DPS-6, el Level-61 en el DPS-4, el Level-64 bautizado como DPS-7, y el Level-66 como DPS-8. Los sistemas operativos mantuvieron el nombre comercial GCOS, introduciendo GCOS 6, GCOS 4, GCOS 7, y GCOS 8. Esto causó alguna confusión a los clientes, porque la línea original GCOS, llamada GCOS-III(o GCOS-3), se convirtió repentinamente en GCOS 8. GCOS-3 fue mantenido y soportado varios años después de esos anuncios.
GCOS-3 (y posterior GCOS-7 y GCOS-8) presentó una buena base de datos Codasyl llamada IDS (“almacén integrado de datos”), que fue el modelo para el IDMS (Integrated Database Management System). Varios monitores de tratamiento transaccional fueron diseñado para GCOS-3 y GCOS-8. Una primera versión de monitor para GCOS-3 suponía que, como en Unix, un nuevo proceso debería comenzar para manejar cada transacción de datos. Los clientes de IBM querían un modelo más eficiente donde los “threads” esperasen mensajes y pudieran compartir recursos. Esas características fueron implementadas como subsistemas.
GCOS-3 pronto adquirió un verdadero monitor transaccional designado TDS (Sistema de Transacción de Datos). La corriente de datos en forma tabular fue esencialmente un desarrollo de Honeywell. Más tarde evolucionó en TP8 sobre GCOS-8. TDS y sus sucesores tuvieron éxito comercialmente y precedieron a IBM CICS, cuya arquitectura fue muy similar. Otro producto similar fue también desarrollado para GCOS-7.
GCOS-6 y GCOS-4 (GCOS-62) fueron reemplazados por miniordenadores basados en Motorola 68000 y PowerPC bajo Unix y las líneas de productos fueron paradas. Sin embargo, GCOS-6 funcionaba en un emulador bajo AIX. La línea DPS-7, junto con GCOS 7, ha continuado evolucionando con DPS-7000.
A finales de los 80 (1980), Honeywell vendió su negocio a una empresa formada conjuntamente por NEC y Bull, a la cual tomó parte durante un tiempo. Tras unos años, Bull asumió el control de la compañía. NEC abasteció varias generaciones de hardware de alta gama, que corrían bajo GCOS 8 y su propio sistema ACOS- 4. Bull nombró bajo la nomenclatura DPS-9000 a toda su línea de grandes sistemas GCOS 8, con modelos concebidos por Bull y por NEC.
En Argentina Bull tenía instalados mainframe en clientes como Gendarmería Nacional, Caja de Valores, Estado mayor General del Ejército, Plan Rombo, siendo este último el cliente de mayor relevancia ya que fueron los integrantes del sector Asistencia Técnica de Plan Rombo quienes crearon rutinas en lenguaje GMAP ( assembler ) que se utilizan hasta la fecha en sentencias insertas de fábrica en la mayoría de los productos IBM.
Fue el Ing. Miguel Heredia ( Cliente Plan Rombo / Renault Arg ) quien demostró que el balanceo periódico del contenido de las distintas áreas de las bases de datos incidían directamente en la performance de los procesos batch. Para lograr esto, basándose en estadísticas de I/O, distribuía el contenido de la DB en los distintos discos físicos por medio de una tarea manual / artesanal.
Este método fue llevado por Bull a su sede francesa, se automatizo su funcionalidad, y se distribuyo a todas las instalaciones. Esto provocó que IBM viera demorada su intención de "adueñarse" de las instalaciones reemplazando los sistemas de explotación GCOS por sus propios desarrollos.
Debemos posicionarnos en el lugar y en la época, en Argentina escaseaba la información y todo debía hacerse con base en prueba y error, cuidando los recursos ya que los mismos escaseaban.
Al final de los 90 y comienzos del año 2000, el deseo de Bull fue centrar su desarrollo en un único tipo de material basado en circuitos integrados Intel estándares, pero con “extras” de Bull. Esta plataforma, NovaScale (basada en Itanium 2), funciona bajo Windows y Linux en modo nativo. Simuladores para DPS-7000 y DPS-9000 permiten el funcionamiento de GCOS 7 y GCOS 8 bajo esta plataforma. Bull continúa invirtiendo en el desarrollo y soporte de GCOS 7 y GCOS 8, y todavía tiene clientes en varios países alrededor del mundo.

## Anécdotas

Algunos anteriores sistemas Unix de Bell Labs empleaban máquinas bajo GCOS como spools de impresión y servicios varios. El elemento añadido al fichero / etc / passwd para almacenar de identidad GCOS ha sido bautizado campo GECOS y sobrevive hoy como los pw _ gecos que contienen el nombre completo del usuario y otra información de uso humano.