Compatibilidad con E/S asincrónica

El administrador de E/S proporciona compatibilidad asincrónica de E/S para que el originador de una solicitud de E/S (normalmente una aplicación en modo de usuario pero a veces otro controlador) pueda continuar ejecutándose, en lugar de esperar a que se complete su solicitud de E/S. La compatibilidad con E/S asincrónica mejora tanto el rendimiento general del sistema como el rendimiento de cualquier código que realiza una solicitud de E/S.

Con compatibilidad asincrónica de E/S, los controladores en modo kernel no procesan necesariamente las solicitudes de E/S en el mismo orden en que se enviaron al administrador de E/S. El administrador de E/S, o un controlador de nivel superior, puede reordenar las solicitudes de E/S a medida que se reciben. Un controlador puede dividir una solicitud de transferencia de datos grande en solicitudes de transferencia más pequeñas. Además, un controlador puede superponerse al procesamiento de solicitudes de E/S, especialmente en una plataforma de multiprocesador simétrico, como se mencionó en Multiprocessor-Safe.

Además, el procesamiento de un controlador en modo kernel de una solicitud de E/S individual no se serializa necesariamente. Es decir, un controlador no procesa necesariamente cada IRP hasta su finalización antes de que comience a procesar la siguiente solicitud de E/S entrante.

Cuando un controlador recibe un IRP, responde realizando tanto procesamiento específico de IRP como pueda. Si el controlador admite el procesamiento irP asincrónico, puede enviar un IRP al siguiente controlador, si es necesario, y empezar a procesar el siguiente IRP sin esperar a que se complete el primero. El controlador puede registrar una "rutina de finalización", que el administrador de E/S llama cuando otro controlador ha terminado de procesar un IRP. Los controladores proporcionan un valor de estado en el bloque de estado de E/S de IRP, al que otros controladores pueden acceder para determinar el estado de una solicitud de E/S.

Los controladores pueden mantener información de estado sobre sus operaciones de E/S actuales en una parte especial de sus objetos de dispositivo, denominada extensión de dispositivo.

Para obtener más información, consulte Control de IRP y técnicas de entrada y salida.