Aquí están todos los conceptos relacionados con E / S.
Bloqueo de E / S: el proceso se bloquea hasta que todos los bytes estén listos.
E / S sin bloqueo: el sistema operativo solo lee o escribe tantos bytes como sea posible sin bloquear el proceso.
E / S asíncronas: similar a las E / S sin bloqueo. La llamada de E / S regresa inmediatamente, sin esperar a que se complete la operación. El subsistema de E / S señala el proceso cuando se realiza la E / S. Las mismas ventajas y desventajas de las E / S sin bloqueo.
Diferencia entre E / S no bloqueantes y asíncronas: un read () sin bloqueo regresa inmediatamente con cualquier dato disponible; un read () asincrónico solicita una transferencia que se realizará en su totalidad, pero que se completará en algún momento futuro
E / S con búfer: permite que el kernel haga una copia de los datos y se ajuste a las diferentes velocidades del dispositivo.
E / S de doble búfer: desacopla el productor de datos del cliente, relajando así los requisitos de tiempo entre ellos.
E / S programadas: bits de estado de observación del procesador de propósito general y alimentación de datos a un registro de controlador un byte a la vez. Cada byte se transfiere a través del procesador de entrada / salida o de carga / almacenamiento.
Pro: hardware simple, fácil de programar
Con: consume ciclos de proceso proporcionales al tamaño de los datos
DMA: descarga de trabajo de transferencia a un procesador de propósito especial llamado controlador DMA. Dar acceso al controlador al bus de memoria. Pídale que se transfiera a / desde la memoria directamente.