Tecnología

Inicio

¿Cómo funciona un controlador de dispositivo?

¿Cómo funciona un controlador de dispositivo?

Lo esencial

Los controladores de dispositivos son utilizados por el sistema operativo para interactuar con el hardware. El sistema operativo utiliza las funciones del controlador de llevar a cabo acciones en el hardware. Cada conductor tiene diferentes funciones, y cada función corresponde a un hardware diferente.

objetos de dispositivo

Los conductores crean DOs, abreviatura de objetos de dispositivo, para cada pieza de hardware que controla. Para el conductor, la DO es una representación de que el hardware específico. Los objetos de dispositivo están contenidos en una pila de dispositivos. El es el conductor FDO-filtro superior nivel, conductor FDO-función, controlador de filtro Filtro DO-bus, y el conductor DOP-bus. La pila se compone de DOS para el manejo de una entrada / salida (I / O) para cada dispositivo.

Estructura física

La estructura física de un controlador de dispositivo se compone de un modo de usuario, I manager / O, y un modo de núcleo.

Desglose de los modos:

API - programación de aplicaciones del sistema operativo utiliza para iniciar el gestor de E / S.

Ntdll - Biblioteca de funciones que utiliza trozos para iniciar el sistema operativo.

NtReadFile - Sistema utilizado para crear y controlar las solicitudes de E / S.

I / O Manager - subsistema encargado de todos los dispositivos que decide lo que se permite a cada conductor para hacerlo.

IRP - Solicitud de paquetes utilizado por la E / S para pedir información de los conductores.

IoCallDriver - Envía IRP al controlador correcto que se asocia a cada DO.

En el modo de usuario, la aplicación se conecta a la API, que se conecta a la Ntdll. La solicitud de aplicación a continuación, se mueve en el modo de núcleo a través del administrador de E / S. Los pesebres de E / S utiliza un NTReadFile para procesar la solicitud y la envía a la IoCallDriver, que a su vez envía la información a el controlador correcto. El conductor decide qué hacer con la solicitud. Se pondrá en cola para después enviarlo a un puerto de hardware o enviarlo a otro conductor.