En informática , la E / S de canal es una arquitectura de entrada / salida (E / S) de alto rendimiento que se implementa de varias formas en varias arquitecturas de computadora, especialmente en computadoras mainframe . En el pasado, los canales eran generalmente [a] implementarse con dispositivos personalizados, diversamente llamado canal , I / procesador de O , O controlador I / , O I / sincronizador , o controlador de DMA .
Descripción general
Muchas tareas de E / S pueden ser complejas y requieren que se aplique lógica a los datos para convertir formatos y otras tareas similares. En estas situaciones, la solución más simple es pedirle a la CPU que maneje la lógica, pero debido a que los dispositivos de E / S son relativamente lentos, una CPU podría perder tiempo (en la perspectiva de la computadora) esperando los datos del dispositivo. Esta situación se denomina 'límite de E / S'.
La arquitectura de canales evita este problema mediante el uso de una instalación de bajo costo, lógicamente independiente. Los procesadores de canal son simples, pero autónomos, con una lógica mínima y suficiente memoria de memoria virtual (almacenamiento de trabajo) para manejar tareas de E / S. Por lo general, no son lo suficientemente potentes o flexibles para usarse como una computadora por sí mismos y pueden interpretarse como una forma de coprocesador . En algunos sistemas, los canales usan memoria o registros direccionables por el procesador central como su memoria de scratchpad, mientras que en otros sistemas está presente en el hardware del canal. Por lo general, existen interfaces estándar entre canales y dispositivos periféricos externos, y varios canales pueden operar simultáneamente.
Una CPU normalmente designa un bloque de almacenamiento o envía un programa de canal relativamente pequeño al canal para manejar tareas de E / S, que el canal y el controlador pueden, en muchos casos, completar sin más intervención de la CPU (excepción: esos canales programas que utilizan 'interrupciones controladas por programa', PCI, para facilitar la carga del programa, la paginación por demanda y otras tareas esenciales del sistema).
Cuando se completa la transferencia de E / S o se detecta un error, el controlador se comunica con la CPU a través del canal mediante una interrupción . Dado que el canal tiene acceso directo a la memoria principal, a menudo también se lo denomina controlador de acceso directo a memoria (DMA).
En las implementaciones más recientes, el programa de canal se inicia y el procesador de canal realiza todo el procesamiento requerido hasta una condición final o una interrupción controlada por programa (PCI). Esto elimina gran parte de la interacción entre la CPU y el canal y mejora en gran medida el rendimiento general del sistema. El canal puede informar de varios tipos diferentes de condiciones finales, que pueden ser inequívocamente normales, pueden indicar inequívocamente un error o cuyo significado puede depender del contexto y los resultados de una operación de detección posterior. En algunos sistemas, un controlador de E / S puede solicitar un reintento automático de algunas operaciones sin la intervención de la CPU. En implementaciones anteriores, cualquier error, por pequeño que fuera, requería la intervención de la CPU y, en consecuencia, la sobrecarga era mucho mayor. Algunas operaciones heredadas todavía utilizan una interrupción controlada por programa (PCI), pero la tendencia es alejarse de tales PCI, excepto cuando sea inevitable.
Historia
El primer uso de E / S de canal fue con el mainframe de tubo de vacío IBM 709 [1] , cuyo Sincronizador de datos Modelo 766 fue el primer controlador de canal, en 1957. Su sucesor transistorizado, el IBM 7090 , [2] tenía de dos a ocho 6 -canales de bits (el 7607) y un multiplexor de canales (el 7606) que podía controlar hasta ocho canales. El 7090 y el 7094 también podrían tener hasta ocho canales de 8 bits con el 7909.
Mientras que IBM usaba comandos de canal de datos en algunas de sus computadoras y permitía el encadenamiento de comandos en, por ejemplo, el 7090, la mayoría de los otros proveedores usaban canales que trataban con registros individuales. Sin embargo, algunos sistemas, por ejemplo, la serie GE-600 , tenían arquitecturas de E / S más sofisticadas.
Más tarde, para las computadoras IBM System / 360 más grandes , e incluso para los primeros modelos System / 370 , los canales selectores y los canales multiplexores todavía eran procesadores separados voluminosos y costosos, como el canal Selector IBM 2860 (uno a tres canales selectores en un solo box), el canal multiplexor IBM 2870 Byte (un canal multiplexor y, opcionalmente, un subcanal selector en una sola caja) y el canal multiplexor IBM 2880 Block (uno o dos canales multiplexores de bloque en una sola caja).
La implementación de hardware de Amdahl Corporation de los canales compatibles con System / 370 fue bastante diferente. Una sola unidad interna, llamada "Unidad C", admitía hasta dieciséis canales utilizando el mismo hardware para todos los canales admitidos. Fueron posibles dos "Unidades C" internas, que admitían hasta 32 canales en total. Cada "Unidad C" realizó de forma independiente un proceso generalmente llamado "procesador de estado de canal de cambio" (un tipo de procesador de barril ), que implementó una máquina especializada de estados finitos (FSM). Cada ciclo de CPU, cada 32 nanosegundos en 470V / 6 y / 5 y cada 26 nanosegundos en 470V / 7 y / 8, la "unidad C" lee el estado completo del siguiente canal en secuencia de prioridad y su canal de E / S in-tags . Se realizaron las acciones necesarias definidas por el último estado de ese canal y sus etiquetas de entrada : los datos se leyeron o se escribieron en el almacenamiento principal, el programa del sistema operativo se interrumpió si dicha interrupción estaba especificada por el indicador de interrupción de control del programa del programa del canal, y el " C-Unit "finalmente almacenó el siguiente estado de ese canal y estableció sus etiquetas de salida del canal de E / S , y luego pasó al siguiente canal de menor prioridad. La preferencia fue posible, en algunos casos. Se proporcionó suficiente almacenamiento FIFO dentro de la "Unidad C" para todos los canales que fueron emulados por esta FSM. Los canales se pueden reconfigurar fácilmente según la elección del cliente de emulación IBM 2860 (selector), emulación IBM 2870 (multiplexor de bytes) o emulación IBM 2880 (multiplexor de bloques) sin restricciones significativas mediante el uso de comandos de consola de mantenimiento. También se admitió la "interfaz de dos bytes", al igual que "Entrada / Salida de datos" y otras opciones de canal de IBM de alto rendimiento. Una función de adaptadores de canal a canal también se les ofreció, llamado ACC en Amdahl-hablar, pero llama CTC en IBM-hablar. Un verdadero cambio de juego, y esto obligó a IBM a rediseñar sus mainframes para proporcionar una capacidad y flexibilidad de canal similar. La respuesta inicial de IBM fue incluir los modelos 158 reducidos, que operan en "Modo de canal", únicamente, como las unidades de canal del Modelo 303x. En la "unidad C" de Amdahl, cualquier canal podría ser de cualquier tipo, 2860, 2870 o 2880, sin reservar los canales 0 y 4 para los 2870, como en algunos modelos de IBM.
Para las computadoras IBM más pequeñas, los modelos System / 360 50 y anteriores, y los modelos System / 370 158 y anteriores, los canales se implementaron en el microcódigo de la CPU, y la CPU misma funcionó en uno de dos modos, ya sea "Modo CPU" o "Modo canal ", con el modo de canal 'bloqueando' el modo de CPU (IBM 2860, 2870 y 2880, y los canales de Amdahl eran 'no bloqueantes').
Mucho más tarde, los canales se implementaron como un procesador integrado que reside en la misma caja que la CPU, generalmente denominado "procesador de canal", y que generalmente era un procesador RISC , pero que podría ser un microprocesador System / 390 con microcódigo especial como en los mainframes CMOS de IBM.
Algunos de los primeros sistemas de canales comerciales que no eran de IBM estaban en UNIVAC 490 , CDC 1604 , Burroughs B5000 , UNIVAC 1107 y GE 635 . Desde entonces, los controladores de canal han sido una parte estándar de la mayoría de los diseños de mainframe y la principal ventaja que tienen los mainframes sobre las computadoras personales más pequeñas y más rápidas y la computación en red.
La supercomputadora CDC 6600 de 1965 utilizó 10 computadoras lógicamente independientes llamadas procesadores periféricos (PP) y 12 canales de E / S simples para esta función. Los PP eran una versión moderna de las primeras computadoras personales de los CDC , las CDC 160 y 160A. El sistema operativo inicialmente residía y se ejecutaba en PP0.
Los controladores de canal también se han hecho tan pequeños como diseños de un solo chip con múltiples canales, utilizados en las computadoras NeXT , por ejemplo.
Hubo un tiempo en que muchas computadoras económicas carecían de controladores de canal. Los controladores de canal están regresando en forma de dispositivos periféricos de masterización de bus , como los dispositivos PCI de acceso directo a memoria (DMA). El fundamento de estos dispositivos es el mismo que el de los controladores de canal originales, es decir, descarga de transferencia, interrupciones y cambio de contexto desde la CPU principal.
Descripción
La implementación de referencia de E / S de canal es la de la familia de mainframes IBM System / 360 y sus sucesores, pero IBM ha adoptado implementaciones similares en otras líneas, por ejemplo, 1410 y 7010 , 7030 , y por otros proveedores de mainframe, como como Control Data , Bull ( General Electric / Honeywell ) y Unisys .
Los sistemas informáticos que utilizan E / S de canal tienen componentes de hardware especiales que manejan todas las operaciones de entrada / salida en su totalidad independientemente de la (s) CPU (s) del sistema. La CPU de un sistema que utiliza E / S de canal normalmente tiene sólo una instrucción de máquina en su repertorio para entrada y salida; esta instrucción se utiliza para pasar comandos de entrada / salida al hardware de E / S especializado en forma de programas de canal . A partir de entonces, la E / S prosigue sin la intervención de la CPU hasta que se produce un evento que requiere notificación del sistema operativo, momento en el que el hardware de E / S indica una interrupción a la CPU.
Un canal es un componente de hardware independiente que coordina todas las E / S a un conjunto de controladores o dispositivos. No es simplemente un medio de comunicación, a pesar del nombre; es un dispositivo programable que maneja todos los detalles de E / S después de recibir una lista de operaciones de E / S para llevar a cabo (el programa de canal).
Cada canal puede admitir uno o más controladores y / o dispositivos, pero cada programa de canal solo puede dirigirse a uno de esos dispositivos conectados. Un programa de canal contiene listas de comandos para el canal mismo y para el controlador y dispositivo al que está dirigido. Una vez que el sistema operativo ha preparado una lista completa de comandos de canal, ejecuta una sola instrucción de máquina de E / S para iniciar el programa de canal; a partir de entonces, el canal asume el control de las operaciones de E / S hasta que se completan.
Es posible desarrollar programas de canal muy complejos, incluida la prueba de datos y la ramificación condicional dentro de ese programa de canal. Esta flexibilidad libera a la CPU de la sobrecarga de iniciar, monitorear y administrar operaciones de E / S individuales. El hardware de canal especializado, a su vez, está dedicado a la E / S y puede realizarlo de manera más eficiente que la CPU (y completamente en paralelo con la CPU). Channel I / O no es diferente al acceso directo a memoria (DMA) de las microcomputadoras, solo que más complejo y avanzado.
En los grandes sistemas informáticos de mainframe, las CPU son solo uno de varios componentes de hardware potentes que funcionan en paralelo. Los controladores especiales de entrada / salida (cuyos nombres exactos varían de un fabricante a otro) manejan E / S exclusivamente, y estos, a su vez, están conectados a canales de hardware que también están dedicados a entrada y salida. Puede haber varias CPU y varios procesadores de E / S. La arquitectura general optimiza el rendimiento de entrada / salida sin degradar el rendimiento puro de la CPU. Dado que la mayoría de las aplicaciones del mundo real de los sistemas de mainframe son aplicaciones comerciales con un uso intensivo de E / S, esta arquitectura ayuda a proporcionar los niveles muy altos de rendimiento que distinguen a los mainframes de otros tipos de computadoras.
En la terminología de IBM ESA / 390 , un canal es una conexión de datos paralela dentro del subsistema de E / S organizado jerárquicamente o en forma de árbol. En las jaulas de E / S System / 390, los canales se conectan directamente a los dispositivos que están instalados dentro de la jaula (adaptadores de comunicación como ESCON , FICON , Open Systems Adapter ) o corren fuera de la jaula, debajo del piso elevado como cables del el grosor de un pulgar y conectarse directamente a interfaces de canal en dispositivos más grandes como subsistemas de cinta, dispositivos de almacenamiento de acceso directo (DASD), concentradores de terminales y otros sistemas ESA / 390.
Tipos de canales
Los canales difieren en el número y tipo de operaciones de E / S simultáneas que admiten. En la terminología de IBM, un canal multiplexor admite una serie de operaciones simultáneas intercaladas de baja velocidad, cada una de las cuales transfiere un byte de un dispositivo a la vez. Un canal selector admite una operación de alta velocidad, transfiriendo un bloque de datos a la vez. Un multiplexor de bloques admite varios programas de canal lógicamente concurrentes, pero solo una transferencia de datos de alta velocidad a la vez.
Programa de canal
Un programa de canal es una secuencia de palabras de comando de canal (CCW) que ejecuta el subsistema de canal de E / S en IBM System / 360 y arquitecturas posteriores. Un programa de canal consta de una o más palabras de comando de canal. El sistema operativo envía una señal al subsistema del canal de E / S para que comience a ejecutar el programa del canal con una instrucción SSCH (iniciar subcanal). El procesador central es libre de continuar con instrucciones que no sean de E / S hasta que se interrumpa. Cuando se completan las operaciones del canal, el canal interrumpe el procesador central con una interrupción de E / S. En modelos anteriores de la línea de mainframe de IBM, la unidad de canal era un componente identificable, uno para cada canal. En los mainframes modernos, los canales se implementan utilizando un procesador RISC independiente, el procesador de canal, uno para todos los canales. IBM System / 370 Extended Architecture [3] y sus sucesores reemplazaron las instrucciones de máquina SIO ( start I / O ) y SIOF ( start I / O fast release ) anteriores (System / 360 y primeras System / 370) con SSCH ( start sub -canal ) instrucción (ESA / 370 y sucesores).
La E / S de canal proporciona economías considerables en entrada / salida. Por ejemplo, en IBM Linux en IBM Z , el formateo de una pista completa de un DASD requiere solo un programa de canal (y por lo tanto solo una instrucción de E / S), pero múltiples palabras de comando de canal (una por bloque). El programa es ejecutado por el procesador de E / S dedicado , mientras que el procesador de la aplicación (la CPU) está libre para otros trabajos.
Palabras de comando de canal
Una palabra de comando de canal ( CCW ) es una instrucción para un procesador de canal de E / S especializado que es, de hecho, una máquina de estados finitos. Se utiliza para iniciar una operación de E / S, como "leer", "escribir" o "detectar", en un dispositivo conectado a un canal. En arquitecturas de sistema que implementan E / S de canal, normalmente todos los dispositivos están conectados por canales, por lo que todas las E / S requieren el uso de CCW.
Las CCW se organizan en programas de canal por el sistema operativo y la subrutina de E / S, un programa de utilidad o por software independiente (como programas de prueba y diagnóstico). Dentro de dichos programas de canal está disponible una capacidad limitada de "ramificación", por lo tanto una capacidad programable dinámicamente, mediante el uso de la bandera de canal de "modificador de estado" y la CCW de "transferencia en el canal".
Encadenamiento
Las CCW de IBM están encadenadas para formar el programa de canal. Los bits en CCW indican que la siguiente ubicación en el almacenamiento contiene un CCW que es parte del mismo programa de canal. El programa de canal normalmente ejecuta CCW secuenciales hasta que ocurre una excepción, se ejecuta una CCW de transferencia en canal (TIC) o se ejecuta una CCW sin que se indique el encadenamiento. El encadenamiento de comandos le dice al canal que el siguiente CCW contiene un nuevo comando. El encadenamiento de datos indica que la siguiente CCW contiene la dirección de datos adicionales para el mismo comando, lo que permite, por ejemplo, escribir o leer partes de un registro en varias áreas de datos almacenadas (recopilación-escritura y dispersión-lectura). [4]
Programas de canal auto modificables
Los programas de canal pueden modificar su propio funcionamiento durante la ejecución en función de los datos leídos. Por ejemplo, la auto modificación se usa ampliamente en OS / 360 ISAM . [5]
Ejemplo de programa de canal
El siguiente ejemplo [6] lee un registro de disco identificado por una clave grabada . Se conoce la pista que contiene el registro y el valor deseado de la clave. La unidad de control del dispositivo buscará la pista para encontrar el registro solicitado. En este ejemplo, <> indica que el programa de canal contiene la dirección de almacenamiento del campo especificado.
BUSCARúmero> BÚSQUEDA CLAVE IGUAL TIC * -8 Volver a buscar si no es igual LEER DATOS úfer>
El TIC (transferencia en el canal) hará que el programa del canal se bifurque al comando SEARCH hasta que se encuentre un registro con una clave coincidente (o el final de la pista). Cuando se encuentra un registro con una clave coincidente, el controlador DASD incluirá el Modificador de estado en el estado del canal, lo que provocará que el canal omita el TIC CCW; por lo tanto, el programa del canal no se ramificará y el canal ejecutará el comando READ.
El ejemplo anterior es correcto para registros desbloqueados (un registro por bloque). Para registros bloqueados (más de un registro por bloque), la clave grabada debe ser la misma que la clave más alta dentro de ese bloque (y los registros deben estar en secuencia de clave), y se utilizaría el siguiente programa de canal:
BUSCARúmero> BÚSQUEDA CLAVE ALTA O IGUAL TIC * -8 Volver a la búsqueda si no es alto o igual LEER DATOS úfer>
Si el conjunto de datos se asigna en pistas y se llega al final de la pista sin que se encuentre el registro solicitado, el programa de canal termina y devuelve una indicación de estado de "no se encontró registro". De manera similar, si el conjunto de datos se asigna en cilindros y se llega al final del cilindro sin que se encuentre el registro solicitado, el programa de canal termina y devuelve una indicación de estado de "no se encontró registro". En algunos casos, el software del sistema tiene la opción de actualizar el número de pista o cilindro y volver a conducir la operación de E / S sin interrumpir el programa de aplicación.
Programas de canal en sistemas de almacenamiento virtual
En la mayoría de los sistemas, los canales operan usando direcciones reales (o físicas) , mientras que los programas de canal se construyen usando direcciones virtuales . [7] El sistema operativo es responsable de traducir estos programas de canal antes de ejecutarlos, y para este propósito en particular, el supervisor de entrada / salida (IOS) tiene una función especial de reparación rápida que se diseñó en el supervisor del sistema operativo solo para aquellos "arreglos" que son de duración relativamente corta (es decir, significativamente más cortos que el "tiempo de reloj de pared"). Las páginas que contienen datos que serán utilizados por la operación de E / S se bloquean en la memoria real o se fijan en la página . El programa de canal se copia y todas las direcciones virtuales se reemplazan por direcciones reales antes de que se inicie la operación de E / S. Una vez finalizada la operación, las páginas se anulan.
Como la reparación y eliminación de la página es un proceso costoso para la CPU, la reparación a largo plazo a veces se utiliza para reducir el costo de la CPU. Aquí, la memoria virtual se fija en la página durante la vida útil de la aplicación, en lugar de corregir y liberar alrededor de cada operación de E / S. Un ejemplo de un programa que puede utilizar la corrección de páginas a largo plazo es DB2 .
Una alternativa a la corrección de páginas a largo plazo es mover toda la aplicación, incluidos todos sus búferes de datos, a un área preferida de almacenamiento principal. Esto se logra mediante un sysevent especial en MVS / 370 a través de los sistemas operativos z / OS, en el que la aplicación es, primero, swapped- a cabo desde dondequiera que pueda ser, presumiblemente de un no preferido área, para intercambio y la página de almacenamiento externo, y se, segundo, swapped- en a una preferida zona (sysevent TRANSWAP). A partir de entonces, la aplicación puede marcarse como no intercambiable por otro SYSEVENT especial (SYSEVENT DONTSWAP). Siempre que una aplicación de este tipo termina, ya sea normal o anormalmente, el sistema operativo emite implícitamente otro SYSEVENT especial en nombre de la aplicación si aún no lo ha hecho (SYSEVENT OKSWAP).
Arranque con canal de E / S
Incluso el arranque del sistema, o Carga de programa inicial (IPL) en la nomenclatura de IBM, se lleva a cabo por canales, aunque el proceso es parcialmente simulado por la CPU a través de una instrucción de E / S de inicio implícita (SIO), una palabra de dirección de canal implícita ( CAW) en la ubicación 0 y una palabra de comando de canal implícita (CCW) con un código de operación de lectura de IPL, también en la ubicación 0. Se asume el encadenamiento de comandos, por lo que la CCW implícita en la ubicación 0 cae a la continuación del programa de canal en las ubicaciones 8 y 16, y posiblemente en cualquier otro lugar, una de esas CCW debería ser una transferencia en canal (TIC). [8]
Para cargar un sistema, la lectura de IPL CCW implícita lee el primer bloque del dispositivo IPL seleccionado en el área de datos de 24 bytes en la ubicación 0, el canal continúa con la segunda y tercera palabras dobles, que son CCW, y este programa de canal se carga la primera parte del software de carga del sistema en otro lugar del almacenamiento principal. La primera palabra doble contiene un PSW que, cuando se obtiene al final de la IPL, hace que la CPU ejecute el texto de IPL (cargador de arranque) leído por la CCW en la ubicación 8. El texto de IPL luego ubica, carga y transfiere el control a el Núcleo del sistema operativo. El Nucleus realiza o inicia cualquier inicialización necesaria y luego comienza las operaciones normales del sistema operativo.
Este concepto de IPL es independiente del dispositivo. Es capaz de hacer IPL desde una plataforma de tarjetas, desde una cinta magnética o desde un dispositivo de almacenamiento de acceso directo , (DASD), por ejemplo, un disco, un tambor. El comando Read IPL (X'02 '), que es simulado por la CPU, es un comando Read EBCDIC Select Stacker 1 read en el lector de tarjetas y un comando Read en medios de cinta (que son inherentemente acceso secuencial por naturaleza), pero un comando especial Read-IPL en DASD.
Los controladores DASD aceptan el comando X'02 ', buscan el cilindro X'0000' cabeza X'0000 ', saltan al punto de índice (es decir, justo después del registro del descriptor de pista (R0)) y luego tratan el comando Leer IPL como si era un comando de lectura de datos (X'06 '). Sin este comportamiento especial del controlador DASD, la IPL independiente del dispositivo no sería posible. En un DASD, el texto de IPL está contenido en el cilindro X'0000 ', la pista X'0000' y el registro X'01 '(24 bytes), y el cilindro X'0000', la pista X'0000 'y el registro X' 02 '(bastante grande, ciertamente algo más de 3000 bytes). La etiqueta de volumen siempre está contenida en el cilindro X'0000 ', la pista X'0000' y el bloque X'03 '(80 bytes). La etiqueta de volumen siempre apunta al VTOC, con un puntero de la forma HHHH (es decir, el VTOC debe residir dentro de las primeras 65,536 pistas). El formato 4 DSCB de VTOC define la extensión (tamaño) del VTOC, por lo que la etiqueta de volumen solo necesita un puntero a la primera pista en la extensión de VTOC, y como el formato 4 DSCB, que describe el VTOC, es siempre el primer DSCB en el VTOC, HHHH también apunta al formato 4 DSCB.
Si se intenta realizar una IPL desde un dispositivo que no se inicializó con IPL Text, el sistema simplemente entra en un estado de espera. El programa de inicialización DASD (dispositivo de almacenamiento de acceso directo), IBCDASDI, o la aplicación de inicialización DASD, ICKDSF, coloca un estado de espera PSW y una cadena CCW ficticia en los 24 bytes, en caso de que el dispositivo esté designado solo para datos, no para IPL, después que estos programas formatean el VTOC y realizan otras funciones de inicialización del disco duro.
Ver también
- Operación periférica autónoma
- Arranque
- Ejecutar programa de canal
- Serie GEC 4000
- GCOS (sistema operativo)
- I2O
- IBM System z9
- IBM System z10
- Carga inicial del programa
- Intel 8089
- Sistema / 360
- UNIVAC 1110
- z / Arquitectura
Referencias
- ^ "Archivos de IBM: sistema de procesamiento de datos 709" . 03.ibm.com . Consultado el 22 de enero de 2014 .
- ^ "Archivos de IBM: Sistema de procesamiento de datos 7090 (continuación)" . 03.ibm.com. 1958-12-30 . Consultado el 22 de enero de 2014 .
- ^ IBM System / 370 Extended Architecture Principles of Operation, SA22-7085-0
- ^ IBM Corporation (1968). Texto del estudiante: Introducción a la arquitectura IBM System / 360 (PDF) . IBM Corporation. pag. 22.
- ^ Attanasio, CR; Markstein, PW; Phillips, RJ (1976). "Penetrando un sistema operativo: un estudio de integridad VM / 370". Revista de sistemas de IBM . 15 (1): 102-116. doi : 10.1147 / sj.151.0102 .
- ^ IBM Corporation (1969). Descripciones de componentes de IBM System / 360: 2314 Direct Access Storage Facility y 2844 Auxiliary Storage Control (PDF) . IBM Corporation. pag. 50.2. Archivado desde el original (PDF) el 22 de marzo de 2011.
- ^ IBM Corporation (1978). Descripción general de OS / VS2 MVS (PDF) . págs. 8-12. Archivado desde el original (PDF) el 16 de marzo de 2011.
- ^ Consulte System / 370 Principles of Operation, GA22–7000–4, págs. 54–55, Carga inicial del programa; La Arquitectura Extendida del Sistema / 370 es bastante similar, aunque XA utiliza un Subcanal de Inicio "implícito" (SSCH) en lugar de una E / S de Inicio "implícita".
Notas
- ^ En algunos casos, los canales se implementaron mediante robo de ciclo en lugar de con hardware completamente independiente.
enlaces externos
- IBM System / 370 Principios de funcionamiento (GA22-7000-4), consulte el capítulo sobre operaciones de entrada / salida