How are devices and their device drivers managed?