El sistema operativo detecta los dispositivos Plug and Play y les asigna recursos, como direcciones de E/S y líneas de solicitud de interrupción (IRQ), a través de un proceso conocido como enumeración de dispositivos. El sistema operativo mantiene una capa de abstracción de hardware (HAL) o un mecanismo similar que permite que las aplicaciones de software y los controladores interactúen con el hardware independientemente de la plataforma de hardware específica.