OS 2200 es el sistema operativo de la familia de mainframes Unisys ClearPath Dorado. El núcleo del sistema operativo OS 2200 es un descendiente directo de Exec 8 para el UNIVAC 1108 y anteriormente se conocía como OS 1100. La documentación y otra información sobre los sistemas Unisys actuales y anteriores se puede encontrar en el sitio web de soporte público de Unisys. [ nota 1 ]
Consulte la arquitectura del sistema de la serie Unisys 2200 para obtener una descripción de la arquitectura de la máquina y su relación con el sistema operativo OS 2200. Unisys dejó de producir hardware ClearPath Dorado a principios de la década de 2010, y el sistema operativo ahora se ejecuta mediante emulación. [ 1 ]
Historia
Si bien ya existían sistemas 1100 anteriores, como el 1101 de 1951, el 1108 fue el primer ordenador de la serie 1100 diseñado para ofrecer un soporte eficiente para la multiprogramación y el multiprocesamiento. Junto con este nuevo hardware, llegó el sistema operativo Exec 8 (Executive System for the 1108).
El ordenador UNIVAC 1108 se anunció en 1964 y se entregó a finales de 1965. Los primeros ordenadores 1108 utilizaban Exec I y Exec II , que se habían desarrollado para el UNIVAC 1107. Sin embargo, UNIVAC planeaba ofrecer versiones multiprocesador simétricas del 1108 con hasta 4 procesadores, y los sistemas operativos anteriores ( programas de monitorización realmente básicos ) no estaban diseñados para ello, aunque admitían multiprogramación limitada.

Cuando se presentó el UNIVAC 1110 en 1972, el nombre del sistema operativo se cambió a OS 1100 para reflejar su compatibilidad con una gama más amplia de sistemas. El nombre OS 1100 se mantuvo hasta 1988 con la introducción de la serie Sperry 2200 como sucesora de la serie 1100, momento en el que su nombre se cambió a OS 2200. Desde entonces, la serie 2200 se convirtió en la serie Unisys ClearPath IX y posteriormente en la serie Unisys ClearPath Dorado, pero el sistema operativo conservó el nombre OS 2200.
El nombre de la empresa y los nombres de sus productos también cambiaron con el tiempo. [ 2 ] Engineering Research Associates (ERA) de Saint Paul fue adquirida por Remington Rand Corporation . Remington Rand también adquirió Eckert–Mauchly Computer Corporation de Filadelfia, que entonces estaba construyendo la computadora UNIVAC . Las dos se combinaron en la división UNIVAC de Remington Rand bajo la dirección de William Norris. William Norris había sido uno de los fundadores de ERA y más tarde dejó Remington Rand para fundar Control Data Corporation . La división UNIVAC de Remington Rand Corporation se convirtió en la división UNIVAC de Sperry Rand Corporation después de que Remington Rand se fusionara con Sperry Corporation . En la década de 1970, Sperry Rand comenzó un programa de identidad corporativa que cambió su nombre a Sperry Corporation y todos los nombres de las divisiones para que comenzaran con Sperry, por lo que la división de sistemas informáticos se convirtió en Sperry UNIVAC. Más tarde se eliminaron los nombres de las divisiones y todo pasó a ser simplemente Sperry.
La mayoría del personal de Unisys y de sus clientes sigue refiriéndose al núcleo del sistema operativo como "el Exec". Sin embargo, cuando Unisys comenzó a lanzar conjuntos de productos probados conjuntamente como versiones base del sistema, posteriormente denominadas "ClearPath OS 2200 Release n ", el término OS 2200 pasó a referirse a todo el conjunto de productos de dicha versión del sistema y a otros, como BIS , lanzados de forma asíncrona para las plataformas de hardware Dorado.
En 1986, las corporaciones Burroughs y Sperry se fusionaron para formar Unisys (que, según algunos clientes de la serie 2200, significa "UNIVAC sigue siendo su proveedor"). [ 3 ] Las principales líneas de productos de mainframes de ambas compañías han continuado su desarrollo, incluyendo el sistema operativo MCP de Burroughs y el sistema operativo 2200 de Sperry.
En 2016, Unisys puso a disposición una versión virtual de Microsoft Windows de OS2200 sin costo alguno para fines educativos y de ocio. [ 4 ]
Ejecutivo 8
EXEC 8 (a veces denominado EXEC VIII) fue el sistema operativo de UNIVAC desarrollado para la UNIVAC 1108 en 1964. Combinaba las mejores características de los sistemas operativos anteriores, EXEC I y EXEC II , que se utilizaban en la UNIVAC 1107. EXEC 8 fue uno de los primeros sistemas operativos multiprocesamiento de éxito comercial . Admitía cargas de trabajo mixtas simultáneas que comprendían procesamiento por lotes , tiempo compartido y tiempo real . Su único sistema de archivos tenía una estructura de nombres plana en múltiples tambores y husillos. También admitía un sistema de procesamiento de transacciones que tuvo una buena acogida .
Los sistemas anteriores eran todos sistemas en modo real sin soporte de hardware para la protección y separación de programas y el sistema operativo. Si bien existía soporte para la multiprogramación en sistemas anteriores, este se limitaba a ejecutar un trabajo de usuario simultáneamente con múltiples funciones de soporte que se sabía que funcionaban correctamente, como el lector de tarjetas, la impresora y los gestores de impresión de tarjetas .
El sistema operativo Exec 8 fue diseñado desde el principio para ser un sistema operativo multiprogramación y multiprocesamiento, ya que el 1108 fue diseñado para tener hasta cuatro CPU. La memoria y el almacenamiento masivo eran las principales limitaciones del sistema. Si bien la serie 1100 se concibió para un mercado más general, el procesamiento en tiempo real extremo era un requisito fundamental. [ 5 ]
Las especificaciones para Exec 8 se elaboraron en diciembre de 1964 como un Manual de Referencia para Programadores preliminar ( guía del usuario ) y el trabajo comenzó en mayo de 1965. [ 6 ] [ 7 ]
Exec 8 comenzó como un sistema operativo en tiempo real, utilizado inicialmente sobre todo en trabajos científicos y de ingeniería en general, pero también se empleó en conmutación de mensajes , control de procesos , simulación y control de lanzamiento de misiles. Fue diseñado para ejecutarse en sistemas que a menudo solo disponían de 128 KB de memoria (576 KB, menos que la capacidad máxima de memoria del IBM PC XT ), y se centraba en el procesamiento en tiempo real y por lotes. Si bien las primeras versiones funcionaban con 128 KB, el aumento de funcionalidades en versiones posteriores hizo que esto resultara insostenible, ya que no dejaba suficiente espacio para programas de tamaño útil. La capacidad máxima de memoria de un 1108 era de 256 KB (1152 KB), por lo que el uso eficiente de la memoria era la limitación más importante, dado que la memoria principal era el componente más costoso del sistema.
El almacenamiento masivo consistía en tambores giratorios de 1,8 metros de largo con capacidades que iban desde 256 kW (en el FH-432) hasta 2 MW (en el FH-1782). El tambor de mayor capacidad era el FASTRAND , con 22 MW (99 MB). La fragmentación de archivos se gestionaba mediante un proceso denominado "guardado de archivos", que generalmente se realizaba una vez al día, por la noche. Este proceso consistía en transferir todos los archivos a cinta, reinicializar el sistema de archivos del tambor y, a continuación, volver a cargar los archivos.
Debido a las severas limitaciones de memoria y al uso en tiempo real, era imprescindible mantener una única copia del código cargada en el núcleo. Dado que el 1108 fue diseñado para la multitarea, el sistema era completamente reentrante ( seguro para subprocesos ). Cada módulo reentrante accedía a los datos del programa a través de una única dirección base de memoria , que era diferente para cada instancia de datos de ejecución. El cambio de contexto de ejecución podía realizarse con una sola instrucción, simplemente estableciendo una dirección base diferente en un único registro. El sistema utilizaba un bloqueo granular para proteger las estructuras de datos compartidas. El ejecutivo, los compiladores, las utilidades e incluso las sofisticadas aplicaciones de usuario que podían tener múltiples copias ejecutándose simultáneamente se escribieron de forma que su código pudiera compartirse. Esto requería cargar solo una copia en la memoria, ahorrando tanto espacio como tiempo de carga del código.
Otra razón para separar el código y los datos en entidades de carga distintas era que la memoria se implementaba como dos bancos independientes (compartimentos físicos separados) llamados IBANK y DBANK (instrucción y datos). Cada uno tenía su propia ruta de acceso, por lo que la CPU podía leer ambos bancos simultáneamente. Al cargar el código ejecutable en un banco de memoria y los datos en el otro, el tiempo de ejecución de muchos programas podía reducirse casi a la mitad.
El código reentrante debía ser seguro para subprocesos (solo ejecución); no se permitía el código automodificable . Para otros programas, modificar el código ejecutable durante la ejecución seguía siendo una técnica de programación aceptable en la época de los ordenadores de la serie 1100, pero se desaconsejaba a los usuarios hacerlo debido a la disminución del rendimiento. Se pregonaban las ventajas de seguridad, pero no se les daba mucha importancia, ya que piratear la mayoría de las aplicaciones de la serie 1100 no reportaría ningún beneficio a nadie, y porque en aquel entonces pocos piratas informáticos tenían malas intenciones.
Exec 8 era principalmente un sistema de procesamiento por lotes que otorgaba a las aplicaciones (denominadas "tareas") un control muy preciso de la prioridad de la CPU para sus subprocesos (denominados "actividades"). El cambio de procesador era preventivo, y los subprocesos de mayor prioridad obtenían el control del procesador que ejecutaba el subproceso de menor prioridad de cualquier programa. Excepto en sistemas en tiempo real, incluso las tareas de menor prioridad recibían tiempo de procesador. Era un sistema operativo multiprogramación y multiprocesamiento con gestión de procesador totalmente simétrica. Una instrucción de prueba y ajuste integrada en el hardware permitía un bloqueo muy eficiente y preciso tanto dentro del sistema operativo como dentro de las aplicaciones multihilo.
En Exec 8, el trabajo se organiza en tareas, llamadas "ejecuciones", que se programan según su prioridad y la necesidad de recursos bloqueables, como unidades de cinta Uniservo o archivos de tambor Fastrand. La sintaxis del lenguaje de control utiliza el símbolo "@" (que Univac denominaba "el espacio maestro") como símbolo de reconocimiento de la instrucción de control. A continuación, se indicaba el comando o el nombre del programa, seguido de una coma y cualquier parámetro de opción. Tras un espacio, el resto de la instrucción variaba según el comando. Un comando para compilar un programa Fortran tendría el formato "@FOR[,opciones] archivo_origen, archivo_objeto". Los datos de entrada para una aplicación podían leerse de un archivo (generalmente imágenes de tarjetas) o seguir inmediatamente al comando "@" en el flujo de ejecución. Todas las líneas hasta el comando centinela "@END" se consideraban datos de entrada, por lo que olvidar insertarlo provocaba que el compilador interpretara los comandos subsiguientes como datos del programa. Por este motivo, era preferible procesar los datos en archivos en lugar de introducirlos en el flujo de ejecución.
En 1968, se comenzó a trabajar en la incorporación de la funcionalidad de tiempo compartido a Exec 8. Esta funcionalidad se incluyó en el nivel 23 del sistema en 1969. El tiempo compartido (denominado modo bajo demanda ) ofrecía las mismas capacidades que los procesos por lotes y en tiempo real. Todo lo que se podía realizar en modo por lotes podía hacerse desde una terminal ASCII. En el modo bajo demanda, la entrada/salida del flujo de trabajo se conectaba a un controlador de terminal en lugar de a archivos de imagen de tarjeta (entrada) y de cola (salida). Se utilizaba el mismo lenguaje de control de ejecución para ambos. Unos años más tarde, se añadieron comandos de tiempo compartido más específicos, y algunas instrucciones de control podían emitirse de forma asíncrona para su procesamiento inmediato, incluso cuando ni el sistema ni el programa en ejecución esperaban datos. Estos comandos, que solo podían introducirse desde una terminal, comenzaban con "@@". Dado que podían ejecutarse sin interrumpir otros trabajos en curso desde la misma terminal, se denominaron comandos transparentes. Al principio, se trataba simplemente de instrucciones para finalizar el programa actual o redirigir la salida de la terminal a un archivo, pero finalmente, casi todas las instrucciones de control pudieron ejecutarse de forma inmediata.
Tanto las ejecuciones por lotes como las ejecuciones bajo demanda finalizan con una instrucción @FIN, y si un usuario bajo demanda finaliza su sesión mientras su ejecución está activa, Exec finaliza automáticamente la ejecución sin necesidad de @FIN.
Software de comunicaciones
A finales de la década de 1960, se desarrolló una capacidad de procesamiento de transacciones como proyecto conjunto con United Airlines, la cual se perfeccionó posteriormente en otro proyecto conjunto con Air Canada. Esta capacidad se integró completamente al sistema operativo en 1972 y se convirtió en la base de gran parte del crecimiento futuro de la Serie 1100. Los primeros usuarios controlaban las líneas de comunicación directamente desde sus programas en tiempo real. Parte del desarrollo del procesamiento de transacciones incluyó un sistema de mensajería que gestionaba las líneas de comunicación y presentaba los mensajes a Exec 8 para su programación como transacciones. Esto trasladó toda la gestión de líneas físicas y protocolos de comunicación de bajo nivel fuera de las aplicaciones y a la aplicación CMS 1100.
El propio CMS 1100 funcionaba como un programa multihilo en tiempo real con la capacidad de controlar las líneas de comunicación y enviar mensajes de transacción para su programación. Esto dio lugar a la idea, en Exec 8, de que las aplicaciones de cualquier tipo debían controlarse cuidadosamente para garantizar que no pudieran causar problemas de integridad. La seguridad era sin duda una preocupación, pero en sus inicios, la fiabilidad e integridad del sistema eran cuestiones mucho más importantes. El sistema seguía siendo principalmente de procesamiento por lotes y de transacciones, y había pocas posibilidades de que alguien pudiera instalar código no autorizado. Posteriormente, el CMS 1100 incorporó la capacidad de ser la interfaz tanto para terminales de demanda como para terminales de transacciones, de modo que los terminales pudieran utilizarse para ambos fines y se pudieran eliminar los controladores de terminales iniciales del Exec. El CMS 1100 fue posteriormente reemplazado por una combinación de CPComm (ClearPath Enterprise Servers Communications Platform) y SILAS (System Interface for Legacy Application Systems). [ 8 ] [ 9 ] Para los modelos de servidor Dorado basados en Intel, las comunicaciones de nivel inferior se trasladaron al firmware, mientras que los niveles superiores fueron gestionados por SILAS y CPCommOS (ClearPath Enterprise Servers Communications Platform for Open Systems). [ 10 ]
El ejecutivo
El archivo Exec contiene todo el código del sistema que tiene permiso para ejecutarse con los niveles de privilegio más altos. No existen mecanismos para que otro código pueda alcanzar esos niveles de privilegio.
El ejecutivo es responsable de gestionar el hardware del sistema, programar y administrar el trabajo, y comunicarse con los operadores y administradores.
En la versión 16.0, el Exec es de nivel 49R2 (49.70.5). Los niveles internos del sistema utilizan un número de tres partes, como 21.92.42 (que fue el primer sistema de producción ampliamente utilizado, aunque versiones anteriores se utilizaron en producción en varios sitios). La primera parte del número es el nivel principal e indica una nueva versión del Exec con todas las actualizaciones anteriores integradas en una nueva versión base. Este es un proceso poco frecuente y ocurre a intervalos de años. La segunda parte del número indica las versiones de las actualizaciones al nivel principal y suele ocurrir varias veces por semana. Cuando se decide congelar el contenido de las características y prepararse para el lanzamiento, entra en juego la tercera parte, que indica las versiones del nivel de prelanzamiento a medida que se aplican correcciones y actualizaciones menores de características. Simultáneamente con la preparación de un nivel para el lanzamiento, las actualizaciones de la "línea principal" continúan a medida que los ingenieros integran los cambios en preparación para un lanzamiento futuro. Durante muchos años, el nivel de lanzamiento oficial fue el número completo de tres partes. Las versiones posteriores se denominaron simplemente 44R1, 44R2, 49R2, y así sucesivamente, aunque internamente todavía se utiliza la numeración de tres partes.
Realizar trabajo
El Exec es, en esencia, un sistema de procesamiento por lotes multihilo en tiempo real. Todo se ha diseñado en torno a este modelo. El propio Exec está estructurado principalmente como un programa en tiempo real. Las funciones que se ejecutan como servicios en Windows o como demonios en sistemas tipo Unix se implementan como actividades dentro del Exec o como programas por lotes que se ejecutan continuamente en segundo plano.
El modo de tiempo compartido (conocido como modo bajo demanda ) y el procesamiento de transacciones se implementan como casos especiales del procesamiento por lotes. Esto implica que existen pocas restricciones sobre lo que puede hacer un usuario o programa de transacciones en modo de tiempo compartido. Si bien se advierte a los desarrolladores de programas de transacciones que el rendimiento podría verse afectado si, por ejemplo, se requiere el montaje de una cinta, esto está permitido.
La unidad de trabajo más grande es la "Ejecución". Este término proviene de la terminología de "producción en serie" de la fábrica y generalmente equivale a un trabajo o sesión en otros sistemas. Una Ejecución se define por su "flujo de ejecución". Un flujo de ejecución es una secuencia de instrucciones de control que representan los pasos a seguir. Estos pueden incluir la gestión de archivos, la ejecución de programas y las bifurcaciones de control. Una Ejecución por lotes se almacena normalmente como un archivo y se programa mediante un comando "Iniciar" desde otra Ejecución o por el operador. Una Ejecución de tiempo compartido se inicia al iniciar sesión desde una terminal de tiempo compartido e introducir el comando @RUN. A menudo, la instrucción @RUN y la segunda instrucción de control (generalmente @ADD o la ejecución de un programa) se generan automáticamente en función del perfil del usuario. Las autorizaciones de seguridad se validan en función del ID de usuario autenticado y otra información proporcionada en la instrucción de control de la Ejecución.
Las transacciones constituyen un caso especial. Si bien no existen instrucciones de control, sí se crean las estructuras de datos internas de una ejecución. Esto permite al Exec asociar los mismos mecanismos de seguridad, contabilidad, depuración, etc., a los programas de transacción. Generalmente, se almacena en caché un perfil de seguridad en la memoria cuando se autentica el usuario de la transacción y se copia de los datos de sesión del usuario al estado de ejecución de la transacción cuando esta se programa. Dado que cada instancia de transacción es esencialmente una ejecución, la contabilidad, el registro y el manejo de errores están encapsulados por el mecanismo de ejecución.
Lote
Los trabajos por lotes (ejecuciones) se caracterizan por tener un flujo de ejecución (declaraciones del lenguaje de control de trabajos) almacenado en un archivo. Un trabajo por lotes siempre contiene una declaración @RUN como primer registro del archivo. Esta declaración asigna un nombre (id de ejecución) a la ejecución, define las prioridades y especifica el número máximo de SUPS (Unidades Estándar de Procesamiento) que se espera que utilice. El trabajo se inicia desde otro trabajo mediante una declaración de control @START o por el operador mediante una entrada de teclado ST. El sistema puede configurarse para emitir automáticamente declaraciones @START para cualquier número de trabajos al arrancar. Estos trabajos sirven para realizar funciones de inicialización, recuperación y en segundo plano.
Todos los campos de la instrucción @RUN pueden ser sobrescritos por los campos correspondientes de la instrucción @START. Salvo cuando @START es ejecutada por un usuario con privilegios, el ID de usuario y demás información de seguridad siempre se toman del proceso que ejecuta @START.
La instrucción @RUN tiene dos campos de prioridad. Uno se usa para especificar la prioridad de la cola de espera. Hay 26 niveles de prioridad (A-Z). El Exec tiene configurado un número máximo de ejecuciones por lotes abiertas. Cuando se alcanza ese nivel, los trabajos se seleccionan de las colas de espera en orden de prioridad. Dentro de la selección por prioridad, generalmente se aplica el principio FIFO (primero en entrar, primero en salir). Sin embargo, el Exec preescanea las instrucciones de control de trabajos hasta la primera ejecución del programa, buscando nombres de archivo y números de rollo. Si el trabajo se detuviera inmediatamente porque algunos de los recursos que necesita no están disponibles, se puede omitir para iniciar otros trabajos del mismo nivel de prioridad.
El segundo nivel de prioridad define un grupo de recursos del procesador de ejecución. En general, las prioridades más altas de los grupos de ejecución suelen obtener más tiempo de procesador.
Aunque el lenguaje de control de trabajos del OS 2200 no admite una programabilidad completa, permite la adición dinámica de secuencias de lenguaje de control mediante una instrucción de control @ADD. El archivo que se va a añadir puede haber sido creado por el mismo trabajo inmediatamente anterior a su adición. La instrucción @ADD y la mayoría de las demás instrucciones de control también pueden enviarse desde dentro de un programa en ejecución a través de una API. [ 11 ] La programabilidad adicional está disponible indirectamente mediante el uso del Generador de Flujo Simbólico ( SSG ). [ 12 ] SSG es un lenguaje de programación para manipular y crear archivos de texto a partir de parámetros de entrada e información del sistema. Se utiliza ampliamente para el procesamiento de la gestión de configuración ( make ) y otras funciones donde se necesitan crear imágenes de texto programáticamente. La salida resultante puede ser "@ADD" en la misma ejecución, lo que proporciona el flujo de ejecución programable indirectamente.
SSG fue creado originalmente por Univac para la generación de actualizaciones de sistemas operativos (SO). Posteriormente, fue adoptado por la comunidad de usuarios en general para la creación de procesos informáticos complejos, tanto por lotes como en tiempo real. Los archivos fuente podían hacer referencia recursiva a otros archivos, lo que proporcionaba una gran flexibilidad en el análisis de entrada. Las reglas para la generación de salida también se encontraban en los archivos fuente, con niveles similares de capacidad de entrada dinámica. La interpretación de los múltiples archivos de entrada permitía la creación dinámica del contenido del flujo de salida. Se podían aplicar procesos recursivos complejos para generar código fuente de programas, secuencias de ejecución de trabajos, entrada dinámica simulada desde consolas virtuales y, en general, proporcionar capacidades de scripting similares a las de las herramientas grep y yacc de Unix .
Los comandos del operador permiten modificar tanto la cola de ejecución como las prioridades de ejecución. Dado que todos los comandos del operador están disponibles mediante API para usuarios con los privilegios adecuados, esto puede automatizarse o controlarse de forma remota por un administrador.
La ejecución con fecha límite es un caso especial de procesamiento por lotes. Una ejecución con fecha límite se ve igual que cualquier otra ejecución por lotes, excepto que se especifica una hora límite en la instrucción de control @RUN o @START. La hora límite se usa junto con el tiempo estimado máximo (SUPS) en la instrucción de control. Un trabajo con fecha límite se ejecuta con prioridades de procesamiento por lotes normales a menos que parezca que podría perder su tiempo límite. Entonces, cuanto mayor sea la discrepancia entre el tiempo restante hasta la fecha límite y el tiempo estimado restante (SUPS), mayor será la prioridad. Si bien la ejecución con fecha límite no puede detener completamente las transacciones y no afecta el tiempo real, puede detener la mayor parte del procesamiento en el sistema si es necesario para lograr su objetivo.
Demanda
Las sesiones de tiempo compartido del sistema operativo OS 2200 se denominan ejecuciones bajo demanda (del latín "on demand"). Utilizan el mismo lenguaje de control que las ejecuciones por lotes, con algunas adiciones conocidas como instrucciones de control "inmediatas". Estas instrucciones utilizan el símbolo "@@", que indica que deben ejecutarse inmediatamente, incluso si hay un programa en ejecución. Si bien pueden utilizarse para crear o asignar archivos, las más importantes permiten que un usuario bajo demanda finalice un programa en ejecución por error o incluso le envíe una señal.
Actas

Las transacciones se ejecutan como ejecuciones, pero sin instrucciones de control almacenadas ni enviadas. En cambio, cuando se recibe un mensaje de una sesión definida como sesión de transacción, se analiza para determinar la cola de transacciones en la que debe colocarse. Normalmente, esto se determina por los primeros caracteres del mensaje, pero se pueden añadir analizadores escritos por el usuario. [ 13 ]
El gestor de comunicaciones, capaz de administrar hasta 250 000 sesiones activas, recibe los mensajes de transacción entrantes y los transfiere al software de cola de mensajes. Mediante la arquitectura de cola de mensajes, puede gestionar un número ilimitado de mensajes en cola. Se realiza una llamada a las API del Paquete de Interfaz de Transacciones (TIP) del sistema operativo para poner la transacción en cola en el punto de cola correspondiente. Cada punto de cola identifica la prioridad y el nivel de concurrencia de la tarea, así como el programa de transacción asociado que se ejecutará.

Un árbol de planificación de programas de transacciones permite al cliente establecer el uso relativo de grupos de programas de transacciones. Los límites de concurrencia evitan que un tipo de trabajo domine el sistema, excluyendo a otros, y previenen la sobrecarga de recursos. Se pueden crear hasta 4094 nodos en el árbol.
- Concurrencia máxima especificada para cada nodo en el árbol.
- La concurrencia de nodos superiores limita la concurrencia total de nodos dependientes.
- La concurrencia del nodo más alto limita la concurrencia del sistema.
Se puede especificar la prioridad (de 0 a 63) y el nivel de concurrencia (de 1 a 2047) para cada programa de transacción.
Se selecciona la transacción de mayor prioridad para su programación, salvo las limitaciones impuestas por las políticas de concurrencia vigentes para su nodo y los nodos superiores.
Tiempo real
El procesamiento en tiempo real no es otro tipo de ejecución, sino un conjunto de niveles de prioridad que cualquier actividad puede solicitar. Suele utilizarse en programas por lotes de larga duración, como el gestor de comunicaciones CPComm del sistema operativo OS 2200, pero no se limita a estos.
La API ofrece 36 niveles de prioridad en tiempo real para que las aplicaciones los utilicen. El usuario y la cuenta deben tener el privilegio de usar las prioridades en tiempo real. El sitio web controla cómo sus aplicaciones utilizan estos niveles de prioridad. Las prioridades en tiempo real tienen prioridad absoluta sobre las prioridades inferiores, por lo que es muy posible que un programa que funcione incorrectamente sature uno o más procesadores.
La prioridad en tiempo real se aplica a una actividad individual (hilo), por lo que un programa puede tener hilos en tiempo real y hilos que no lo son ejecutándose al mismo tiempo.
Despacho de CPU
Una vez iniciada una ejecución, el acceso al procesador controla su ritmo de progreso. El núcleo del Exec es el Dispatcher , que gestiona todos los procesadores. [ 14 ]

El Exec admite hasta 4095 prioridades de despacho, aunque la mayoría de los sitios definen solo un pequeño subconjunto de ellas. Las dos prioridades más altas no son conmutables. Se trata del reconocimiento de ciertos tipos de procesamiento que deben continuar en el procesador en el que se iniciaron hasta que cedan el control voluntariamente. El bloqueo de interrupciones se produce cuando llega una interrupción o, en algunos casos especiales, cuando otro código Exec impide todas las interrupciones (para modificar ciertos datos a los que también podría acceder un controlador de interrupciones).
El enclavamiento se utiliza en rutinas de posprocesamiento de interrupciones que deben ejecutarse en el mismo procesador físico o que simplemente no deben interrumpirse. El despachador, la finalización de E/S y el inicio de E/S son algunos ejemplos. Todos los bloqueos utilizados por estas dos prioridades son bloqueos de giro, ya que la única forma en que otro proceso puede establecerlos es en otro procesador, y el diseño requiere que solo se establezcan para secuencias de instrucciones muy cortas.
La prioridad de ejecución alta la utilizan el gestor de comandos del operador y otras funciones que pueden tener que ejecutarse incluso cuando un programa en tiempo real tiene el control. Se espera que consuman muy poco tiempo. Si necesitan más tiempo, deben poner el trabajo en cola para que lo procese una actividad de ejecución baja.
Las actividades en tiempo real disponen de un cuanto de procesador ilimitado y se ejecutan sin interrupciones, salvo que sean interrumpidas por una actividad en tiempo real de mayor prioridad o una actividad de ejecución de alto nivel. Las actividades en tiempo real controlan cualquier procesador disponible que esté ejecutando una tarea de menor prioridad. Se envían interrupciones entre procesadores cuando es necesario para garantizar la disponibilidad inmediata. Los clientes utilizan el procesamiento en tiempo real para el lanzamiento de misiles, la ejecución de simuladores y otras funciones que requieren una respuesta inmediata.
Las prioridades de las transacciones pueden gestionarse de dos maneras, según lo defina el sitio. Pueden ser de menor prioridad y en tiempo real, donde solo importa la prioridad y el tamaño del cuanto es prácticamente infinito. Esto es apropiado para transacciones muy breves, como las reservas de vuelos; si una entra en un bucle debido a un error de programación, el Exec la finalizará cuando alcance su tiempo máximo configurado, que es muy pequeño. La otra forma permite al Exec variar la prioridad dentro de un rango para optimizar el uso de los recursos del sistema. Este enfoque otorga mayor prioridad y segmentos de tiempo más cortos a los programas con limitaciones de E/S, y prioridades progresivamente más bajas, pero segmentos de tiempo más largos, a aquellos que realizan cálculos. El Exec ajusta dinámicamente estas prioridades en función del comportamiento, ya que los programas suelen comportarse de ambas maneras en diferentes momentos. Este enfoque es apropiado para transacciones de mayor duración, como consultas a bases de datos o cotizaciones de tarifas aéreas.
El procesamiento por lotes y bajo demanda siempre utiliza prioridades ajustadas dinámicamente. Los programas con limitaciones de E/S o que interactúan con un usuario de tiempo compartido obtienen mayor prioridad, pero menor tiempo de ejecución. Los programas que requieren mayor capacidad de cálculo obtienen menor prioridad y mayor tiempo de ejecución.
El Exec cuenta con dos mecanismos adicionales para optimizar la distribución de tareas. Uno de ellos es la distribución basada en afinidad. Siempre que sea posible, el Exec ejecutará una actividad en el mismo procesador que la última vez para aprovechar al máximo el contenido residual de la caché. Si esto no es posible, intenta mantener la actividad en el procesador más cercano en términos de tiempos de acceso a la caché y la memoria. El segundo mecanismo es una política de "equidad". El sistema puede definir el porcentaje relativo de recursos que se asignarán a cada una de las transacciones, la demanda y los lotes. Dentro de las transacciones y los lotes, existen agrupaciones de prioridad que pueden indicar qué porcentaje del tiempo de su grupo se asignará a la prioridad. Esto garantiza que las transacciones no dominen el sistema hasta el punto de impedir que se realicen las tareas por lotes. Dentro de las distintas agrupaciones de prioridad, se garantiza cierto progreso para cada grupo (a menos que el porcentaje del grupo sea cero). Estos algoritmos de "equidad" solo entran en juego cuando los procesadores están muy ocupados, pero los sistemas OS 2200 suelen funcionar con todos los procesadores casi al 100 % de su capacidad.
Medida
OS 2200 admite varios modelos para la gestión del rendimiento del sistema. [ 15 ] Los clientes pueden adquirir un nivel de rendimiento fijo determinado, y el Exec supervisará el uso del procesador para garantizar que el rendimiento no supere dicho nivel. Los clientes también pueden adquirir rendimiento adicional, ya sea de forma temporal o permanente, hasta alcanzar la capacidad máxima del sistema si su carga de trabajo aumenta o si surge una emergencia.
Más recientemente, el sistema ha incorporado la función de consumo medido. En este modo, el cliente dispone de toda la potencia del sistema (aunque puede limitarla administrativamente). El consumo se acumula durante un mes y, posteriormente, se envía a la facturación de Unisys. Según las condiciones específicas del contrato, el cliente puede recibir una factura por el consumo excesivo que supere el límite contratado para el mes o simplemente un extracto que indique que el consumo total contratado se ha reducido. La primera opción es similar a una factura de teléfono móvil, con la posibilidad de cobrar por los minutos adicionales. La segunda es similar a la compra de una tarjeta telefónica prepago.
Sistema de archivos
OS 2200 no tiene un sistema de archivos jerárquico como la mayoría de los demás sistemas operativos. En cambio, utiliza una convención de nomenclatura estructurada y el concepto de archivos contenedores llamados archivos de programa.
En OS 2200, los archivos son simplemente contenedores que pueden direccionarse mediante el desplazamiento de palabras o el desplazamiento de sectores (unidades de 28 palabras). Las 28 palabras son una unidad histórica de un antiguo dispositivo de almacenamiento masivo (el tambor FASTRAND) que podía contener 64 de estas unidades por pista física. Sin embargo, se trata de una afortunada coincidencia histórica. Cuatro de estas unidades de 28 palabras, o 112 palabras, ocupan 504 bytes. Dado que los dispositivos de almacenamiento masivo actuales utilizan registros físicos de 512 bytes, los clientes de OS 2200 han adoptado casi todos un múltiplo de 112 palabras como tamaño de registro físico y tamaño de página de base de datos. Los procesadores de E/S se ajustan automáticamente a la asignación de 504 a 512 bytes, añadiendo 8 bytes de ceros en las escrituras y eliminándolos en las lecturas de cada registro físico. OS 2200 gestiona las aplicaciones que utilizan tamaños distintos de los múltiplos de 112 palabras leyendo indivisiblemente los registros físicos que los contienen y reescribiendo las partes sin cambios y modificadas mediante encadenamiento de datos. Las funciones de bloqueo especiales garantizan la indivisibilidad incluso cuando se producen errores en los dispositivos y en varios sistemas de un clúster.
Los formatos de archivo y otras estructuras de datos internas se describen en el Manual de referencia de programación de estructuras de datos . [ 16 ]
nombres de archivos
Desde Exec-8, los nombres de archivo han adoptado la forma: Calificador*NombreArchivo(ciclo-f) (por ejemplo, "PERSONAL*EMPLEADOS(+1)"). [ 11 ] El calificador y el nombre de archivo son simplemente cadenas de doce caracteres que se utilizan para crear la estructura de nombres que el cliente desee. El ciclo-f es un número del 0 al 999 que permite múltiples generaciones de un archivo. Estas se pueden referenciar mediante números relativos: (+1) siguiente o nuevo ciclo, (-1) ciclo anterior, (+0) ciclo actual. Si se omite el ciclo, se utiliza por defecto el ciclo actual. Las ejecuciones de producción por lotes que crean nuevas generaciones de archivos utilizan este enfoque. Los números se reinician después de 999. Solo pueden existir 32 números de ciclo relativos consecutivos a la vez. Crear un (+1) elimina (-31).
Cualquier archivo puede utilizarse como archivo de programa. Un archivo de programa contiene elementos que generalmente actúan como archivos. La nomenclatura de los elementos es Calificador*NombreArchivo(ciclo f).Elemento/versión(ciclo e) (p. ej., "PERSONNEL*PROGRAMS.TAXCALC/2008"). El elemento y la versión son nombres de doce caracteres que el usuario puede usar como desee. El ciclo e es similar al ciclo f, ya que representa un número de generación, pero sin la restricción de 32 ciclos concurrentes y con un límite de 256K ciclos. Sin embargo, el ciclo e solo se aplica a elementos de texto, y cada línea de un elemento de texto está marcada con los números de ciclo en los que se insertó y eliminó. Los elementos también tienen un tipo y un subtipo. Los tipos más comunes son "texto" y "objeto". Si el tipo predeterminado no es adecuado, las opciones seleccionan el tipo apropiado. Los elementos de texto también tienen subtipos que normalmente representan el lenguaje de programación (p. ej., "ASM", "C", "COB", "FOR"). El nombre de elemento predeterminado de un archivo de objeto es el mismo que el del archivo de texto a partir del cual se creó.
Un elemento objeto puede ejecutarse si es un programa principal o si está vinculado con otros elementos objeto, incluido un programa principal. La vinculación puede ser estática o dinámica. Un programa principal puede ejecutarse sin vinculación previa siempre que todos los subprogramas necesarios se encuentren en el mismo archivo de programa, sean bibliotecas del sistema o se conozcan de otro modo. Se pueden incluir reglas en un archivo de programa para guiar la búsqueda de referencias no resueltas por parte del enlazador dinámico. El enlazador también puede utilizarse para vincular estáticamente varios módulos objeto y formar un nuevo módulo objeto que contenga todas las instrucciones, datos y demás información de los módulos objeto originales.
Los elementos ómnibus pueden utilizarse como datos por las aplicaciones o para almacenar información estructurada para aplicaciones y utilidades del sistema. No existe una estructura predefinida para un elemento ómnibus.
Para garantizar la compatibilidad con modelos de programación anteriores (modo básico), existen tipos de elementos reubicables y absolutos. Los elementos reubicables son el resultado de los compiladores en modo básico. El enlazador estático en modo básico (@MAP, el recolector) puede combinarlos para formar un elemento "absoluto" ejecutable.
Gestión de archivos
OS 2200 implementa un sistema de archivos totalmente virtual. Los archivos pueden asignarse en cualquier lugar de cualquier dispositivo de almacenamiento masivo. El almacenamiento masivo se trata como un gran grupo de espacio, de forma similar a como se gestiona la memoria virtual. Si bien se asigna espacio contiguo siempre que sea posible, el almacenamiento masivo se trata como un conjunto de páginas de 8 KB, y un archivo puede ubicarse en tantas áreas del mismo dispositivo o de dispositivos diferentes como sea necesario. La expansión dinámica de archivos intenta asignar espacio adyacente a la asignación anterior, pero encontrará espacio donde esté disponible. De hecho, los archivos ni siquiera necesitan estar presentes en el almacenamiento masivo para poder usarse. El sistema Exec y el sistema de copia de seguridad de archivos están totalmente integrados. Cuando se realizan copias de seguridad de archivos, el número de la cinta se registra en el directorio de archivos. Si el espacio en el almacenamiento masivo es insuficiente, algunos archivos se marcan simplemente como "descargados" si tienen una copia de seguridad actual y su espacio está disponible para su uso. Si no se puede encontrar suficiente espacio de esta manera, se inicia una copia de seguridad.
Cualquier referencia a un archivo descargado se pondrá en cola mientras el archivo se copia de nuevo al almacenamiento masivo. Todo el sistema es automático y generalmente transparente para los usuarios. [ 17 ]
Métodos de acceso
En general, Exec no proporciona métodos de acceso . Los archivos son simplemente contenedores. Los sistemas de tiempo de ejecución del lenguaje y el gestor de bases de datos proporcionan los métodos de acceso. La única excepción es un método de acceso de bloque fijo proporcionado para el procesamiento de transacciones de alto volumen. [ 18 ] Tiene mucha menos sobrecarga que el gestor de bases de datos, pero participa en todos los mecanismos de bloqueo, agrupación y recuperación.
Paquetes extraíbles
Cuando los clientes desean un control más explícito sobre la ubicación de los archivos, pueden utilizar el concepto de "paquete extraíble". En el pasado, estos paquetes representaban paquetes de discos físicamente extraíbles, y el sistema operativo generaba automáticamente solicitudes de montaje de paquetes para los operadores según fuera necesario.
Actualmente, se siguen utilizando para ubicar archivos, generalmente archivos de bases de datos o archivos de transacciones, en uno o más volúmenes de disco. Los archivos aún pueden abarcar varios volúmenes de disco, y ahora la lista de nombres de volúmenes se proporciona al crear el archivo. Los archivos que se encuentran en dichos grupos de volúmenes aún se respaldan, pero no están sujetos a la administración automática del espacio virtual.
CIFS
El sistema operativo 2200 también ofrece una implementación completa del Sistema Común de Archivos de Internet ( CIFS ). [ 19 ] CIFS implementa el protocolo SMB utilizado por los servidores de Microsoft y el software Samba de UNIX/Linux . CIFS para ClearPath OS 2200 funciona como servidor y cliente de archivos para otros sistemas compatibles con CIFS. Esto incluye ordenadores de escritorio con Windows. CIFS admite la firma de mensajes SMB.
Para mantener la seguridad de OS 2200, CIFS para ClearPath OS 2200 ofrece dos niveles de protección. En primer lugar, los archivos de OS 2200 no son visibles en la red hasta que se declaran como recursos compartidos mediante un comando CIFS. Existe un privilegio específico para controlar quién puede declarar un recurso compartido. El segundo nivel de control consiste en que todo el acceso sigue estando protegido por la seguridad de OS 2200. Los clientes que accedan a OS 2200 a través de CIFS deberán identificarse automáticamente mediante NTLM o Kerberos , o bien se les solicitará su ID de usuario y contraseña de OS 2200.
CIFS permite que los archivos de OS 2200 se presenten en una vista jerárquica. Normalmente, el calificador aparecerá como el nivel más alto en el árbol, seguido del nombre del archivo, el nombre del elemento y la versión. Además, los archivos se pueden almacenar en servidores OS 2200 utilizando el formato completo de nombre de archivo de Windows. Las aplicaciones de Windows verán a OS 2200 como otro servidor de archivos. Las aplicaciones de OS 2200 disponen de API para leer y escribir archivos existentes en otros servidores compatibles con CIFS, como servidores de archivos de Windows, en la red. Los archivos de texto se convierten automáticamente a y desde formatos internos de OS 2200. Los archivos binarios deben ser interpretados por el programa de aplicación.
La utilidad CIFSUT, que se ejecuta en el sistema operativo OS 2200, puede intercambiar archivos comprimidos cifrados con otros programas, como WinZip.
Subsistemas
El concepto de subsistemas y subsistemas protegidos es fundamental para el diseño del sistema operativo 2200. Un subsistema es similar a una DLL en Windows. Se trata de código y datos que pueden ser compartidos entre todos los programas que se ejecutan en el sistema. [ 20 ] En el sistema operativo 2200, cada subsistema tiene su propio conjunto de bancos que residen en una parte separada del espacio de direcciones a la que ningún programa de usuario puede acceder directamente. En su lugar, el hardware y el sistema operativo proporcionan una "puerta" que puede ser el destino de una instrucción Call. Consulte la arquitectura del sistema de la serie Unisys 2200 para obtener más información.
Los gestores de bases de datos, las bibliotecas de tiempo de ejecución, el sistema de mensajería y muchas otras funciones del sistema se implementan como subsistemas. Algunos subsistemas, generalmente compuestos de código puro, como las bibliotecas de tiempo de ejecución, pueden ser el objetivo directo de una instrucción Call sin necesidad de una puerta de enlace. Estos subsistemas se ejecutan en el entorno de protección del programa de usuario. Otros subsistemas, como los gestores de bases de datos, constan de código y datos o código privilegiado y solo pueden ser llamados mediante una puerta de enlace. Estos subsistemas también pueden tener listas de control de acceso asociadas para controlar quién puede llamarlos. Más importante aún, la puerta de enlace controla los puntos de entrada específicos que son visibles, el entorno de protección en el que se ejecutará el subsistema y, a menudo, un parámetro específico del usuario que proporciona información segura adicional sobre quien realiza la llamada.
Seguridad
Seguridad B1
El sistema de seguridad OS 2200 está diseñado para proteger los datos contra el acceso, la modificación o la exposición no autorizados. Incluye una implementación de la especificación de nivel B1 del Libro Naranja del Departamento de Defensa . [ 21 ] OS 2200 obtuvo por primera vez una evaluación B1 exitosa en septiembre de 1989. Dicha evaluación se mantuvo hasta 1994. A partir de entonces, los desarrolladores de OS 2200 continuaron siguiendo las prácticas de desarrollo y documentación requeridas por la evaluación B1.
Los conceptos de usuarios y objetos son fundamentales en un sistema B1. [ 22 ] [ 23 ] Los usuarios tienen identidades, niveles de autorización, compartimentos y privilegios. Los objetos requieren ciertas combinaciones de estos para distintos tipos de acceso. En el sistema operativo 2200, los objetos consisten en archivos, subsistemas protegidos, dispositivos y cintas magnéticas.
El perfil de seguridad de una sesión de usuario incluye la identidad del usuario, el nivel de autorización (0-63), el conjunto de compartimentos y el conjunto de privilegios permitidos. OS 2200 implementa tanto el Control de Acceso Obligatorio (MAC) como el Control de Acceso Discrecional (DAC) basados en el modelo Bell-La Padula para la confidencialidad (sin lectura ascendente, sin escritura descendente) y el modelo de integridad Biba (sin lectura descendente, sin escritura ascendente). Para que una ejecución pueda leer o ejecutar un archivo, el nivel de autorización de ejecución de la ejecución debe ser mayor o igual que el nivel de autorización del archivo, y el nivel de autorización del archivo debe ser 0 o estar dentro del rango de nivel de autorización de la ejecución; además, el conjunto de compartimentos de ejecución de la ejecución debe contener el conjunto de compartimentos del archivo. Dado que OS 2200 combina los requisitos de los modelos Bell-La Padula y Biba, el nivel de autorización de ejecución y el conjunto de compartimentos de una ejecución deben coincidir exactamente con los de un archivo para permitir la escritura o eliminación del mismo.
DAC asocia una lista de control de acceso a un objeto; la lista identifica a los usuarios y grupos de usuarios que tienen acceso y define el tipo de acceso permitido a ese usuario o grupo (lectura, escritura, ejecución o eliminación).
Dado que el conjunto completo de controles B1 resulta demasiado restrictivo para la mayoría de los entornos, los administradores de sistemas pueden configurar los servidores seleccionando los controles que desean aplicar. Un conjunto de niveles de seguridad, desde el Nivel Fundamental hasta el Nivel 3, sirve como punto de partida.
Oficial de seguridad
Cada sistema OS 2200 tiene un usuario designado como responsable de seguridad. En los sistemas configurados con seguridad básica, solo el responsable de seguridad puede realizar ciertas tareas. En los sistemas configurados con niveles de seguridad superiores, otros usuarios de confianza pueden realizar algunas de estas tareas.
OS 2200 proporciona un mecanismo de seguridad granular basado en el principio del mínimo privilegio . Este principio exige que solo se otorgue el privilegio mínimo necesario para realizar la tarea requerida. Por lo tanto, OS 2200 no contempla el concepto de "superusuario" que pueda ser asumido por cualquier usuario. En cambio, utiliza un amplio conjunto de privilegios específicos que se pueden otorgar individualmente a cada usuario. Cada privilegio está asociado a una autoridad específica.
Seguridad de archivos
En sistemas configurados con nivel de seguridad 1 o superior, el usuario que crea un objeto es su propietario. Por defecto, el objeto es privado para el usuario que lo crea, pero también puede ser público o estar controlado por una lista de control de acceso. El propietario o el responsable de seguridad pueden crear una lista de control de acceso para dicho objeto.
En sistemas configurados con seguridad básica, los archivos no tienen propietarios. En su lugar, se crean de forma privada para una cuenta o proyecto, o bien son públicos. El acceso a ellos se puede controlar mediante claves de lectura y escritura.
Autenticación
Cuando los usuarios inician sesión en el sistema, se identifican y, opcionalmente, seleccionan el nivel de autorización y el conjunto de compartimentos que utilizarán para esta sesión.
OS 2200 ofrece un sistema de autenticación flexible. Admite múltiples mecanismos de autenticación simultáneamente. También se puede utilizar software de autenticación desarrollado por el cliente o por terceros. Las capacidades de autenticación estándar incluyen:
- El nombre de usuario y la contraseña se almacenan en un archivo cifrado por el sistema operativo OS 2200.
- Autenticación realizada por un sistema externo como Microsoft Windows utilizando su mecanismo de ID de usuario y contraseña.
- NTLM
- Kerberos
- LDAP
Las dos últimas permiten el uso de datos biométricos, tarjetas inteligentes y cualquier otro mecanismo de autenticación compatible con dichas tecnologías.
Cifrado
OS 2200 proporciona cifrado para datos en reposo a través de Cipher API, un subsistema de software que cifra y descifra los datos del emisor. [ 24 ] Cipher API también admite el uso de una tarjeta aceleradora de hardware para el cifrado de grandes volúmenes de datos.
Para los servidores Dorado basados en CMOS, CPComm proporciona cifrado SSL/TLS para los datos en tránsito . Para los servidores Dorado basados en Intel, OpenSSL , incluido en el firmware de Dorado, proporciona SSL y TLS. Todos los servidores Dorado admiten los niveles TLS 1.0 a 1.2, así como SSLv3, pero SSL está deshabilitado por defecto debido a vulnerabilidades en el protocolo.
Tanto CPComm como Cipher API utilizan los servicios de cifrado de CryptoLib, un módulo de cifrado de software con certificación FIPS . Los algoritmos AES y Triple DES se encuentran entre los algoritmos implementados en CryptoLib.
El sistema operativo OS 2200 también admite el cifrado de unidades de cinta, que proporciona cifrado para los datos de archivo.
EDM
SightLine Enterprise Data Manager (EDM) funciona junto con SightLine Software Suite como un elemento central del procesamiento de OS 2200. Desarrollado como una aplicación J2EE, EDM consta de dos componentes principales: el Servicio de Recopilación de Datos (DCS) y una interfaz de usuario web. Juntos, estos componentes ofrecen supervisión y gestión centralizadas de la recopilación y el mantenimiento de datos, la configuración de agentes, el manejo de alertas, la generación de informes y una interfaz accesible desde el navegador para los usuarios. [ 25 ] [ 26 ]
Agrupamiento
Los sistemas OS 2200 pueden agruparse en clústeres para lograr un mayor rendimiento y disponibilidad que un sistema individual. Se pueden combinar hasta 4 sistemas en un clúster que comparte bases de datos y archivos mediante discos compartidos. Un dispositivo de hardware, el XPC-L, coordina los sistemas al proporcionar un gestor de bloqueo de alta velocidad para el acceso a bases de datos y archivos. [ 27 ]
Un entorno en clúster permite que cada sistema tenga sus propios archivos locales, bases de datos y grupos de aplicaciones, además de archivos compartidos y uno o más grupos de aplicaciones compartidos. Los archivos y bases de datos locales solo son accesibles desde un único sistema. Los archivos y bases de datos compartidos deben estar en discos accesibles simultáneamente desde todos los sistemas del clúster.
El XPC-L proporciona una vía de comunicación entre los sistemas para la coordinación de acciones. También ofrece un motor de bloqueo de alta velocidad. La conexión al XPC-L se realiza mediante un procesador de E/S especial que opera con latencias extremadamente bajas. El gestor de bloqueos del XPC-L proporciona todas las funciones necesarias para el bloqueo de archivos y bases de datos. Esto incluye la detección de interbloqueos y la capacidad de liberar los bloqueos de las aplicaciones que han fallado.
El XPC-L se implementa con dos servidores físicos para crear una configuración totalmente redundante. El mantenimiento, incluida la carga de nuevas versiones del firmware del XPC-L , puede realizarse en uno de los servidores mientras el otro sigue funcionando. Los fallos, incluidos los daños físicos en un servidor, no detienen el clúster, ya que toda la información se almacena en ambos servidores.
Operaciones y administración
Operaciones
El funcionamiento del sistema operativo OS 2200 se basa en operadores activos y una o más consolas. Cada consola es una ventana de terminal, parte de la cual está reservada para una pantalla fija que se actualiza frecuentemente con información resumida sobre la actividad del sistema. [ 28 ]
El resto de la consola se utiliza como una pantalla desplazable de eventos. Cuando se emite un mensaje que requiere la respuesta del operador, se le asigna un número del 0 al 9 y permanece en la pantalla hasta que se recibe respuesta. Los mensajes de montaje de cinta se desplazan junto con los demás mensajes, pero se repiten cada dos minutos hasta que se monte la cinta.
Operations Sentinel se utiliza para todas las operaciones de OS 2200. [ 29 ] Las consolas de OS 2200 son simplemente ventanas dentro de una pantalla de Operations Sentinel. Puede haber tantas PC de visualización como se desee. El funcionamiento remoto es habitual. Operations Sentinel admite cualquier número de sistemas ClearPath, Windows, Linux y UNIX.
Se incluye una base de datos de mensajes de acción automática con el producto. [ 30 ] Esta base de datos permite a Operations Sentinel reconocer los mensajes. Se pueden escribir scripts para responder automáticamente a los mensajes que requieren una respuesta, ocultar los mensajes no deseados, traducirlos a otros idiomas, crear eventos, etc. Algunos clientes utilizan el modo de operación en sala oscura completa. Como máximo, tendrán pantallas de Operations Sentinel en ubicaciones remotas que supervisan el sistema y generan alertas cuando ocurren ciertos eventos.
Administración
La administración de los sistemas OS 2200 se realiza mediante una amplia variedad de herramientas, cada una especializada en un área particular del sistema. Por ejemplo, existe una herramienta para administrar el entorno de transacciones que permite instalar nuevos programas de transacciones, especifica toda la información necesaria sobre ellos, modifica la estructura de colas, las prioridades y los niveles de concurrencia, etc. [ 31 ]
Otras herramientas son específicas del responsable de seguridad y permiten la creación de usuarios, el cambio de privilegios permitidos, el cambio de la configuración de seguridad del sistema, etc. [ 22 ] , [ 32 ] , [ 23 ]
La mayoría de las herramientas cuentan con una interfaz gráfica, aunque algunas no. Todas ofrecen una interfaz de archivos almacenados por lotes, donde todas las acciones se especifican en el flujo de control. Esto permite automatizar cualquier interfaz administrativa, ya sea desde sitios locales (por ejemplo, según la hora del día u otros eventos) o desde sitios remotos. Se requieren privilegios únicos para cada área administrativa.
Grupos de aplicación
Los grupos de aplicaciones son una estructura lógica que consta de una instancia del Sistema Universal de Datos (UDS), [ 33 ] una instancia del subsistema de cola de mensajes y un conjunto de transacciones. Cada grupo de aplicaciones tiene su propio registro de auditoría. OS 2200 admite un máximo de 16 grupos de aplicaciones en un sistema.
El concepto de grupo de aplicaciones se corresponde con lo que comúnmente se denomina "una aplicación". Es decir, un conjunto de programas y datos que representan una unidad de procesamiento interconectada de mayor tamaño. Por ejemplo, un grupo de aplicaciones podría representar el sistema de una aerolínea. Otro grupo de aplicaciones podría representar el sistema financiero de una empresa. O bien, los grupos de aplicaciones podrían representar instancias de la misma aplicación y modelos de datos, como en las sucursales bancarias. Lo importante es que cada grupo de aplicaciones tenga su propio entorno, sesiones, recuperación, etc.
Los grupos de aplicaciones pueden iniciarse, detenerse y recuperarse de forma independiente.
Los grupos de aplicaciones no tienen reglas de contabilidad ni de programación propias. Las transacciones en varios grupos de aplicaciones pueden compartir las mismas prioridades y tener prioridades intercaladas. Esto permite al sitio controlar las prioridades relativas de las transacciones en todo el sistema.
Véase también
- Consulte la arquitectura del sistema de la serie Unisys 2200 para obtener información sobre la arquitectura del hardware.
- Consulte la página de lenguajes de programación de Unisys OS 2200 para obtener información sobre los compiladores y enlazadores de OS 2200.
- Bases de datos Unisys OS 2200 para obtener información sobre las bases de datos y el administrador de bases de datos del sistema operativo OS 2200.
- Para obtener información sobre las comunicaciones del sistema operativo Unisys OS 2200 , consulte la página correspondiente.
- Procesamiento distribuido de Unisys OS 2200 para obtener información sobre el procesamiento distribuido de OS 2200.
Otras ubicaciones del material de origen
El boletín informativo sobre la historia de Unisys contiene artículos sobre la historia de Unisys y las computadoras. Además de todos los boletines informativos sobre la historia de Unisys, encontrará enlaces a otros sitios web.
La mayor parte del archivo histórico de Unisys se encuentra en el Instituto Charles Babbage de la Universidad de Minnesota y en el Museo y Biblioteca Hagley en Delaware. El Instituto Charles Babbage alberga los archivos de ERA, algunos archivos antiguos de Remington Rand procedentes de Saint Paul, Minnesota, y los archivos de Burroughs. El Museo y Biblioteca Hagley conserva la mayor parte del archivo de Sperry.
Un artículo introductorio muy útil sobre OS 2200 en la década de 2020 en Arcane Sciences .
Referencias
- ↑ "Los Seis del Mainframe" .
- ↑ Gray, George T.; Smith, Ronald Q. (2001). "Las computadoras de transistores de Sperry Rand". IEEE Annals of the History of Computing . 20 (3). IEEE Computer Society : 16– 26. doi : 10.1109/85.707571 .
- ↑ Gray, George T.; Smith, Ronald Q. (2007). "Contra la corriente: La fusión de Sperry-Burroughs y la lucha de Unisys por sobrevivir entre 1980 y 2001". IEEE Annals of the History of Computing . 29 (2). IEEE Computer Society : 3–17 . Bibcode : 2007IAHC...29b...3G . doi : 10.1109/MAHC.2007.16 .
- ↑ Simon Sharwood (31 de marzo de 2016). "¡Mainframes x86 gratuitos para todos! Mainframes x86 virtuales, claro" . The Register . Consultado el 31 de marzo de 2016 .
- ↑ Petschauer, Richard J (1990). Historia y evolución de la tecnología de mainframe 1100/2200 (PDF) . Conferencia USE. Bladensburg, MD: Grupo de Usuarios de USE.
- ↑ Gray, George T.; Smith, Ronald Q. (2001). "Las computadoras de tercera generación de Sperry Rand 1964-1980". IEEE Annals of the History of Computing . 23 (1). IEEE Computer Society : 3– 16. Bibcode : 2001IAHC...23a...3G . doi : 10.1109/85.910845 ..
- ↑ Gray, George T.; Smith, Ronald Q. (2008). Unisys Computers: An Introductory History . Nueva Jersey: Lulu. ISBN 978-1-61539-223-0.
- ↑ Guía de configuración y operaciones de la plataforma de comunicaciones de servidores empresariales ClearPath (publicación Unisys 7844 8438) (PDF) . Roseville, MN: Unisys Corporation. 2015.
- ↑ Guía de configuración y operaciones de la interfaz del sistema para sistemas de aplicaciones heredadas (SILAS) (publicación de Unisys 7851 5475) (PDF) . Roseville, MN: Unisys Corporation. 2013.
- ↑ Guía de configuración y operaciones de la plataforma de comunicaciones ClearPath Enterprise Servers para sistemas abiertos (publicación Unisys 3850 8032) (PDF) . Roseville, MN: Unisys Corporation. 2015.
- 1 2 Manual de referencia del lenguaje de control ejecutivo (ECL) y FURPUR (publicación de Unisys 7830 7949) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia de programación del generador de flujo simbólico (SSG) (publicación Unisys 7830 7881) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia de administración y operaciones de procesamiento de transacciones OS 2200 (publicación Unisys 7830 7881) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia para la administración del software del sistema OS 2200 Exec (publicación Unisys 7831 0323) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Tecnología de medición ClearPath OS 2200 (publicación del documento técnico de Unisys n.º 1749) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia de programación de estructuras de datos (publicación Unisys 7833 3481) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Guía de operaciones del sistema de administración de archivos (FAS) (publicación Unisys 7830 7972) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Descripción general conceptual del procesamiento de transacciones (publicación Unisys 7830 9960) (PDF) . Roseville, MN: Unisys Corporation. 2012.
- ↑ Manual de referencia para usuarios, programadores y administradores de CIFS para ClearPath OS 2200 (publicación Unisys 7859 6137) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia de programación del sistema de enlace (publicación Unisys 7830 7551) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Criterios de evaluación de sistemas informáticos confiables del Departamento de Defensa (NSI 5200.28-STD) . Instituto de Seguridad Nacional. 1985. Archivado del original el 25 de junio de 2009. Consultado el 24 de julio de 2009 .
- 1 2 Administración de seguridad para ClearPath OS 2200 Ayuda (publicación Unisys 7862 1760) . Roseville, MN: Unisys Corporation. 2014.
- 1 2 Ayuda de ClearPath OS 2200 Apex (publicación de Unisys 8207 4154) (PDF) . Roseville, MN: Unisys Corporation. 2015.
- ↑ Manual de referencia de programación de la interfaz de programación de aplicaciones (API) de Cipher 3826 6110 (PDF) .
- ↑ "Soporte público de Unisys: Sightline Enterprise Data Manager (EDM)" . Unisys . Julio de 2020.
- ↑ "Catálogo de productos de software Unisys ClearPath OS2200" (PDF) . Unisys . Julio de 2020.
- ↑ Guía de referencia y administración de recuperación integrada para entornos multihost (publicación Unisys 7831 0919) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia de operaciones del software del sistema Exec (publicación Unisys 7831 0281) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Guía de administración y configuración de Operations Sentinel (publicación Unisys 7862 2321) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Guía de administración del sistema de mensajes de acción automática Operations Sentinel (publicación Unisys 7862 6900) (PDF) . Roseville, MN: Unisys Corporation. 2012.
- ↑ Manual de referencia para la administración y las operaciones del procesamiento de transacciones (publicación Unisys 7830 7881) (PDF) . Roseville, MN: Unisys Corporation. 2014.
- ↑ Manual de referencia para la administración y el uso final del Complejo de administración de sitios de TeamQuest (SIMAN) (publicación de TeamQuest TQ-01151.21) (PDF) . Clear Lake, IA: TeamQuest Corporation. 2013.
- ↑ Descripción general de la planificación e instalación del sistema de datos universal (publicación Unisys 7844 8370) (PDF) . Roseville, MN: Unisys Corporation. 2014.
Notas a pie de página
- ↑ La documentación actual de Unisys está disponible en el sitio web de soporte público de Unisys . Para los productos OS 2200, seleccione una de las plataformas ClearPath Dorado (por ejemplo, Dorado 800 o Dorado 8300) y, a continuación, el nivel de versión (normalmente la de mayor número, a menos que busque algo específico en una versión anterior). Esto le llevará a una página de búsqueda donde podrá buscar por título o contenido del documento.
- Sistemas operativos Unisys