Tabla de contenido:
Definición - ¿Qué significa I / O Request?
Los paquetes de solicitud de E / S son estructuras en modo kernel utilizadas para la comunicación entre el modelo de unidad de Windows y los controladores de dispositivos de Windows NT, así como con el sistema operativo Windows. Todos los detalles de los datos se pasan 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 se realizan para pasar 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 una unidad de varias capas.
Techopedia explica la solicitud de E / S
Los paquetes de solicitud de E / S se utilizan básicamente para las comunicaciones entre los controladores de 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 utilizado anteriormente. El código del sistema operativo o del núcleo tiene un código de llamada al sistema que funciona 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 garantiza que el proceso se elimine de la cola de ejecución y se coloque en la cola de espera. Posteriormente, el controlador del 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 luego 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 controlador de interrupciones a través de la tabla de interrupción-vector. Escanea los datos en busca de información importante y luego devuelve la interrupción. Esta señal es recibida por el controlador del dispositivo, que completa la solicitud y también determina el estado de la solicitud. Por último, corresponde al kernel eliminar el proceso de la cola de espera en la cola lista y los datos se transfieren al espacio de direcciones. Este paso desbloquea el proceso. Así que ahora, cuando el proceso se asigna a la CPU, reanuda el trabajo y se completa.
