Solicitud de E / S

Definición: ¿Qué significa Solicitud de E / S?

Los paquetes de solicitud de E / S son estructuras en modo kernel que se utilizan para la comunicación entre el modelo de unidad de Windows y los controladores de dispositivo de Windows NT, así como con el sistema operativo Windows. Todos los detalles de los datos se transmiten a la estructura de datos a través del puntero único, en lugar de seguir la antigua convención de transportar muchos argumentos de datos pequeños. Estas solicitudes de E / S pasan por muchas etapas de procesamiento diferentes. Estas etapas están determinadas por la naturaleza de la solicitud, ya sea para el dispositivo de destino para un controlador de una sola capa o para un controlador de varias capas.

Techinfo explica la solicitud de E / S

Los paquetes de solicitud de E / S se utilizan básicamente para las comunicaciones entre los controladores del dispositivo y el sistema operativo. Permite que un proceso en particular se desbloquee y se ejecute por completo.

En el primer paso, se inicia un proceso que emite una lectura de bloqueo en el descriptor de archivo de un archivo usado anteriormente. El código del sistema operativo o del kernel tiene un código de llamada al sistema que trabaja para verificar la precisión de los parámetros. Si la memoria caché del búfer ya tiene los datos, se devuelven los datos y se completa la solicitud. En el caso de que los datos no se encuentren en la memoria caché del búfer, se realiza una E / S física. Esto asegura que el proceso se elimine de la cola de ejecución y se coloque en la cola de espera. A partir de entonces, el controlador de dispositivo recibe la solicitud a través del subsistema de E / S. Depende del controlador del dispositivo hacer espacio para los datos entrantes y programar la E / S. El controlador del dispositivo entonces trabaja en el hardware del dispositivo para llevar a cabo el proceso de transferencia de datos. El controlador DMA gestiona y opera la transferencia de datos a la memoria del núcleo. Cuando finaliza la transferencia, esto crea una interrupción que es recibida por un manejador de interrupciones a través de la tabla de vectores de interrupciones. Escanea los datos en busca de información importante y luego devuelve la interrupción. A continuación, el controlador del dispositivo recibe esta señal, que completa la solicitud y también determina el estado de la solicitud. Por último, depende del kernel eliminar el proceso de la cola de espera a la cola lista y los datos se transfieren al espacio de direcciones. Este paso desbloquea el proceso. Entonces, ahora, cuando el proceso se asigna a la CPU, reanuda el trabajo y se completa.