However, this simplifying assumption can lead to some of the problems listed that do not promote the higher priority goals of a good user experience and interoperability of devices. If the bus supports it, bus drivers can also handle hot plugging and hot unplugging of devices between boot events. A Type 2 operating system promotes the higher priority operating system design goals. The user experience is enhanced because the operating system automatically adjusts to hardware configuration changes and can easily handle hot swapping of devices. Interoperability of devices on the bus is promoted because functions on the bus can come from multiple IHVs and generic extensions are possible at any time.
All functions look alike to a bus driver.
In this model, the bus driver discovers hardware functions first, then loads drivers only as they are needed. The bus driver can even prompt the user when it discovers a device and finds no driver is installed for that device. To select the driver to load, the bus driver requires no device-specific information and requires no information about what other functions are currently attached to the bus. For a bus driver, there are no device class dependencies. A bus driver discovers all functions using the same method.