stringtranslate.com

Sistema operativo 4000

OS4000 es un sistema operativo propietario introducido por GEC Computers Limited en 1977 como sucesor de GEC DOS , para su gama de minicomputadoras de la serie GEC 4000 de 16 bits y, posteriormente, de 32 bits . OS4000 se desarrolló hasta fines de la década de 1990 y desde entonces ha estado en modo de solo soporte.

Historia

Los primeros sistemas operativos de la serie GEC 4000 fueron COS (Core Operating System) y DOS (Disk Operating System). Se trataba básicamente de sistemas operativos monousuario multitarea, diseñados para desarrollar y ejecutar aplicaciones de tipo control de procesos .

OS4000 se lanzó por primera vez alrededor de 1977. Reutilizó muchas de las partes de DOS, pero agregó acceso multiusuario, intérprete de línea de comandos JCL de OS4000 , procesamiento por lotes, sistema de archivos jerárquico OS4000 (aunque el formato en disco es muy similar al sistema de archivos no jerárquico de DOS). El JCL de OS4000 se basó en el intérprete de comandos Phoenix de la Universidad de Cambridge .

OS4000 Rel 3 llegó alrededor de 1980 e incluía Linked-OS, soporte para sistemas operativos Linked OS4000 para permitir la construcción de sistemas multinodo. El principal cliente de este sistema fue el servicio informático central de University College London (Euclid), donde un sistema multinodo que constaba de un servidor de archivos Hub y varios sistemas de servidores informáticos multiacceso Rim proporcionaba servicio a más de 100 usuarios simultáneos. Linked-OS también se utilizó para construir sistemas de control de procesos con conmutación por error y mayor resiliencia.

OS4000 Rel 4 llegó alrededor de 1983 y aumentó el número máximo de módulos de usuario a 150 (de nuevo, principalmente para el sistema Euclid de University College London), junto con un sistema de procesamiento por lotes mejorado. También incluía soporte para el procesador GEC 4090, que introdujo un modo de direccionamiento de 32 bits.

OS4000 Rel 5 introdujo una versión modificada del sistema de archivos OS4000 llamada CFSX, para permitir un uso más sencillo de discos más grandes. La Rel 5 inicial solo admitía el sistema de archivos CFSX, pero la compatibilidad con el sistema de archivos CFS1 original se reintrodujo rápidamente.

OS4000 Rel 6 introdujo soporte para sistemas de procesador dual (GEC 4190D).

OS4000 se desarrolló en el Reino Unido en las oficinas de GEC Computers Borehamwood en Elstree Way y en el Centro de Desarrollo de GEC Computers Dunstable en Woodside Estate, Dunstable.

Arquitectura

La arquitectura de OS4000 se basa en gran medida en las características de la plataforma en la que se ejecuta, las minicomputadoras de la serie GEC 4000 , y estas son bastante inusuales. Incluyen una característica llamada Nucleus , [2] que es una combinación de un núcleo basado en hardware y firmware, que no se puede alterar bajo el control del programa. Esto significa que muchas de las características que se encuentran típicamente en los núcleos de los sistemas operativos no necesitan estar incluidas en OS4000, ya que la plataforma subyacente realiza estas funciones en lugar del sistema operativo. En consecuencia, no hay ninguna disposición para ejecutar código de modo privilegiado en la plataforma: todo el código del sistema operativo OS4000 se ejecuta como procesos.

Nucleus admite hasta 256 procesos y los programa automáticamente utilizando un esquema de prioridad fijo. OS4000 vive completamente dentro de estos procesos. Se utiliza un conjunto de tablas de sistema para configurar Nucleus, y se puede otorgar acceso a estas tablas de sistema a los procesos que necesitan alterar la configuración de Nucleus, por ejemplo, para cargar nuevos programas en los procesos, ajustar la programación de Nucleus para procesos de tiempo compartido , etc. Las tablas de sistema indican a Nucleus qué procesos tienen permiso para comunicarse entre sí, y estas se actualizan a medida que se crean y destruyen procesos, por ejemplo, cuando los usuarios inician y cierran sesión. Toda la E/S se realiza directamente desde los procesos, y las tablas de sistema identifican qué procesos tienen acceso a qué periféricos y manejan las interrupciones de los periféricos. Por ejemplo, un controlador de dispositivo para un controlador de disco es un proceso, que es responsable de emitir comandos a través de Nucleus al controlador de disco y de manejar las interrupciones que se pasan de vuelta desde el controlador de disco a través de Nucleus, y las tablas de sistema indicarán explícitamente que el proceso tiene acceso a ese controlador de disco. Las tablas de sistema no otorgarán a este controlador de dispositivo acceso a ningún otro periférico. En caso de que un proceso se detenga o se bloquee, Nucleus busca su proceso propietario en las tablas del sistema y le informa. El proceso propietario puede entonces tomar la decisión de dejar que el sistema continúe funcionando sin ese proceso, o de sacarlo del sistema (como un pánico de Unix ), o de tomar alguna acción como recargar y/o reiniciar el proceso. Funciones como sistemas de archivos, asignación de almacenamiento, controladores de terminal, servicios de temporización, etc. también existen como procesos separados.

Nucleus implementa un sistema de memoria segmentada , en el que los procesos tienen acceso a segmentos de memoria definidos por las tablas del sistema, que son mantenidas por OS4000. OS4000 proporciona un sistema de memoria que maneja tanto la memoria residente en el almacén como la memoria virtual respaldada por el disco, que se conoce como superposición , y la superposición se realiza a nivel de segmento. OS4000 también heredó los segmentos agrupados de DOS, donde un grupo de segmentos se superponía y se recuperaba como un solo grupo, pero esta característica se usaba muy poco en OS4000. Un proceso puede usar cualquier combinación de segmentos residentes y superponibles, aunque un proceso que realice tareas en tiempo real normalmente estaría diseñado para usar solo segmentos residentes.

OS4000 admite un conjunto completamente mixto de programación de procesos dentro del mismo sistema, desde procesos en tiempo real estricto , pasando por procesos en tiempo real flexible , de tiempo compartido y en segundo plano. Dado que OS4000 también incluye funciones completas de desarrollo de programas y de prueba/depuración, esto lo convirtió en ideal para desarrollar e implementar aplicaciones en tiempo real, como control de procesos y comunicaciones de datos de alta velocidad (en ese momento), todo dentro de un solo sistema.

Sistema de archivos

OS4000 utiliza su propio sistema de archivos, que se basa en extensiones y en un tamaño de bloque variable: se pueden crear distintos archivos con distintos tamaños de bloque, que van desde 256 bytes hasta 16 384 bytes en múltiplos de 256 bytes.

Cuando se crea un archivo, se especifica la asignación inicial de disco y, si es necesario, qué asignaciones posteriores se permiten. La mayoría de los archivos reciben asignaciones discretas (fragmentadas), aunque se puede crear un archivo con una asignación contigua (única y de tamaño fijo). [3] [4]

El sistema de archivos es jerárquico, con componentes limitados a 8 caracteres y el " ." (punto) utilizado como separador de componentes. OS4000 JCL limita los caracteres en los componentes de la ruta de archivo a letras mayúsculas y números únicamente. Cada ruta de archivo comienza con un puntero de contexto que es un nombre que hace referencia a una posición en un sistema de archivos, seguido de cero o más catálogos (equivalentes a directorios de Unix ) y termina con un nombre de archivo. Cada disco en el sistema contiene un sistema de archivos separado e independiente, y el nombre de volumen de un disco es el mismo que el nombre de su catálogo de nivel superior o catálogo maestro . Debe haber un disco montado con un nombre de volumen SYSTEMque contenga archivos específicos requeridos por OS4000. En sistemas más grandes, normalmente habrá discos adicionales que contengan archivos de usuario, archivos de datos, etc., aunque todos ellos pueden coexistir en el SYSTEMdisco, si el espacio lo permite. A cada usuario se le proporciona un conjunto de punteros de contexto iniciales permitidos que apuntan a un catálogo en un sistema de archivos, y los usuarios solo pueden ver las jerarquías del sistema de archivos debajo de sus punteros de contexto iniciales . Los sistemas suelen estar configurados de forma que los usuarios sin privilegios no puedan ver los archivos de otros usuarios ni los archivos del sistema, excepto los ejecutables del sistema que se encuentran en SYS. Por convención, hay un área llamada POOLdisponible para todos los usuarios y que permite transferir o compartir archivos.

Los derechos de acceso del propietario del archivo son diferentes a los derechos de acceso de otros usuarios.

Los archivos en un sistema de archivos OS4000 están tipificados, lo que significa que el sistema de archivos puede contener varios tipos diferentes de archivos y entiende cómo se estructura el contenido. Los más comunes son los archivos lógicos que contienen una estructura de registro . Estos se dividen en archivos secuenciales y aleatorios , y los archivos aleatorios tienen todos los registros de la misma longitud para permitir la búsqueda de números de registros. Finalmente, se distinguen los archivos de texto y binarios , principalmente para evitar que las aplicaciones que esperan datos de texto utilicen accidentalmente un archivo binario. Esto da como resultado un conjunto de tipos de archivos lógicos identificados por tres letras, por ejemplo, el texto secuencial lógico es LST. Los tipos de archivos lógicos son LST, LSB, LRT, LRB. Los archivos inversos a los lógicos son los archivos físicos , a los que se accede bloque a bloque, y se conocen como archivos binarios aleatorios físicos (PRB). Los tipos de archivos PST, PSB, PRT también existen en teoría, pero tienen las mismas capacidades que los PRB y, por lo general, no se utilizan. Además, existe un tipo de archivo Logical Indexed Sequential (LIS), que es un archivo ISAM y siempre parece estar ordenado según su campo clave, y un tipo de archivo Byte stream (BYT), que se agregó en la versión 6.5 para brindar un mejor soporte al servidor NFS OS4000 . Un tipo de archivo CAT se utiliza para almacenar catálogos ; en realidad, es lo mismo que un archivo LSB, pero solo puede modificarse mediante el sistema de archivos.

Además de los archivos y catálogos, existen 3 tipos de enlaces simbólicos . Las referencias (REF) se pueden crear para apuntar a otro archivo o catálogo que el creador de la REF puede ver a través de un puntero de contexto inicial , ya sea en el mismo sistema de archivos o en otro sistema de archivos. Los punteros fuera de disco (ODP) son similares a las referencias, pero se pueden crear para apuntar a un archivo o catálogo que no se puede ver a través de ningún puntero de contexto inicial , y la creación de un ODP es una operación privilegiada disponible solo para el administrador del sistema. La compatibilidad con enlaces simbólicos de estilo Unix (texto arbitrario almacenado en un catálogo) se agregó en Rel 6.5 para brindar un mejor soporte al servidor NFS OS4000, pero los enlaces simbólicos solo se pueden crear y solo son visibles desde clientes NFS.

OS4000 también proporciona un sistema de archivos temporal no jerárquico. Este admite exactamente los mismos tipos de archivos que los sistemas de archivos permanentes, excepto CAT, REF, ODP y enlaces simbólicos. El contenido de los archivos se almacena en regiones de disco de archivo temporal dedicadas, pero los metadatos de los archivos se almacenan en la memoria. Cada usuario conectado tiene un espacio de nombre de archivo temporal privado que no puede ser visto por ningún otro usuario conectado (ni siquiera por otro usuario conectado con el mismo nombre de usuario). Los archivos temporales de un usuario se eliminan cuando el usuario cierra la sesión (e implícitamente si se reinicia el sistema). Los nombres de archivos temporales comienzan con un porcentaje " %" o un ampersand " &" y están limitados a 8 caracteres.

Entorno de acceso múltiple

A continuación se muestra una breve sesión de inicio de sesión de acceso múltiple:

En este caso, el usuario SMANha iniciado sesión y ha emitido el EXAMINEcomando. Luego, la sesión ha expirado por inactividad.

Cuando un usuario inicia sesión, el intérprete de comandos JCL OS4000 SYS.COMMse carga en el COMMproceso del usuario y se inicia. Este lee los comandos desde la terminal. Una serie de comandos del sistema están integrados en SYS.COMM. En el caso de un comando que no está integrado, los archivos binarios ejecutables se cargan en el USERproceso y se ejecutan, y los archivos JCL de texto se abren y procesan directamente por SYS.COMMsí mismos. Un usuario normalmente también obtiene un AIDAproceso que tiene privilegios y se utiliza para cargar solo programas de depuración confiables.

Aplicaciones principales

El control de procesos en tiempo real representa más de la mitad de todos los sistemas OS4000 implementados. De estos sistemas, la producción de acero representa una proporción significativa. Los primeros de estos sistemas de control de procesos en tiempo real se actualizaron de DOS a OS4000. [ cita requerida ]

Los conmutadores de paquetes X.25 representan una proporción significativa de los sistemas (aunque los conmutadores de paquetes X.25 de GEC anteriores ejecutaban un sistema operativo especial llamado NOS , que era un sistema operativo reducido a medio camino entre DOS y OS4000).

Sistemas de mando y control civil , por ejemplo, sistemas de control del servicio de bomberos que interconectan al operador del teléfono de emergencia con las estaciones de bomberos.

Prestel (Reino Unido) y los sistemas públicos Videotex utilizados en muchos otros países, y muchos sistemas privados Viewdata .

Minicomputadoras multiusuario, utilizadas en muchos establecimientos de educación e investigación.

Puertos

OS4000 fue portado a la minicomputadora GEC Serie 63 donde fue conocido como OS6000 . [5] Esto requirió la adición de una emulación de software Nucleus, ya que esta no era una característica del hardware GEC Serie 63. GEC Computers abandonó OS6000, y el código fuente fue entregado a Daresbury Laboratory, que era el principal usuario del mismo, y continuaron manteniéndolo actualizado con las versiones de OS4000 durante la vida útil de sus dos sistemas GEC Serie 63.

Véase también

Referencias

  1. ^ "Lenguaje de Babbage". Datamation . Consultado el 7 de julio de 2009 .
  2. ^ "Manual de la unidad central de procesamiento Nucleus" (PDF) . Computadora GEC 4000 . Diciembre de 1977 . Consultado el 15 de junio de 2009 .
  3. ^ "Libro de datos del programador 85-64732/1" (PDF) . GEC Computers Ltd. 1986. págs. 28–35 . Consultado el 10 de octubre de 2023 .
  4. ^ "Libro de datos del usuario de terminal 85-62043/6" (PDF) . GPT Computers Ltd. 1988. págs. 7–9 . Consultado el 10 de octubre de 2023 .
  5. ^ "Computadora GEC Serie 63". Boletín de la División de Computación FORUM 1981-83 . Julio de 1983. pág. 5. Hardware anunciado recientemente . Consultado el 15 de junio de 2009 .

Lectura adicional

Enlaces externos