Stratus VOS ( Sistema Operativo Virtual , ahora renombrado como OpenVOS ) es un sistema operativo propietario que se ejecuta en los sistemas informáticos tolerantes a fallos de Stratus Technologies . VOS está disponible en las plataformas ftServer y Continuum de Stratus. [ 2 ] Los clientes de VOS lo utilizan para dar soporte a aplicaciones de procesamiento de transacciones de alto volumen que requieren disponibilidad continua. VOS destaca por ser uno de los pocos sistemas operativos que se ejecutan en hardware totalmente sincronizado .
Durante la década de 1980, existió una versión de Stratus VOS con la marca IBM , llamada Sistema Operativo System/88 . [ 3 ]
Historia
VOS fue diseñado desde su concepción como un entorno de procesamiento de transacciones de alta seguridad adaptado a hardware tolerante a fallos. [ 4 ] Incorpora gran parte de la experiencia de diseño que surgió del proyecto Multics del MIT/Bell-Laboratories/General-Electric (más tarde Honeywell) .
En 1984, Stratus añadió una implementación de UNIX System V llamada Unix System Facilities (USF) a VOS, integrando Unix y VOS a nivel del núcleo . [ 5 ]
En los últimos años, Stratus ha añadido compatibilidad con POSIX , y muchos paquetes de código abierto pueden ejecutarse en VOS. [ 6 ]
Al igual que los sistemas operativos propietarios de la competencia, VOS ha visto disminuir su cuota de mercado de forma constante en la década de 1990 y principios de la de 2000. [ 7 ]
Desarrollo
Programación para VOS
VOS proporciona compiladores para PL/I , COBOL , Pascal , FORTRAN , C (con los compiladores VOS C y GCC ) y C++ (también GCC ). [ 8 ] Cada uno de estos lenguajes de programación puede realizar llamadas al sistema VOS (por ejemplo, s$seq_readpara leer un registro de un archivo) y cuenta con extensiones para admitir cadenas de longitud variable al estilo PL/I. Los desarrolladores suelen programar en su editor de texto VOS favorito o sin conexión, antes de compilar en el sistema; no existen aplicaciones IDE de VOS.
A lo largo de su historia, Stratus ha ofrecido plataformas de hardware basadas en la familia de microprocesadores Motorola 68000 (series "FT" y "XA"), la familia de microprocesadores Intel i860 (series "XA/R"), la familia de procesadores HP PA-RISC (serie "Continuum") y la familia de procesadores Intel Xeon x86 (serie "V"). Todas las versiones de VOS ofrecen compiladores orientados al conjunto de instrucciones nativo, y algunas versiones de VOS ofrecen compiladores cruzados.
Stratus añadió compatibilidad con la API POSIX en la versión 14.3 de VOS (en Continuum), y compatibilidad con el compilador GNU C/C++, el depurador GNU gdb y numerosos comandos POSIX en la versión 14.4. Cada nueva versión de VOS ha incorporado más funcionalidades POSIX.1, hasta el punto de que muchos paquetes de código abierto en modo usuario pueden compilarse correctamente. Por este motivo, a partir de la versión 17.0, Stratus cambió el nombre de VOS a OpenVOS.
Stratus ofrece puertos compatibles para Samba, OpenSSL, OpenSSH, GNU Privacy Guard , OpenLDAP , Berkeley DB , MySQL Community Server, Apache, IBM WebSphere MQ y muchos otros.
En VOS, los valores numéricos siempre son big-endian , independientemente del orden de bytes de la plataforma de hardware subyacente. En servidores little-endian con procesadores x86, los compiladores intercambian bytes antes de leer o escribir valores en la memoria para transformar los datos al formato little-endian nativo o viceversa.
Lenguaje de macros de comandos
VOS cuenta con un lenguaje de macros de comandos bastante completo que permite crear sistemas de menús, automatizar tareas, etc. Las macros de comandos de VOS aceptan argumentos en la línea de comandos o mediante un formulario de interfaz de usuario. Los argumentos se definen al inicio de la macro en una sección de "parámetros". El lenguaje admite diversas instrucciones, como condicionales (if/then/else), operaciones booleanas, bucles "while", instrucciones "goto" y una excelente función de informes de errores. El lenguaje de macros de comandos puede ejecutarse en modo interactivo y no interactivo (por lotes o como proceso iniciado). Permite automatizar programas, capturando mensajes y enviando las respuestas correspondientes. Esto ha llevado a Stratus a limitar las capacidades del lenguaje de macros de comandos. [ 9 ]
El lenguaje de macros carece de soporte para funciones definidas por el usuario y no admite fácilmente archivos de inclusión. El manejo de cadenas es propenso a errores, especialmente con caracteres de control incrustados.
En Visual Studio Marketplace se puede encontrar una extensión de resaltado de sintaxis para macros de comandos VOS en Visual Studio Code .
Descripción general
VOS se programó principalmente en PL/I con una pequeña cantidad de lenguaje ensamblador antes de ser migrado a la serie ftServer. En 1991, el sistema estaba escrito en PL/I y C, con solo un 3% en ensamblador. [ 10 ]
Su estructura general tiene mucho en común con Multics, y muchas de las características del sistema se pueden rastrear hasta Multics en diversos grados. El sistema expone una serie de abstracciones fundamentales al diseñador o programador de software, siendo la más notable la siguiente:
- Procesos
- Dispositivos
- discos duros
- Diversos mecanismos de IPC
- Tareas
En VOS, un proceso es la entidad programada, y cada proceso posee un conjunto de atributos que rigen su manipulación por parte del sistema. Por ejemplo, los procesos tienen un nombre de usuario y un nombre de proceso . El primero es utilizado por VOS para determinar los derechos de acceso del proceso a dispositivos externos y elementos del sistema de archivos. Un atributo binario de importancia fundamental es el indicador de privilegios de un proceso. Los procesos con privilegios pueden realizar operaciones privilegiadas. Este mecanismo se utiliza para restringir ciertas operaciones potencialmente poderosas que pueden tener consecuencias a nivel de sistema (por ejemplo, apagar el sistema, desmontar un disco duro, etc.).
Distribución
VOS se distribuye exclusivamente a través de Stratus Technologies . El soporte de distribución es una cinta DAT de 3,5 mm para Continuum y una cinta SDLT para las primeras plataformas de la serie V. A partir de la versión 17.0 de OpenVOS, Stratus ofrece soporte para la distribución de OpenVOS en DVD o mediante la descarga de un archivo de lanzamiento. La instalación del software puede ser realizada por el técnico de campo de Stratus o por el administrador del sistema del cliente.
Interfaz
La interfaz de línea de comandos es la interfaz de usuario principal y más potente de un sistema VOS.
Los usuarios pueden quedar bloqueados en un subsistema basado en formularios mediante scripts de macros de comandos [ 11 ] si es necesario, aunque un usuario experto podría salir de esta configuración y obtener acceso a la línea de comandos. (De hecho, es posible que un administrador del sistema Stratus configure la cuenta de un usuario de tal manera que, al intentar salir del FMS (Sistema de Gestión de Formularios de Stratus) para acceder a la línea de comandos, se cierre la sesión del usuario).
Los comandos y programas se pueden ejecutar con un argumento para mostrar un formulario con todos los parámetros disponibles, que el usuario puede navegar usando la tecla "Tab". Generalmente, cada parámetro está restringido para controlar lo que el usuario puede ingresar. Esto incluye listas de valores válidos, solo numéricos, solo de texto, etc. Los parámetros también se pueden ocultar mediante una etiqueta "secreta" o hacer obligatorios.
Todos los comandos en VOS se definen completamente con guiones bajos para separar las palabras. Por ejemplo, change_current_dir cambia el directorio de trabajo . El sistema de ayuda de VOS utiliza esta convención para ayudar a los usuarios que buscan un subconjunto de comandos posibles; por ejemplo, aquellos que se refieren a "change" se encuentran con help -match change .
Los usuarios pueden personalizar su interfaz de comandos mediante un archivo que contiene abreviaturas para los comandos. Las abreviaturas de los comandos se nombran convencionalmente según las primeras letras del comando que representan, por lo que ccd puede expandirse a change_current_dir foodir .
Aplicaciones
Aplicaciones del sistema
VOS se utiliza en los sistemas Continuum y ftServer, ambos diseñados para ser altamente tolerantes a fallos. Por ello, estos sistemas se utilizan habitualmente en aplicaciones críticas para la seguridad o la misión, como bancos, hospitales, empresas de telecomunicaciones y de procesamiento de transacciones. [ 12 ]
Comunicaciones
VOS admite los siguientes protocolos [ 8 ]
- TCP/IP
- X.25
- SNA
- SDLC/QLLC
- Asíncrono
- Bisync
- LAPB
- Encuesta/Selección
- RJE/HASP
- ALC/SLC
- Visa, SWIFT, NASDAQ, FAS, CHIPS, AMEX
- Serie MQ
Las versiones anteriores de VOS implementaban un estándar TCP/IP no OSI conocido como OS TCP/IP (Operating System TCP/IP). Desde la versión 14.x, VOS implementa Streams-TCP compatible con OSI. Las aplicaciones antiguas que utilizan OS TCP/IP deben ser adaptadas para poder usar STCP. [ 13 ] Esto puede implicar una pérdida de funcionalidad, ya que OS TCP/IP admitía varias funciones que no son compatibles con OSI y, por lo tanto, se han abandonado. El hardware ftServer en el que se ejecuta V Series solo admite TCP/IP y X.25 (X.25 solo cuando está equipado con el NIO opcional). Websphere MQ 6.0 (también conocido como MQ Series) se basa en TCP/IP; por lo tanto, también es compatible con el hardware ftServer. Los dispositivos que admiten los protocolos heredados se ejecutan en el hardware Continuum y se puede acceder a ellos desde el hardware actual a través de la red Open StrataLINK [ 14 ] .
Tolerancia a fallos
La tolerancia a fallos está integrada en VOS desde la base. A nivel de hardware, los dispositivos principales funcionan en modo dúplex sincronizado , lo que significa que hay dos dispositivos idénticos realizando la misma acción al mismo tiempo. (Además, cada dispositivo o placa también funciona en modo dúplex para identificar fallos internos de la placa a nivel de hardware, razón por la cual el hardware de Stratus se puede definir como "sincronizado"). [ 15 ]
Estas tarjetas son supervisadas activamente por el sistema operativo, que puede corregir cualquier inconsistencia menor (como errores de escritura o lectura en el disco). Las tarjetas que reportan un número inaceptable de fallos son retiradas del servicio por el sistema; la tarjeta dúplex seguirá funcionando hasta que el problema se resuelva mediante una actualización. Esto incluye las CPU, las unidades de disco y cualquier otro dispositivo que pueda configurarse lógicamente para funcionar en modo dúplex (lo que, por definición, excluye los dispositivos de comunicación). El sistema operativo está diseñado para evitar bloqueos debidos a fallos de hardware en modo simplex.
La filosofía de alimentación en serie se suele extender a las fuentes de alimentación del sistema, y los sistemas Stratus pueden alimentarse desde dos fuentes de alimentación de CA independientes, para soportar una interrupción del suministro eléctrico procedente de cualquiera de las dos fuentes.
Cuando se produce un fallo, el sistema continúa funcionando con normalidad y genera automáticamente una incidencia con el Servicio de Atención al Cliente de Stratus a través de RSN (Red de Servicio Remoto). El Servicio de Atención al Cliente de Stratus se conecta al sistema mediante RSN para investigar el problema y, posteriormente, envía las piezas de repuesto. Para el cambio de placas, el cliente puede buscar un indicador luminoso, desconectar la placa defectuosa e insertar la de repuesto sin interrumpir el funcionamiento del sistema.
Sistema de archivos
VOS admite varios tipos de archivos únicos:
- Archivos de flujo: un flujo de datos binarios, que se corresponde directamente con el concepto de archivo en otros sistemas operativos.
- Archivos fijos: una secuencia de registros de tamaño fijo.
- Archivos relativos: una secuencia de registros con una longitud máxima fija que admite acceso aleatorio.
- Archivos secuenciales: una secuencia de registros de tamaño variable.
- Archivos de cola: copia de seguridad basada en el sistema de archivos para colas de mensajes
- Tuberías: tuberías con nombre para la comunicación entre procesos
- Archivos de transacciones: estos proporcionan soporte para la reversión basada en el diario.
La API VOS permite crear múltiples índices por archivo, ordenándolos según el contenido de un registro, una clave externa, una clave interna o un conjunto definido de claves múltiples. Un archivo VOS con uno o más índices puede utilizarse como una tabla de base de datos C-ISAM.
VOS utiliza una sintaxis de nombres de archivo propietaria que incluye el nombre del sistema, el nombre del disco y el directorio, con los componentes separados por el símbolo ">". Normalmente, el disco del sistema se alojará en el mismo módulo que la CPU, #m1por lo que un archivo del sistema para un clúster VOS se referenciaría como
(%system)#m1_d01>system>devices.table
La asignación de disco y memoria en VOS se organiza en "bloques", cada uno de 4096 bytes. La memoria se presenta como RAM o paginación. Los sistemas VOS admiten particiones y archivos de paginación. En las versiones modernas de VOS, el administrador del sistema puede crear archivos de paginación dinámicamente (pero no eliminarlos sin reiniciar el sistema). En teoría, estos archivos de paginación pueden constar de más de una extensión (que el kernel considera una mini-partición de paginación), las cuales pueden ser contiguas o no. Sin embargo, no se recomiendan las extensiones no contiguas, ya que aumentan considerablemente la actividad del disco. El administrador debe crear la extensión más grande posible para los archivos de paginación lo antes posible después del arranque del sistema. [ 16 ]
Seguridad del sistema de archivos
VOS admite acceso de escritura, lectura, ejecución y nulo (sin acceso) a todos los archivos, directorios y dispositivos (aunque los directorios y archivos tienen listas de acceso ligeramente diferentes). El acceso se puede asignar a usuarios, grupos o a todos los usuarios. Solo se requiere acceso de lectura para ejecutar un programa ejecutable, siempre que el usuario tenga acceso de "estado" al directorio donde reside dicho programa.
VOS heredó las listas de control de acceso de Multics y también implementa listas de control de acceso de directorios. Si un archivo no tiene una lista de control de acceso, se aplica la lista de control de acceso predeterminada del directorio que lo contiene.
El acceso a los dispositivos se controla normalmente mediante la creación de un archivo vinculado al dispositivo por el administrador. (Esto puede ser cierto en OpenVOS, pero no se aplica al sistema operativo original). Posteriormente, se otorga acceso a este archivo, lo que establece los permisos de acceso en el dispositivo.
Abrir StrataLINK
VOS siempre ha sido un sistema operativo con reconocimiento de red. Prácticamente todas las llamadas al sistema en la API nativa tienen un parámetro que determina a qué equipo afecta la operación. [ 17 ] [ 18 ] Si la operación no es local, se redirige al equipo de destino mediante una llamada a subrutina remota . Por ejemplo, los nombres de archivo se analizan para indicar en qué equipo reside el archivo.
El modelo de red StrataLINK tiene una jerarquía de dos niveles para nombrar computadoras: cada computadora se llama módulo y los módulos se agregan en sistemas . Cada sistema se administra como una unidad. En otras palabras, todos los módulos de un sistema conocen todos los discos y dispositivos de hardware de ese sistema. Como resultado, un nombre de archivo que comienza con el nombre del sistema hace referencia a archivos en otras computadoras y se puede abrir sin necesidad de una red especial. Lo mismo ocurre con los dispositivos. Otras entidades del sistema, como los procesos, se referencian mediante nombres de módulo que se escriben % sistema # módulo . Los nombres de sistema y módulo de VOS no tienen una relación definida con direcciones IP o nombres de dominio (la API de VOS se desarrolló a finales de 1980), antes de que Internet se adoptara ampliamente y mucho antes de que se inventaran las URL.
Históricamente, StrataLINK era una red de anillo CSMA/CD propietaria de 10 Mb que permitía un alto rendimiento (para la época) con un consumo mínimo de memoria y CPU. Nunca se desarrolló más allá de los 10 Mb y se abandonó en favor de TCP/IP debido a que Ethernet se convirtió en el estándar de red dominante y a que la memoria y el procesamiento de la CPU se abarataron.
Open StrataLINK también puede utilizar X.25 para comunicaciones de área amplia. El uso de los protocolos Open StrataLINK para comunicaciones de área amplia también se conoce como StrataNET.
Véase también
Referencias
- ↑ "Matriz de soporte de la serie V/Continuum | Stratus Technologies" . Stratus | Computación de borde sin intervención . Consultado el 13 de octubre de 2025 .
- ↑ "Software y soluciones de alta disponibilidad y tolerancia a fallos - Stratus Technologies" . Stratus . Consultado el 16 de mayo de 2016 .
- ↑ "IBM impulsa la línea System/88" . Computerworld . 16 de noviembre de 1987.
- ↑ "Artículo 5121 en comp.sys.stratus" . Ftp.stratus.com . Archivado del original (TXT) el 2 de mayo de 2015. Consultado el 21 de mayo de 2016 .
- ↑ "Stratus ofrece una implementación de Unix para mainframes" . Computerworld . 12 de noviembre de 1984. pág. 86.
- ↑ "Software de código abierto basado en POSIX para VOS y OpenVOS" . Ftp.stratus.com . 24 de abril de 2015. Archivado del original el 2 de abril de 2016. Consultado el 21 de mayo de 2016 .
- ↑ Seacord, Robert C.; Plakosh, Daniel; Lewis, Grace A. (2003). Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices . Addison-Wesley. p. 11. ISBN 9780321118844.
- 1 2 "Sistemas Operativos" . Archivado del original el 27 de septiembre de 2011. Recuperado el 23 de agosto de 2011 .
- ↑ "Grupos de Google" . Groups.google.ie . Consultado el 16 de mayo de 2016 .
- ↑ Johnson, Maryfran (1 de abril de 1991). "El compilador Stratus impulsa la migración" . Computerworld . págs. 25, 32.
- ↑ "Introducción a las copias de seguridad" . Stratadoc.stratus.com . Consultado el 21 de mayo de 2016 .
- ↑ "Stratus Technologies : Casos de éxito de clientes" . Archivado del original el 3 de julio de 2007. Consultado el 14 de julio de 2007 .
- ↑ "Descripción general de la migración de OS TCP/IP a STCP" . Stratadoc.stratus.com . Consultado el 21 de mayo de 2016 .
- ↑ "Administración de OpenStrataLINK" . Stratus Technologies.
- ↑ Fundamentos de VOS 303. Stratus Technologies International. 1 de mayo de 2001. págs. I-7.
- ↑ "Grupos de Google" . Groups.google.ie . Consultado el 16 de mayo de 2016 .
- ↑ "Subrutinas C de OpenVOS" . Stratus Technologies.
- ↑ "Subrutinas PL/1 de OpenVOS" . Stratus Technologies.
Enlaces externos
- Sitio web oficial de OpenVOS
- Sistemas Computacionales Estratos
- Servidor FTP público Stratus
- Sitio de documentación de Stratus
- Sistemas operativos propietarios
- Sistemas informáticos tolerantes a fallos
- Similar a Multics
- Sistemas operativos X86-64