stringtranslate.com

De entrada y salida

En informática , entrada/salida ( E/S , i/o , o informalmente io o IO ) es la comunicación entre un sistema de procesamiento de información, como una computadora , y el mundo exterior, posiblemente un ser humano u otro sistema de procesamiento de información. Las entradas son las señales o datos que recibe el sistema y las salidas son las señales o datos enviados desde él. El término también puede utilizarse como parte de una acción; "realizar E/S" es realizar una operación de entrada o salida .

Los dispositivos de E/S son piezas dehardwareutilizadas por un ser humano (u otro sistema) para comunicarse con una computadora. Por ejemplo, untecladooun mouse de computadorasondispositivos de entradapara una computadora, mientras quelos monitoresylas impresorassondispositivos de salida. Los dispositivos para la comunicación entre computadoras, comomódemsytarjetas de red, generalmente realizan operaciones de entrada y salida. Cualquier interacción con el sistema por parte de un interactor es unaentraday la reacción que responde el sistema se llama salida.

La designación de un dispositivo como entrada o salida depende de la perspectiva. Los ratones y teclados toman los movimientos físicos que genera el usuario humano y los convierten en señales de entrada que una computadora puede entender; la salida de estos dispositivos es la entrada de la computadora. De manera similar, las impresoras y los monitores toman como entrada las señales que emiten las computadoras y las convierten en una representación que los usuarios humanos pueden entender. Desde la perspectiva del usuario humano, el proceso de leer o ver estas representaciones está recibiendo resultados; Este tipo de interacción entre computadoras y humanos se estudia en el campo de la interacción persona-computadora . Una complicación adicional es que un dispositivo tradicionalmente considerado un dispositivo de entrada, por ejemplo, un lector de tarjetas, un teclado, puede aceptar comandos de control para, por ejemplo, seleccionar el apilador, mostrar las luces del teclado, mientras que un dispositivo tradicionalmente considerado como un dispositivo de salida puede proporcionar datos de estado (por ejemplo, , poco tóner, sin papel, atasco de papel).

En arquitectura de computadoras, la combinación de la CPU y la memoria principal , en la que la CPU puede leer o escribir directamente mediante instrucciones individuales , se considera el cerebro de una computadora. Cualquier transferencia de información hacia o desde el combo CPU/memoria, por ejemplo leyendo datos de una unidad de disco , se considera E/S. [1] La CPU y sus circuitos de soporte pueden proporcionar E/S asignadas en memoria que se utilizan en programación informática de bajo nivel , como en la implementación de controladores de dispositivos , o pueden proporcionar acceso a canales de E/S . Un algoritmo de E/S está diseñado para explotar la localidad y funcionar de manera eficiente al intercambiar datos con un dispositivo de almacenamiento secundario, como una unidad de disco.

Interfaz

Se requiere una interfaz de E/S siempre que el dispositivo de E/S sea controlado por un procesador. Normalmente una CPU se comunica con los dispositivos a través de un bus . La interfaz debe tener la lógica necesaria para interpretar la dirección del dispositivo generada por el procesador. La interfaz debe implementar el protocolo de enlace mediante comandos apropiados (como BUSY, READY y WAIT), y el procesador puede comunicarse con un dispositivo de E/S a través de la interfaz. Si se intercambian diferentes formatos de datos, la interfaz debe poder convertir datos en serie a formato paralelo y viceversa. Debido a que sería un desperdicio que un procesador estuviera inactivo mientras espera datos de un dispositivo de entrada, debe haber provisiones para generar interrupciones [2] y los números de tipo correspondientes para su posterior procesamiento por parte del procesador si es necesario. [ se necesita aclaración ]

Una computadora que utiliza E/S asignadas en memoria accede al hardware leyendo y escribiendo en ubicaciones de memoria específicas, utilizando las mismas instrucciones en lenguaje ensamblador que la computadora normalmente usaría para acceder a la memoria. Un método alternativo es mediante E/S basada en instrucciones, que requiere que una CPU tenga instrucciones especializadas para E/S. [1] Tanto los dispositivos de entrada como los de salida tienen una velocidad de procesamiento de datos que puede variar mucho. [2] Con algunos dispositivos capaces de intercambiar datos a velocidades muy altas, se requiere acceso directo a la memoria (DMA) sin la ayuda continua de una CPU. [2]

Implementación de nivel superior

Los sistemas operativos de nivel superior y las funciones de programación emplean primitivas y conceptos de E/S separados y más abstractos . Por ejemplo, la mayoría de los sistemas operativos proporcionan programas de aplicación con el concepto de archivos . Los lenguajes de programación C y C++ , y los sistemas operativos de la familia Unix , tradicionalmente abstraen archivos y dispositivos como flujos , que pueden leerse o escribirse, o a veces ambas cosas. La biblioteca estándar de C proporciona funciones para manipular flujos de entrada y salida.

En el contexto del lenguaje de programación ALGOL 68 , las funciones de entrada y salida se denominan colectivamente transput . La biblioteca de transputación ALGOL 68 reconoce los siguientes archivos/dispositivos estándar : stand in, y .stand outstand errorsstand back

Una alternativa a las funciones primitivas especiales es la mónada de E/S , que permite a los programas simplemente describir E/S y las acciones se llevan a cabo fuera del programa. Esto es notable porque las funciones de E/S introducirían efectos secundarios en cualquier lenguaje de programación, pero esto permite que la programación puramente funcional sea práctica.

E/S de canal

La E/S del canal requiere el uso de instrucciones diseñadas específicamente para realizar operaciones de E/S. Las instrucciones de E/S se dirigen al canal o al canal y dispositivo; el canal accede de forma asincrónica a toda la demás información de control y direccionamiento requerida. Esto es similar a DMA, pero más flexible.

E/S asignadas por puerto

Las E/S asignadas por puertos también requieren el uso de instrucciones de E/S especiales. Normalmente se asignan uno o más puertos al dispositivo, cada uno con un propósito especial. Los números de puerto están en un espacio de direcciones separado del utilizado por las instrucciones normales.

Memoria de acceso directo

El acceso directo a la memoria (DMA) es un medio para que los dispositivos transfieran grandes cantidades de datos hacia y desde la memoria independientemente de la CPU.

Ver también

Referencias

  1. ^ ab Nulo, Linda; Julia Lobur (2006). Los fundamentos de la organización y arquitectura de las computadoras. Aprendizaje de Jones y Bartlett. pag. 185.ISBN _ 0763737690. Archivado desde el original el 20 de diciembre de 2016 . Consultado el 11 de diciembre de 2016 .
  2. ^ abc Abd-El-Barr, Mostafa; Hesham El-Rewini (2005). Fundamentos de organización y arquitectura de computadoras. John Wiley e hijos. págs. 161-162. ISBN 9780471478331. Archivado desde el original el 21 de diciembre de 2016 . Consultado el 11 de diciembre de 2016 .

enlaces externos