stringtranslate.com

OS/360 y sucesores

OS/360 , oficialmente conocido como IBM System/360 Operating System , [1] [2] es un sistema operativo de procesamiento por lotes descontinuado desarrollado por IBM para su entonces nueva computadora central System/360 , anunciada en 1964; fue influenciado por los paquetes anteriores IBSYS/IBJOB y Sistema de control de entrada/salida (IOCS) para IBM 7090/7094 [ cita necesaria ] y aún más por el sistema operativo PR155 para los procesadores IBM 1410/7010 . [ cita necesaria ] Fue uno de los primeros sistemas operativos [NB 1] que requirió que el hardware de la computadora incluyera al menos un dispositivo de almacenamiento de acceso directo .

Aunque OS/360 en sí fue descontinuado, los sistemas operativos sucesores, incluido el almacenamiento virtual MVS y z/OS de 64 bits , todavía se ejecutan a partir de 2023 y mantienen la compatibilidad a nivel de aplicación con OS/360.

Descripción general

IBM anunció tres niveles diferentes de OS/360, generados a partir de las mismas cintas y compartiendo la mayor parte de su código. IBM finalmente cambió el nombre de estas opciones e hizo algunos cambios de diseño significativos:

Los usuarios solían acuñar apodos, por ejemplo, "Big OS", "OS/MFT", pero ninguno de estos nombres tenía ningún reconocimiento oficial por parte de IBM.

IBM proporcionó OS/360 como un conjunto de bibliotecas en cinta que la instalación tenía que restaurar en DASD para poder realizar una generación del sistema . IBM también ofreció un conjunto de cintas fuente opcionales que la instalación podría utilizar para modificar y ensamblar módulos que IBM normalmente proporcionaba como código objeto. Además, IBM ofreció microfichas que contaban con un listado ensamblado del material básico del programa y del servicio posterior. [NB 3] IBM continuó distribuyendo código fuente hasta que impuso una política de Código objeto únicamente [3] (OCO) para el software con licencia.

El otro sistema operativo importante para el hardware System/360 fue DOS/360 .

OS/360 es de dominio público [4] y se puede descargar gratuitamente. Además de ejecutarse en hardware System/360 real, se puede ejecutar en el emulador gratuito Hercules , que se ejecuta en la mayoría de los sistemas UNIX y similares, incluidos Linux , Solaris y macOS , así como Windows . Hay CD listos para usar de OS/360 que proporcionan sistemas OS/360 21.8 pregenerados listos para ejecutarse en Hercules.

Origen

IBM originalmente pretendía que System/360 tuviera solo un sistema operativo orientado por lotes [NB 4] , OS/360, [5] capaz de ejecutarse en máquinas tan pequeñas como 32 KiB. [NB 5] También pretendía suministrar un sistema operativo de tiempo compartido independiente, TSS/360 , para el System/360 Model 67 . Hay al menos dos explicaciones de por qué IBM finalmente decidió producir otros sistemas operativos orientados por lotes más simples:

IBM introdujo una serie de medidas provisionales para evitar que las ventas de hardware System/360 colapsaran: primero soporte de programación básica (BPS) y BOS/360 (sistema operativo básico, para las máquinas más pequeñas con memorias de 8 KB), luego TOS/360 ( sistema operativo básico, para las máquinas más pequeñas con memorias de 8 KB). Operating System, para máquinas con al menos 16K de memoria de bytes y sólo unidades de cinta), y finalmente DOS/360 (Disk Operating System), que se convirtió en un sistema operativo convencional y es el antepasado del ampliamente utilizado z/VSE en la actualidad . [7] [8]

IBM lanzó tres variantes de OS/360: PCP (Programa de control primario), un recurso provisional que sólo podía ejecutar un trabajo a la vez, en 1966; MFT ( Multiprogramación con número fijo de tareas) para las máquinas de gama media y MVT (Multiprogramación con número variable de tareas) para las máquinas de gama alta. [9] MFT y MVT se utilizaron al menos hasta 1981, [10] una década después del lanzamiento de sus sucesores. [11] La división entre MFT y MVT surgió debido a limitaciones de almacenamiento y restricciones de programación. Inicialmente IBM sostuvo que MFT y MVT eran simplemente "dos configuraciones del programa de control OS/360 ", aunque más tarde IBM las describió como "versiones separadas de OS/360". [2] [5]

IBM originalmente escribió OS/360 en lenguaje ensamblador . Más tarde, IBM escribió algo de código OS/360 en un nuevo lenguaje, Basic Systems Language (BSL), [12] derivado de PL/I. Una gran cantidad del código TSO de la versión 20 se escribió en BSL.

TSS/360 llegó tan tarde y fue tan poco confiable que IBM lo canceló, aunque posteriormente IBM proporcionó tres versiones del TSS/370 PRPQ. En ese momento, CP-67 estaba funcionando lo suficientemente bien como para que IBM lo ofreciera sin garantía como una instalación de tiempo compartido para algunos grandes clientes. [13]

Variantes de OS/360

Estas tres opciones ofrecían funciones tan similares que portar aplicaciones entre ellas normalmente requería un esfuerzo mínimo; en ambos se ejecutaban las mismas versiones de la mayoría de los productos del programa IBM [NB 6] , aplicaciones y software de utilidad . El texto siguiente trata principalmente a PCP , MFT y MVT simplemente como nombres nuevos para los SSS , MSS y MPS originales , aunque hubo algunos cambios de diseño. Además, el texto no distingue entre M65MP y MVT.

Oficialmente, PCP, MFT y MVT no son sistemas operativos separados de OS/360, [2] son ​​sólo opciones de configuración en el momento de la instalación; en palabras actuales, tres variantes diferentes de OS Nucleus y Scheduler. Sin embargo, debido a comportamientos y requisitos de memoria bastante diferentes, los usuarios comúnmente los consideran sistemas operativos separados de facto y se refieren a ellos como "OS/360 temprano", "OS/MFT", "OS/MVT", respectivamente. MFT se diferencia de MVT principalmente en la forma en que gestiona la memoria: al instalar MFT, los clientes especifican en la generación del sistema (SysGen) un número fijo [NB 7] de particiones , áreas de memoria con límites fijos, en las que se pueden instalar los programas de aplicación. ejecutar simultáneamente. [5]

PCP

El Programa de control primario (PCP) estaba destinado a máquinas con memoria pequeña. Es similar a MFT [NB 8] con una partición . La experiencia indicó que no era aconsejable instalar OS/360 en sistemas con menos de 128 KiB de memoria, aunque era posible un uso de producción limitado en máquinas mucho más pequeñas, como 48 KiB de memoria. IBM eliminó la opción PCP en las versiones finales de OS/360, dejando solo MFT II y MVT, los cuales requerían más memoria.

También conocido como SYS=MIN en macro expansiones que dependían del sistema.

MFT

La multiprogramación con un número fijo de tareas (MFT) estaba destinada a servir como solución provisional hasta que la multiprogramación con un número variable de tareas (MVT), la configuración objetivo prevista de OS/360, estuvo disponible en 1967. Las primeras versiones de MVT tenían muchos problemas, por lo que se siguió utilizando la MFT más sencilla durante muchos años. Después de introducir nuevas máquinas System/370 con memoria virtual en 1972, IBM desarrolló MFT 2 en OS/VS1 , el último sistema de esta línea en particular.

La primera versión de MFT [14] compartía gran parte del código y la arquitectura con PCP y estaba limitada a cuatro particiones . Era muy engorroso ejecutar varias particiones. Muchas instalaciones utilizaron Houston Automatic Spooling Priority (HASP) para mitigar la complejidad.

MFT Versión II (MFT-II) [15] compartía mucho más código del Programa de control y del Programador con MVT, y era mucho más flexible de ejecutar. El número máximo de particiones aumentó a 52.

Las modificaciones posteriores de MFT-II agregaron subtareas , de modo que el número fijo de tareas ya no era fijo, aunque el número de particiones seguía siendo una limitación.

La experiencia indicaba que no era aconsejable instalar MFT en sistemas con menos de 256 KiB de memoria, [16] que en la década de 1960 era una cantidad bastante grande.

También conocido como SYS=INT en macro expansiones que dependían del sistema.

TVM

La multiprogramación con un número variable de tareas (MVT) [17] fue la más sofisticada de las tres configuraciones disponibles del programa de control de OS/360 , y una de las dos configuraciones disponibles en las versiones finales. [18] MVT estaba destinado a las máquinas más grandes de la familia System/360. Introducido en 1964, no estuvo disponible hasta 1967. Las primeras versiones tuvieron muchos problemas y el MFT más simple continuó utilizándose durante muchos años. La experiencia indicó que no era aconsejable instalar MVT en sistemas con menos de 512 KiB de memoria.

MVT trataba toda la memoria no utilizada por el sistema operativo como un único grupo desde el cual se podían asignar regiones contiguas según lo requerido por un número ilimitado [NB 9] de aplicaciones y programas de sistemas simultáneos. Este esquema era más flexible que el de MFT y en principio usaba la memoria de manera más eficiente, pero era propenso a la fragmentación ; después de un tiempo uno podía descubrir que, aunque había suficiente memoria libre en total para ejecutar un programa, estaba dividida en partes separadas, ninguna de ellas que era lo suficientemente grande. [5] System/360 carecía de hardware de reubicación de memoria, por lo que la compactación de la memoria no se podía utilizar para reducir la fragmentación. Una instalación llamada Rollout/Rollin podría cambiar un trabajo en ejecución a un almacenamiento secundario para que su memoria esté disponible para otro trabajo. Sin embargo, el trabajo implementado tendría que transferirse a las ubicaciones de memoria originales cuando volvieran a estar disponibles. [19]

En 1971, se agregó la opción de tiempo compartido (TSO) para usar con MVT como parte de la versión 20.1. TSO se utilizó ampliamente para el desarrollo de programas porque proporcionaba un editor, la capacidad de enviar trabajos por lotes, recibir notificaciones sobre su finalización y ver los resultados sin esperar informes impresos, y depuradores para algunos de los lenguajes de programación utilizados en System/360. TSO en OS/360 [NB 10] se comunicaba con terminales mediante el método de acceso a telecomunicaciones (TCAM). El nombre de TCAM sugiere que IBM esperaba que se convirtiera en el método de acceso estándar para las comunicaciones de datos, pero de hecho, TCAM en OS/VS2 se usó casi en su totalidad para TSO y fue reemplazado en gran medida por el Método de acceso a telecomunicaciones virtuales (VTAM) a mediados o finales. Década de 1970.

También se lo conoce como SYS=VMS en las invocaciones de algunas macros que dependían del sistema.

M65MP

El multiprocesamiento modelo 65 (M65MP) es una variante de MVT. Se ejecuta en 360/65 en modo multisistema [20] M65MP captura el uso de la instrucción Establecer máscara del sistema (SSM) para serializar el código deshabilitado entre las dos CPU. En su mayor parte, un sistema M65MP tiene el mismo comportamiento e interfaces que cualquier otro sistema MVT.

El parámetro de palabra clave SYS=VMS incluía M65MP así como el monoprocesador MVT.

Funciones compartidas

PCP, MFT y MVT ofrecen funciones similares desde el punto de vista de los programas de aplicación:

Funciones compartidas excluyendo PCP

Algunas funciones estaban disponibles solo para MFT y MVT:

System/370 y sistemas operativos de memoria virtual

Cuando se anunció System/370 en 1970, ofrecía esencialmente las mismas funciones que System/360 pero con aproximadamente 4 veces las velocidades de procesador de las CPU System/360 de precio similar. [21] Luego, en 1972, IBM anunció System/370 Advanced Functions , cuyo elemento principal era que las ventas futuras de System/370 incluirían capacidad de memoria virtual y esto también podría adaptarse a las CPU System/370 existentes. Por lo tanto, IBM también se comprometió a ofrecer sistemas operativos mejorados que pudieran soportar el uso de memoria virtual. [22] [23]

OS/360

IBM proporcionó una opción OS/360 SYSGEN para compatibilidad con S/370, que no admitía DAT pero sí:

SO/VS1

OS/VS1 es el sucesor de MFT y ofrece funciones similares con varias adiciones, por ejemplo, RES y memoria virtual. VSAM (ver más abajo) estuvo inicialmente disponible como una versión de componente independiente (ICR) y luego se integró en la base OS/VS1. [5] IBM lanzó mejoras bastante menores de OS/VS1 hasta 1983, y en 1984 anunció que no habría más. AIX/370 , AIX/ESA , DPPX , IX/370 , OS/VS1 y TSS/370 son los únicos sistemas operativos System/370 que no tienen descendientes modernos.

OS/VS2 SVS y MVS

La versión 1 de OS/VS2 era solo MVT más memoria virtual y VSAM (ver más abajo). [5] Esta versión finalmente pasó a llamarse OS/VS2 SVS , para almacenamiento virtual único, cuando se introdujo OS/VS2 Release 2, también conocido como MVS, para almacenamiento virtual múltiple. SVS fue concebido como un trampolín de MVT a MVS, y hoy solo tiene interés histórico.

En 1974, IBM lanzó lo que describió como OS/VS2 Versión 2, pero que en realidad era un nuevo sistema operativo compatible con OS/VS2 Versión 1. El Supervisor del nuevo sistema había sido reescrito en gran medida en un nuevo dialecto de BSL. PL/S ; [24] [25] BSL y PL/S eran dialectos de PL/I con extensiones diseñadas para transcribir código en lenguaje ensamblador , incluidas instrucciones privilegiadas necesarias para controlar la computadora en su conjunto. Los componentes del sistema operativo urgentes, como OS Dispatcher y IOS , en particular, entre muchos otros, permanecieron codificados en lenguaje ensamblador , que había sido mejorado para OS/VS en el ensamblador IFOX00 [NB 13] (del antiguo, OS/ 360 Ensamblador IEUASM).

La característica más notable de la nueva versión fue que admitía múltiples espacios de direcciones virtuales: diferentes aplicaciones pensaban que estaban usando el mismo rango de direcciones virtuales, pero las funciones de memoria virtual del nuevo sistema las asignaban a diferentes rangos de direcciones de memoria real. El espacio de direcciones de cada aplicación consta de 3 áreas: sistema operativo (una instancia compartida por todos los trabajos); un área de aplicación única para cada aplicación; Área virtual compartida utilizada para diversos fines, incluida la comunicación entre puestos de trabajo. IBM prometió que las áreas de aplicación siempre serían de al menos 8 MB. Este enfoque eliminó el riesgo de fragmentación de la memoria presente en MVT y SVS y mejoró la seguridad interna del sistema. [5] El nuevo sistema rápidamente pasó a ser conocido como " MVS " (Multiple Virtual Storages), el OS/VS2 original pasó a ser conocido como "SVS" (Single Virtual Storage) y la propia IBM aceptó esta terminología y etiquetó a los sucesores de MVS como "MVS/ xxx ". . [26]

MVS introdujo un nuevo enfoque para la gestión de cargas de trabajo, permitiendo a los usuarios definir objetivos de rendimiento para trabajos por lotes de alta prioridad. Esto permitió a los usuarios dar a sus sistemas más trabajo que antes sin afectar el rendimiento de los trabajos de mayor prioridad. [27]

MVS fue el primer sistema operativo convencional de IBM en System/370 [NB 14] que admitía lo que IBM llamó multiprocesamiento estrechamente acoplado , en el que 2 (más tarde, hasta 12, para mainframes IBM y hasta 16, para mainframes Amdahl ) CPU compartidas. acceso simultáneo a la misma memoria (y una única copia del sistema operativo y dispositivos periféricos), lo que proporciona una mayor potencia de procesamiento y un grado de degradación elegante si falla una CPU (lo que, afortunadamente, se convirtió en un evento cada vez más raro, a medida que aumentaba el tiempo de actividad del sistema). de horas a días y, luego, a años ).

Inicialmente, MVS recibió un administrador de colas de trabajos llamado JES2 (Subsistema de entrada de trabajos 2), que descendía de HASP ( Prioridad de cola automática de Houston ) y también admitía la entrada remota de trabajos desde estaciones de trabajo ubicadas en otros lugares. JES2 sólo puede gestionar trabajos para una CPU (que podría ser un sistema multiprocesador estrechamente acoplado). En 1976, IBM proporcionó otra opción, JES3 (Subsistema de entrada de trabajos 3), un descendiente de ASP ( Procesador de soporte adjunto ), que permite que una CPU administre una sola cola de trabajos que alimenta trabajo a varias CPU físicamente distintas y, por lo tanto, permite que la consola de un operador gestionar el trabajo de todas esas CPU. [28] Nota: JES1 era el administrador de colas de trabajos para OS/VS1 (ver arriba).

VSAM

IBM esperaba que el método de acceso al almacenamiento virtual (VSAM) reemplazara sus métodos anteriores de acceso directo, indexado y secuencial, ya que proporcionaba versiones mejoradas de estos: [29] [30]

Estos formatos VSAM se convirtieron en la base de los sistemas de gestión de bases de datos de IBM , IMS/VS y DB2 , normalmente ESDS para el almacenamiento de datos propiamente dicho y KSDS para los índices.

VSAM también proporciona una nueva implementación de la función de catálogo que permite a las aplicaciones acceder a archivos por nombre, sin necesidad de saber en qué unidad de disco se encuentran. Los conjuntos de datos VSAM deben definirse en un catálogo VSAM antes de usarse, y los conjuntos de datos que no son VSAM también se pueden enumerar en un catálogo VSAM. El catálogo maestro MVS debe ser un catálogo VSAM. [30] Los catálogos se proporcionaban originalmente en OS/360 en forma de CVOL; MVS agregó una estructura de catálogo separada para VSAM; Posteriormente, IBM añadió un tercer tipo de catálogo conocido como catálogo ICF. [32] (IBM eliminó el soporte para catálogos CVOL y VSAM a partir de 2000, ya que no eran compatibles con el año 2000; por lo tanto, en z/OS, solo se admiten catálogos ICF). [33]

SCN

En 1974 IBM anunció la Arquitectura de Red de Sistemas , cuyo objetivo era reducir el coste de funcionamiento de grandes redes de terminales, principalmente mediante el uso de líneas de comunicaciones de forma mucho más eficiente. Esto sólo está disponible para los sistemas operativos de memoria virtual de IBM, ya que su componente de software de mainframe, VTAM, sólo está disponible con estos sistemas operativos.

Versiones y mejoras posteriores de MVS

En 1977, IBM anunció MVS/System Extensions, un producto de programa (es decir, costaba dinero extra) que mejoraba el rendimiento de MVS y añadía funcionalidad. [34]

Los descendientes de MVS todavía se utilizan en los últimos descendientes de System/360, System/390 y zSeries ; se le cambió el nombre a OS/390 para System/390, y la versión de 64 bits para zSeries se denominó z/OS .

Estructura, interfaz y lógica.

Por razones de tamaño, esta sección se concentra en la opción MVT de OS/360; PCP y MFT son muy similares; con cambios de nomenclatura y algunas diferencias menores. OS/VS1 y SVS tienen prácticamente la misma estructura que MFT II y MVT, mientras que MVS , aunque conserva gran parte de la lógica de MVT, tiene mejoras importantes que sería mejor abordar en un artículo separado. Este artículo se adhiere al uso que hace IBM del término almacenamiento en lugar de memoria .

asignación de CPU

OS/360 asigna procesadores a tareas, que son análogas a procesos o subprocesos livianos en otros sistemas. Cada tarea tiene un Bloque de control de tareas (TCB) y una pila de Bloques de solicitud [NB 15] (RB). Una tarea se puede enviar o no [NB 16] y un RB está esperando [NB 17] o no está esperando. El Dispatcher selecciona la tarea despachable de mayor prioridad cuyo RB actual no está esperando.

MVS asigna procesadores a espacios de direcciones , que son análogos a los procesos, y a bloques de solicitud de servicio (SRB) y tareas dentro de los espacios de direcciones. Cada espacio de direcciones tiene un bloque de control del espacio de direcciones (ASCB), una cola de SRB y una cola de TCB.

Diseño de almacenamiento

En OS/360, todo el almacenamiento es visible para todo el código, aunque la protección de recuperación puede impedir el acceso de código sin privilegios a algunos bloques de control o entre trabajos. El almacenamiento principal para MVT se divide en un área del sistema ( fija ) en la parte inferior del almacenamiento real, un área común en la parte superior y un área privada en el medio. Estos contienen las siguientes áreas.

Área fija
Esta área comienza en la ubicación absoluta 0 y contiene
El núcleo.
Esta es una sección de almacenamiento en la ubicación 0, cargada desde SYS1.NUCLEUS(IEANUCxx), donde xx normalmente es 01. Para el modelo 65 MP (M65MP), hay una copia separada del prefijo (ubicaciones 0-4095) para cada procesador [35] : 72  y el término dirección absoluta se refiere a la dirección realmente enviada a la memoria después de cualquier prefijo, mientras que el término dirección real se refiere a la dirección antes de que se aplique cualquier prefijo. Nucleus contiene manejadores de interrupciones, bloques de control, rutinas SVC tipo 1 y tipo 2 , área transitoria SVC, rutinas que pueden llamarse directamente mediante código sin privilegios y rutinas que solo pueden llamarse mediante código privilegiado.
Área de cola del sistema (SQA).
Esta es un área desde la cual el sistema adquiere almacenamiento compartido entre trabajos.
Área privada.
Esta es un área de la cual MVT adquiere almacenamiento para las regiones. Los tipos de regiones incluyen
Trabajo
Asignado por el iniciador para trabajos por lotes enviados, por ejemplo, por lector de tarjetas, CRJE, RJE, TSO
Primer plano
Contiene una sesión TSO intercambiada . Creado por la tarea Control de tiempo compartido (TSC).
Montar
Asignado por el Control de tareas iniciadas (STC) para el comando MONTAR del operador .
Tarea iniciada
Asignado por el Control de tarea iniciada (STC) para el comando INICIO del operador .
Área común

'Esta es una sección de almacenamiento en la dirección física más alta. Contiene

Área BLDL para residentes
Esta es un área que almacena en caché las entradas del directorio seleccionadas.
Región del programador maestro
El Programador maestro y la tarea de comunicación se ejecutan en esta región, que asigna NIP.
Área de paquete de enlaces [NB 18] (LPA)
Esta es un área en la que MVT carga rutinas de métodos de acceso reentrante y otros programas en el momento de la IPL que posteriormente pueden ser compartidos por todos los trabajos.

Diseño de almacenamiento SVS

SVS es similar excepto que el área del sistema está en la parte superior e inferior del almacenamiento virtual en lugar del almacenamiento real, el Nucleus está en el almacenamiento Virtual=Real (V=R), el área privada contiene un área de cola del sistema local (LSQA) para cada región y la LPA se divide en:

Área de paquete de enlaces paginables (PLPA)
Esta es un área que contiene todos los módulos de SYS1.LPALIB; el conjunto de datos de la página que lo respalda se conserva en todas las IPL, excepto cuando se especifica la opción de creación de LPA (CLPA).
Área de paquete de enlaces modificado (MLPA)
Esta es un área que contiene módulos enumerados en un miembro IEALPAxx de SYS1.PARMLIB y que reemplaza módulos en PLPA durante la duración de una IPL.
Área de paquete de enlace fijo (FLPA).
Esta es un área que contiene módulos de página fija enumerados en un miembro IEAFIXxx de SYS1.PARMLIB y que reemplaza módulos en PLPA durante la duración de una IPL.

Diseño de almacenamiento MVS/370

En MVS todos los espacios de direcciones comparten el área del sistema [NB 19] pero no el área privada. MVS añade:

Área de almacenamiento común (CSA)
Esta es un área desde la cual MVS puede asignar dinámicamente almacenamiento compartido por todos los espacios de direcciones.
Área de trabajo del sistema (SWA)
Esta es un área que contiene bloques de control que en OS/360 y SVS estaban contenidos en SYS1.SYSJOBQE.

Diseño de almacenamiento MVS/XA, MVS/ESA y OS/390

En MVS/XA y posteriores, hay áreas de sistema, privadas y comunes debajo delLínea de 16  Mi B (2 24 bytes) y áreas extendidas entre16  Mi B y2  Gi B (2 31 bytes).

Diseño de almacenamiento de z/OS

En z/OS , el diseño de almacenamiento [36] es similar al de MVS/XA, MVS/ESA y OS/390; almacenamiento encima del La barra Gi B se gestiona mediante servicios diferentes al almacenamiento debajo de la barra.

proceso de IPL

Cuando los operadores seleccionan inicialmente LOAD, el sistema envía un READ IPLcomando al dispositivo seleccionado, leyendo 24 bytes del cilindro 0, pista 0, registro 1, en la ubicación de almacenamiento 0. [35] : 22  bytes 8-23 leídos y transferidos al registro de arranque [37] cilindro 0, pista 0, registro 2, que a su vez lee y transfiere al cargador de IPL. El cargador IPL realiza la limpieza inicial, localiza el núcleo solicitado y lo carga con reubicación; el csect del controlador de interrupciones siempre está en la ubicación 0 y el csect de inicialización del núcleo siempre es el último, por lo que eventualmente puede descartarse. El Programa de inicialización de Nucleus (NIP) inicializa varios componentes del sistema.

Inicialmente, NIP debe proporcionar los servicios que necesita. Sin embargo, a medida que inicializa varias funciones del sistema operativo, comienza a utilizar servicios estándar, por ejemplo, utiliza la OBTAINmacro para leer un bloque de control de conjunto de datos (DSCB) de una tabla de contenido de volumen (VTOC).

NIP lee miembros del SYS1.PARMLIBconjunto de datos para obtener diversos datos operativos. Estos miembros pueden especificarse de forma predeterminada, por el operador o mediante parámetros en otros miembros.

NIP eventualmente crea una región de Programador maestro desde el área privada y la transfiere a IEEVIPL para inicializar el Programador maestro y la tarea de comunicación, lo que completa la inicialización del sistema.

Unidades de trabajo similares a puestos de trabajo

Además de los trabajos por lotes, OS/360 admite varias categorías de trabajo que maneja de manera similar a los trabajos por lotes. En todos los casos, el sistema tiene que procesar JCL, asignar una región, asignar dispositivos e iniciar el programa de pasos de trabajo. Para un trabajo por lotes, el lector/intérprete procesa JCL desde un dispositivo externo; para STARTcomandos, MOUNTcomandos y TSO LOGON , el sistema genera JCL invocando un procedimiento catalogado.

Interfaces

API

OS/360 tiene un bloque de control conocido como Tabla de vectores de comunicaciones (CVT), que contiene punteros a otros bloques de control y a varias rutinas. Algunas de las macroinstrucciones de OS/360 se refieren a campos en la CVT y otros bloques de control.

OS/360 tiene macros para proporcionar asignaciones de secciones de algunos bloques de control, aunque muchas macros tienen compensaciones codificadas en lugar de los nombres en las macros de asignación.

Los servicios de OS/360 suelen tener parámetros en el registro 1; algunos usan los registros 0 y 1 y otros usan los registros 0, 1 y 15.

Las macros de servicio de OS/360 suelen tener tres formas:

Ejecutar formulario
Realice la función utilizando una lista de parámetros proporcionada
Formulario de lista
Genere una lista de parámetros con parámetros preestablecidos que puedan ser utilizados por una macro de formulario de ejecución.
Forma estándar
Genere cualquier lista de parámetros requerida y realice la función.

Muchos de los servicios importantes se implementan en rutinas SVC y conservan los registros 2-14. Otros se implementan como subrutinas directamente invocables, con direcciones de entrada en bloques de control del sistema y requieren que el Registro 13 apunte a un área de guardado estándar; estos normalmente conservan los registros 2-13. En cualquier caso, el registro 15 a la salida normalmente contiene un código de retorno; muchos servicios devuelven datos adicionales en los registros 0 y 1.

Consolas de operador

OS/360 requiere al menos una consola de operador; Hay dos niveles de soporte.

Primario
Este es un nivel básico de soporte que permite solo una consola principal, una consola alternativa opcional
Soporte para múltiples consolas (MCS)
MCS permite una consola maestra y hasta 31 consolas secundarias. Cualquiera de las 32 consolas podrá tener una consola alternativa para recibir su tráfico de mensajes en caso de que falle. MCS permite registrar el tráfico de mensajes en un registro impreso, que puede ser una consola secundaria o el registro del sistema (SYSLOG) en DASD. MCS incluye soporte para consola de operador de pantalla independiente del dispositivo (DIDOCS), un marco unificado para admitir consolas basadas en CRT.

Cada mensaje emitido por un operador de escritura a (WTO) o un operador de escritura a respuesta (WTOR) tiene asociado uno o más códigos de ruta. El operador puede limitar una consola para que muestre solo códigos de ruta específicos. Un uso típico para esto sería colocar una consola en una biblioteca de cintas y mostrar en ella sólo mensajes relevantes para el bibliotecario de cintas. El código de ruta especial 7 hace que el texto del mensaje se incluya en el registro de mensajes del trabajo.

Cada mensaje también tiene un descriptor que controla cómo se procesa.

Uno de los comandos del operador clave es REPLY, que proporciona una respuesta a la WTORmacro. El operador sólo puede responder a un WTOR en una consola que recibió su mensaje de texto.

Un comando de teclado para consolas de visualización, por ejemplo, 2250 , 2260 , 3270 , es CONTROL ( K ), que establece opciones de procesamiento para, por ejemplo, desplazamiento.

JCL

Línea de tiempo

Estos datos se han tomado de IBM 360 Operating Systems Release History, System/370 Market Chronology of Products & Services, IBM. "Fechas de anuncio, disponibilidad y retiro de servicios y marketing de z/OS, z/OS.e y OS/390".y cartas de anuncios de IBM.

Ver también

Notas

  1. ^ Pocos años después de Atlas Supervisor , Burroughs MCP y GECOS
  2. ^ VMS no estaba relacionado con el sistema VMS del DEC VAX .
  3. ^ Las correcciones temporales del programa no estaban disponibles como código fuente.
  4. ^ IBM finalmente proporcionó instalaciones interactivas para OS/360, por ejemplo, CRJE, ITF, TSO .
  5. ^ IBM no logró este objetivo y OS/360 requirió 44 KiB incluso para una producción limitada.
  6. ^ Por ejemplo, HASP no se pudo ejecutar en PCP.
  7. ^ El operador podía cambiarlos manualmente ingresando un comando DEFINE desde una consola del operador, pero el sistema no los ajustó automáticamente para que coincidieran con la carga de trabajo.
  8. ^ Pero no a MFT II
  9. ^ Sujeto a disponibilidad de recursos, por ejemplo, memoria para una región, clave de protección para una región de aplicación.
  10. ^ IBM luego agregó la capacidad de usar VTAM para TSO, pero solo en MVS.
  11. ^ El conjunto de datos debe tener el atributo inamovible.
  12. ^ Pero no IDAL
  13. ^ También se envía con DOS/VS y VM/370 .
  14. ^ OS/360 M65MP y TSS/360 admiten SMP.
  15. ^ El bloque de solicitud de servicio de MVS no está asociado con un TCB específico, a pesar del nombre.
  16. ^ Es decir, tiene uno o más indicadores de no envío establecidos en la TCB.
  17. ^ Es decir, tiene un recuento de espera distinto de cero.
  18. ^ También conocida como cola Link-Pack.
  19. ^ Excepto que hay una copia separada del PSA para cada procesador.

Referencias

Citas

  1. ^ Conceptos e instalaciones del sistema operativo IBM/360 (PDF) . IBM. 1965. C28-6535-0.
  2. ^ Introducción abc OS/360 (PDF) . Biblioteca de referencia de sistemas IBM. IBM. 1972. GC28-6534-3.
  3. ^ "DISTRIBUCIÓN DE PROGRAMAS CON LICENCIA DE IBM Y MATERIALES DE PROGRAMAS CON LICENCIA Y ACUERDO MODIFICADO PARA PROGRAMAS CON LICENCIA DE IBM". Cartas de anuncio. IBM . 8 de febrero de 1983. LTR ENUS283-016 . Consultado el 18 de noviembre de 2022 .
  4. ^ "SISTEMA OPERATIVO IBM OS/360". Enciclopedia Británica . Consultado el 11 de marzo de 2019 .
  5. ^ abcdefg Auslander, MA; Jaffe, JF (1973). "Estructura funcional de los sistemas operativos de almacenamiento virtual de IBM Parte I: Influencias de la traducción dinámica de direcciones en la tecnología del sistema operativo" (PDF) . Revista de sistemas IBM . vol. 4.IBM.
  6. ^ "Sistema/360 Modelo 91". Archivos de IBM . IBM. 23 de enero de 2003.
  7. ^ ab Johnston (1 de abril de 2005). "VSE: una mirada a los últimos 40 años". z/Journal (abril/mayo de 2005). Thomas Communications, Inc. Archivado desde el original el 4 de marzo de 2009.
  8. ^ Chuck Boyer. «La Revolución 360» (PDF) .
  9. ^ Introducción, op. cit., página 50
  10. ^ TY Johnston. "Pasar a un entorno de VM total" (PDF) . Centro del acelerador lineal de Stanford .
  11. ^ "Encuesta SHARE de mediados de los setenta". Archivado desde el original el 12 de mayo de 2008.
  12. ^ Especificaciones del idioma BSL (PDF) . IBM. Z28-6642-0.
  13. ^ IBM 360/67 y CP/CMS
  14. ^ Conceptos y consideraciones de multiprogramación del sistema operativo IBM System/360 con un número fijo de tareas (MFT) (PDF) . Primera edición. IBM. Octubre de 1966. GC27-6926-0.
  15. ^ Planificación de multiprogramación con un número fijo de tareas Versión II (MFT II) (PDF) . Primera edición. IBM. Octubre de 1967. C27-6939-0.
  16. ^ Ray Saunders. "MVS... ¿Y antes de OS/360?". Archivado desde el original el 20 de diciembre de 2007.
  17. ^ Guía MVT del sistema operativo IBM System/360, versión 21 del sistema operativo (PDF) . Quinta edición. IBM. Marzo de 1972. GC28-6720-4.
  18. ^ Introducción al sistema operativo IBM System/360, versión 21 del sistema operativo (PDF) . Biblioteca de referencia de sistemas IBM (Cuarta ed.). IBM. 15 de enero de 1972. págs. 50–51. GC28-6534-3 . Consultado el 3 de agosto de 2013 . existen dos configuraciones del programa de control [OS/360]: ... La configuración de multiprogramación con número variable de tareas (MVT)
  19. ^ Corporación IBM (1973). Versión 21 de generación del sistema operativo (PDF) . pag. 182.
  20. ^ "Apéndice A. Sistema multiprocesamiento". Características funcionales de IBM System/360 modelo 65 (PDF) . Cuarta edición. IBM. Septiembre de 1968. págs. 30–34. A22-6884-3.
  21. ^ "Anuncio del sistema/370". IBM. 30 de junio de 1970.
  22. ^ "Cronología del DPD (1970-1974)". IBM. 23 de enero de 2003.DPD = División de Procesamiento de Datos, que era responsable de los sistemas medianos y grandes de IBM.
  23. ^ Pugh, EW; Johnson, LR; Palmer, JH (1991). Sistemas 360 y principios de 370 de IBM . Prensa del MIT. ISBN 0-262-16123-0.
  24. ^ Guía de listados generados por PL/S . Primera edición. IBM. Julio de 1972. GC28-6786-0.
  25. ^ Guía de PL/S II (PDF) . Primera edición. IBM. Mayo de 1974. GC28-6794-0.
  26. ^ 3033 Comunicado de prensa técnico
  27. ^ Implementación de la gestión de cargas de trabajo de MVS
  28. ^ Automatización del subsistema de entrada de trabajos 3 (JES3)
  29. ^ VSAM desmitificado (PDF) (Tercera ed.). Marzo de 2013.
  30. ^ ab Jay Moseley (17 de enero de 2015). "Tutorial VSAM".
  31. ^ Jay Moseley. «Interfaz ISAM/VSAM» . Consultado el 3 de junio de 2023 .
  32. ^ Sawyer, Peter (3 de marzo de 1989). SVC 26 y lo que puede hacer. COMPARTIR.
  33. ^ Pryor, Steve (febrero de 2003). "¿Dónde están los datos? Obtención de información del catálogo" (PDF) . Apoyo técnico . NaSPA . Consultado el 5 de marzo de 2017 .
  34. ^ 3033 Anuncio de prensa
  35. ^ ab Principios de funcionamiento de IBM System/360 (PDF) . Biblioteca de referencia de sistemas IBM (octava ed.). Septiembre de 1968. A22-6821-7 . Consultado el 23 de mayo de 2022 .
  36. ^ Memoria virtual z/OS (PDF) . SHARE Phoenix 2019. SHARE Inc. 13 de marzo de 2019. Número de sesión: 24662 . Consultado el 16 de agosto de 2022 .
  37. ^ IPL, pag. 3, El cargador de programa inicial.

manuales de OS/360

DMMAC
Instrucciones de macro de gestión de datos del sistema operativo: versión 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (Segunda ed.). IBM . Junio ​​de 1973. GC26-3794-1 . Consultado el 7 de junio de 2022 .
DMSVC
Guía de servicios de macros de gestión de datos del sistema operativo: versión 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (Tercera ed.). IBM . Julio de 1973. GC26-3746-2 . Consultado el 7 de junio de 2022 .
DMSYS
Gestión de datos del sistema operativo para programadores de sistemas: versión 21 (PDF) . Biblioteca de referencia de sistemas IBM (duodécima ed.). IBM . Abril de 1973. GC28-6550-11 . Consultado el 7 de junio de 2022 .
JCLREF
Sistema operativo IBM System/360: Referencia del lenguaje de control de trabajos - Versión del sistema operativo 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (Quinta ed.). IBM . Agosto de 1976. GC28-6704-4 . Consultado el 7 de junio de 2022 .
JCLUSER
Sistema operativo IBM System/360: Guía del usuario del lenguaje de control de trabajos (PDF) . Biblioteca de referencia de sistemas IBM (Tercera ed.). IBM . Junio ​​de 1971. GC28-6703-2 . Consultado el 7 de junio de 2022 .
LKED
IBM OS - Editor y cargador de enlaces - Números de programa 360S-ED-510 - 360S-ED-521 - 360S-LD-547 (PDF) . Biblioteca de referencia de sistemas IBM (undécima ed.). IBM . Abril de 1973. GC28-6538-10 . Consultado el 7 de junio de 2022 .
MFT
Sistema operativo IBM System/360: Guía MFT - Versión del sistema operativo 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (undécima ed.). IBM . Agosto de 1974. GC27-6939-10 . Consultado el 7 de junio de 2022 .
TVM
Sistema operativo IBM System/360: Guía MVT - Versión del sistema operativo 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (Sexta ed.). IBM . Agosto de 1974. GC28-6720-5 . Consultado el 7 de junio de 2022 .
SMF
SO SMF (PDF) . Biblioteca de referencia de sistemas IBM (octava ed.). IBM . Abril de 1973. GC28-6712-7 . Consultado el 7 de junio de 2022 .
SORBER
Versión 21 del sistema operativo: sistema operativo IBM System/360: servicios de supervisor e instrucciones de macros (PDF) . Biblioteca de referencia de sistemas IBM (octava ed.). IBM . Septiembre de 1974. GC28-6646-7 . Consultado el 7 de junio de 2022 .
SYSCB
Sistema operativo IBM System/360: bloques de control del sistema (PDF) . Biblioteca de referencia de sistemas IBM (décima ed.). IBM . Abril de 1973. GC28-6628-9 . Consultado el 7 de junio de 2022 .
SISTEMA
Versión 21.8 de generación del sistema operativo (PDF) . Biblioteca de referencia de sistemas IBM (decimocuarta ed.). IBM . Agosto de 1974. GC28-6554-13 . Consultado el 7 de junio de 2022 .
SYSPG
Sistema operativo IBM System/360: Guía del programador del sistema (PDF) . Biblioteca de referencia de sistemas IBM (novena ed.). IBM . Junio ​​de 1971. GC28-6550-9 . Consultado el 7 de junio de 2022 .
TSO
Sistema operativo IBM System/360: Guía de la opción de tiempo compartido - Versión del sistema operativo 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (octava ed.). IBM . Abril de 1973. GC28-6698-7 . Consultado el 7 de junio de 2022 .
TSOCMD
Sistema operativo IBM System/360: opción de tiempo compartido - Referencia del lenguaje de comandos - Versión del sistema operativo 21.7 (PDF) . Biblioteca de referencia de sistemas IBM (Quinta ed.). IBM . Abril de 1973. GC28-6732-4 . Consultado el 7 de junio de 2022 .

Manuales de lógica OS/360

IOS 2da ed.
Sistema operativo IBM System/360 - Supervisor de entrada/salida - Número de programa 360S-CI-535 (PDF) . Lógica del programa (Segunda ed.). IBM . Abril de 1967. GY28-6616-1 . Consultado el 7 de junio de 2022 .
IOS
Lógica del supervisor de E/S del sistema operativo - Versión 21 - Número de programa 360S-CI-535 (PDF) . Lógica del programa (Décima ed.). IBM . Febrero de 1972. GY28-6616-9 . Consultado el 7 de junio de 2022 .
IPL
Sistema operativo IBM System/360: cargador de programas inicial y programa de inicialización de Nucleus: número de programa 360S-CI-535 (PDF) . Lógica del programa (Sexta ed.). IBM . Marzo de 1972. GY28-6661-5 . Consultado el 7 de junio de 2022 .
PCPJOB
Sistema operativo IBM System/360: Gestión de trabajos, - Manual de lógica del programa, - Número de programa 360S-CI-505 (PDF) (Sexta ed.). IBM . Junio ​​de 1970. GY28-6613-5 . Consultado el 7 de junio de 2022 .
MVTJOB
Sistema operativo IBM System/360: Gestión de trabajos MVT, Manual de lógica de programa, número de programa 360S-CI-535 OS Versión 21 (PDF) (Décima ed.). IBM . Marzo de 1972. GY28-6660-9 . Consultado el 7 de junio de 2022 .
MVTSUP
Sistema operativo IBM System/360 - Supervisor MVT (PDF) . Lógica del programa (Octava ed.). Mayo de 1973. GY28-6659-7 . Consultado el 7 de junio de 2022 .

Otras lecturas

Manuales

Libros

Artículos

Referencias en la cultura popular

enlaces externos