General Comprehensive Operating System ( GCOS , / ˈdʒiːkoʊs / ; originalmente GECOS , General Electric Comprehensive Operating Supervisor ) [a] es una familia de sistemas operativos orientados a las computadoras mainframe de la serie GE-600 de 36 bits [ 1] y la serie Honeywell 6000 [2] .
La versión original de GCOS fue desarrollada por General Electric a principios de 1962. [3] El sistema operativo todavía se utiliza hoy en día en sus versiones más recientes (GCOS 7 y GCOS 8) en servidores y mainframes producidos por Groupe Bull , principalmente a través de la emulación, para proporcionar continuidad con los entornos mainframe heredados. GCOS 7 y GCOS 8 son ramas separadas del sistema operativo y continúan desarrollándose juntas. [4]
El sistema operativo GECOS fue desarrollado por General Electric para la serie GE-600 de 36 bits entre 1962 y 1964; GE lanzó GECOS I (con un prototipo 635) en abril de 1965, GECOS II en noviembre de 1965 y GECOS III (con tiempo compartido) en 1967. [5] Tenía un gran parecido arquitectónico con IBSYS en el IBM 7094 y menos con DOS/360 en el IBM System/360 . Sin embargo, la arquitectura de cuatro procesadores de la serie GE 600 era muy diferente del System/360 y GECOS era más ambicioso que DOS/360. GECOS-III admitía tanto tiempo compartido (TSS) como procesamiento por lotes , con asignación dinámica de memoria (IBM tenía particiones fijas , en ese momento), lo que lo convertía en un verdadero sistema operativo de segunda generación.
Después de que Honeywell adquiriera la división informática de GE, GECOS-III pasó a llamarse GCOS 3, y la línea de hardware pasó a llamarse serie Honeywell 6000 , añadiendo el EIS (conjunto de instrucciones mejorado, orientado a caracteres en lugar de orientado a palabras). [6] [7] [8]
El nombre "GCOS" se extendió a los sistemas operativos de todas las líneas de productos comercializadas por Honeywell.
GCOS-64, un sistema operativo de 32 bits completamente diferente para la serie Level 64, similar a Multics , fue diseñado por los desarrolladores de Honeywell y Honeywell Bull en Francia y Boston . [9]
GCOS-62, [10] [9] el sistema operativo para otra línea de máquinas de 32 bits de gama baja, la serie Level 62, fue diseñado en Italia .
GCOS-61 fue el sistema operativo de una nueva versión de un pequeño sistema fabricado en Francia (Modelo 58, más tarde Nivel 61/58).
El sistema operativo para una nueva línea de minicomputadoras de 16 bits de Massachusetts (Billerica), el Level 6 , recibió el nombre de GCOS 6.
En 1979 se produjo otro cambio de nombre de las líneas de productos de hardware: el Level 6 pasó a llamarse DPS 6, el Level 62 pasó a llamarse DPS 4, el Level 64 pasó a llamarse DPS 7 y el Level 66 pasó a llamarse DPS 8. Los sistemas operativos mantuvieron la marca GCOS y se introdujeron GCOS 6, GCOS 4, GCOS 7 y GCOS 8. GCOS 8 fue una reescritura extensa de GCOS 3, [9] con cambios realizados para admitir una verdadera gestión de memoria virtual y paginación por demanda (estos cambios también requerían nuevo hardware). GCOS 3 recibió soporte en mantenimiento durante varios años después de este anuncio y cambio de nombre. Honeywell Bull publicó "Large Systems: GCOS 8 OS Time Sharing System User's Guide" en 1986. [11]
DPS 6 y DPS 4 (ex-Level 62) fueron reemplazados por Motorola 68000 y más tarde por minicomputadoras PowerPC que ejecutaban Unix y las líneas de productos se suspendieron, aunque GCOS 6 se ejecutó en un emulador sobre AIX . [12] La línea DPS 7, junto con GCOS 7, continuó evolucionando hacia la base de hardware DPS 7000.
A finales de los años 80, Honeywell vendió su negocio de ordenadores a una empresa conjunta que inicialmente incluía a NEC y Bull, y Honeywell mantuvo una participación durante un tiempo. En un par de años, Bull se hizo cargo de la empresa. NEC suministró varias generaciones de hardware de mainframe de gama alta, que ejecutarían tanto GCOS 8 como su propio sistema operativo ACOS -4. Bull utilizó la nomenclatura DPS-9000 para toda su línea de mainframes basados en GCOS 8, que incluía modelos diseñados tanto por Bull como por NEC.
A finales de los años 1990 y principios de los 2000, el deseo de Bull era centrar su desarrollo en una única base de hardware, ejecutando chips Intel de consumo, pero con los valores añadidos de Bull. Esta plataforma, llamada Novascale [13] y basada en procesadores Itanium 2 , ejecutaba tanto Windows como Linux de forma nativa. Sin embargo, los simuladores de conjuntos de instrucciones tanto para DPS 7000 como para DPS 9000 permitieron que GCOS 7 y GCOS 8 se ejecutaran en esta plataforma. La desaparición de la familia Itanium requirió un cambio de hardware y, a partir de 2022, GCOS 7 y GCOS 8 se simulan en hardware Bull Sequana M7200 y M9600 basado en Xeon , respectivamente. [14] [15]
Está previsto que Bull brinde soporte para GCOS 7 y GCOS 8 al menos hasta 2025, incluidas actualizaciones regulares de hardware y software.
En la actualidad, aún persiste un rastro de la influencia de GCOS en los sistemas UNIX modernos. Algunos de los primeros sistemas Unix de Bell Labs utilizaban máquinas GCOS para el spooling de impresión y otros servicios. [16] El campo añadido a " /etc/passwd " para llevar la información de identificación de GCOS se denominaba " campo GECOS " y sobrevive hoy en día como el miembro "pw_gecos", utilizado para el nombre completo del usuario y otra información de identificación humana.
En la actualidad, Multics, bajo el simulador DPS8M, [17] conserva la capacidad de ejecutar trabajos GCOS, tanto por lotes como por tiempo compartido, a través del "Simulador de entorno GCOS de Multics". [18]
GCOS 3 (y posteriormente GCOS 7 y GCOS 8) contaba con una buena base de datos de red Codasyl llamada Integrated Data Store (IDS) que fue el modelo para el más exitoso IDMS . [9]
Varios monitores de procesamiento de transacciones fueron diseñados para GCOS 3 y GCOS 8. Un primer intento de procesamiento de transacciones (TP) para GCOS 3, el Transaction Processing Executive, asumió que, como en Unix , se debía iniciar un nuevo proceso para manejar cada transacción , y disfrutó de un éxito muy limitado. Pronto se desarrolló otro sistema de TP, el Transaction Driven System (TDS), para GCOS 3, que utilizaba un único proceso (potencialmente con múltiples subprocesos) para dar servicio a todas las transacciones. TDS fue esencialmente un desarrollo de Honeywell. Más tarde fue reemplazado por el Transaction Processing 8 (TP8) compatible con versiones anteriores en GCOS 8, que se benefició de la revisión de la arquitectura del sistema GCOS que vino con GCOS 8 para hacer un uso completo de los conceptos de memoria virtual. TP8 utilizó múltiples procesos estáticos de una manera similar a los daemons de UNIX para manejar las transacciones entrantes de una manera multiplexada. TDS y su sucesor TP8 tuvieron éxito comercial, y TDS precedió a IBM CICS , que tenía una arquitectura muy similar. Un producto similar, también llamado TDS, fue desarrollado para GCOS-7, pero la arquitectura interna era completamente diferente.
GCOS es un sistema operativo multihilo y multiprogramación orientado originalmente al procesamiento por lotes, aunque versiones posteriores incorporaron mejoras para entornos de procesamiento de transacciones en línea y de tiempo compartido. Los sistemas que ejecutan GCOS en la actualidad lo utilizan principalmente para procesamiento por lotes y OLTP, o como servidor empresarial backend.
GCOS tiene una arquitectura básica similar a la de los sistemas operativos para IBM 360 y la anterior serie IBM 7090, y los sistemas operativos posteriores con los que compitió. También estuvo muy influenciado por proyectos como MEDINET, [19] Multics y WWMCCS , [20] y, en consecuencia, ha heredado una fuerte estructura de seguridad. Las características de hardware y software se combinan para hacer que el sistema operativo sea inusualmente seguro para un sistema operativo de su generación y clase. Multics influyó en el diseño del hardware, con instrucciones de transferencia de control seguras orientadas a puertas y un sistema de niveles de seguridad aplicado por hardware muy similar al de los famosos anillos Multics. Los entornos operativos como WWMCCS impulsaron el desarrollo de características de seguridad especiales para permitir el alojamiento seguro de información clasificada y la compartimentación. Durante un tiempo, se mantuvieron versiones separadas del sistema GCOS con características de seguridad especiales activadas específicamente para clientes gubernamentales.
Las primeras versiones de GCOS y el hardware en el que se ejecutaba no admitían memoria virtual paginada, pero sí admitían un único segmento de memoria por proceso. Esto lo hacía inferior en lo que respecta a la compartición de tiempo, especialmente en comparación con el hardware diseñado para admitir Multics y el hardware contemporáneo DEC PDP-10 .
GCOS es un sistema operativo orientado a procesos, en el que cada proceso aloja uno o más subprocesos de ejecución y se ejecuta en su propio espacio de memoria virtual. [9] La memoria virtual se divide en segmentos de tamaño arbitrario que recuerdan a los segmentos de Multics, y un segundo nivel de traducción de direcciones convierte las direcciones virtuales puras en direcciones paginables, que luego se convierten en direcciones reales en la memoria principal o en el almacenamiento de respaldo. Los segmentos, las páginas y otras construcciones incluyen parámetros de seguridad aplicados por hardware. La arquitectura de memoria virtual de nivel superior también simplifica el intercambio de código y datos de manera segura, nuevamente de una manera que recuerda a Multics.
Cada versión de GCOS se diseñó para un hardware específico. Las máquinas más recientes capaces de ejecutar el sistema operativo lo hacen mediante la emulación de ese hardware. El hardware originalmente tenía mucho en común con el hardware de Multics, tanto que algunos equipos mainframe podían cambiarse del "modo GCOS" al "modo Multics" con solo girar un dial. Gran parte del equipo periférico utilizado con GCOS también podía utilizarse con Multics, aunque los procesadores de red de interfaz eran muy diferentes entre los dos sistemas.
Los lenguajes de programación disponibles para GCOS incluían GCOS Algol, Algol-68 , COBOL , SNOBOL , JOVIAL , APL , GPL, [21] FORTRAN 68, CORAL 66 , FORTRAN 77 [22] y B. [23 ]
La documentación eran páginas impresas, disponibles en las instalaciones de los usuarios (personal, estudiantes...), organizadas en carpetas de acero, bloqueadas entre sí en un estante de lectura de acero monolítico, atornillado a una mesa o mostrador, con páginas organizadas para actualizaciones de información modulares, reemplazos, erratas y adendas. [ cita requerida ]
La terminología moderna para las unidades de almacenamiento se aplica a varios sistemas operativos y fabricantes de computadoras, y es parte de la conversación cotidiana. Términos como megabyte y gigabyte significan prácticamente lo mismo para todos, y términos como mebibyte y gibibyte se han estandarizado formalmente.
Sin embargo, el sistema GCOS8 es anterior a esta monocultura con algunas unidades propias, como las siguientes:
Tenga en cuenta que en este sistema un byte contiene 9 bits con valores que van desde (000) 8 a (777) 8 o 0-511, a diferencia de los bytes de 8 bits habituales con valores que van desde (000) 8 a (377) 8 o 0-255. Esto se debe a la arquitectura de CPU de 36 bits.
Los tamaños de los archivos permanentes se especificaban en Llinks (1280 bytes). Los tamaños de los archivos temporales se especificaban en Links (15 360 bytes). Desde principios de la década de 1970, todas las unidades de disco GCOS 3 y GCOS 8 utilizaban el direccionamiento de bloques lógicos (LBA).
Sistema operativo desarrollado por General Electric a partir de 1962; originalmente llamado GECOS (General Electric Comprehensive Operating System).
Esto convierte a los servidores novascale 7010 en los más abiertos del mercado, junto con la familia novascale 9010 de Bull que ejecuta gcos 8.