End-User solicitudes de E/S y objetos de archivo

Los controladores en modo kernel están ocultos para los usuarios finales mediante un subsistema protegido que implementa una interfaz de programación ya conocida, como Windows o POSIX. Los dispositivos son visibles para el código en modo de usuario, que incluye subsistemas protegidos, solo como objetos de archivo con nombre controlados por el administrador de E/S.

En la ilustración siguiente se muestra esta relación entre un usuario final, un subsistema y el administrador de E/S.

diagrama que ilustra los objetos de archivo que representan archivos, volúmenes y dispositivos.

Un subsistema protegido, como el subsistema Win32, pasa solicitudes de E/S al controlador en modo kernel adecuado a través de los servicios del sistema de E/S. El subsistema que se muestra en la ilustración anterior depende de la compatibilidad de los controladores de dispositivos de pantalla, adaptador de vídeo, teclado y mouse.

Un subsistema protegido aísla a sus usuarios finales y aplicaciones de tener que saber algo sobre los componentes del modo kernel, incluidos los controladores. A su vez, el administrador de E/S aísla los subsistemas protegidos de tener que conocer cualquier cosa sobre las configuraciones de dispositivos específicas de la máquina o sobre las implementaciones de los controladores.

El enfoque por capas del administrador de E/S también impide que la mayoría de los conductores tengan que saber algo sobre lo siguiente:

  • Si una solicitud de E/S se originó en cualquier subsistema protegido determinado, como Win32 o POSIX

  • Si un subsistema protegido determinado tiene determinados tipos de controladores en modo de usuario

  • ¿Qué es el modelo de E/S y la interfaz de cualquier subsistema protegido para los controladores?

El administrador de E/S proporciona controladores con un único modelo de E/S, un conjunto de rutinas de compatibilidad de modo kernel que los controladores pueden usar para llevar a cabo operaciones de E/S y una interfaz coherente entre el originador de una solicitud de E/S y los controladores que deben responder a él.

Como se muestra en la ilustración anterior, un subsistema y sus aplicaciones nativas pueden acceder al dispositivo de un controlador o a un archivo en un dispositivo de almacenamiento masivo solo mediante identificadores de objetos de archivo proporcionados por el administrador de E/S. Para abrir este objeto de archivo o para obtener un identificador de E/S en un dispositivo o un archivo de datos, un subsistema llama a los servicios del sistema de E/S con una solicitud para abrir un archivo con nombre. El archivo con nombre puede tener un alias específico del subsistema (vínculo simbólico) al nombre del modo kernel para el objeto de archivo.

El administrador de E/S, que exporta estos servicios del sistema, es responsable de localizar o crear el objeto de archivo que representa el dispositivo o el archivo de datos y para localizar los controladores adecuados.