related questions: usb/driver
i'm curious about a couple of things, that seem related. namely, how does a computer know how to deal with a usb device that is plugged in, and how does it know how to deal with driver-based hardware, such as a NIC card?
i might be confused here -- it's possible that usb devices are all driver-based. i just don't know. i've heard of something called "plug n play," which replaces downloading drivers. how does this work?
but, it seems odd to me that a computer "knows" all of this informaiton about odd devices it has never seen before. obviously, some software information is being created there. for instance, i was having trouble with my NIC card, so i uninstalled the driver and rebooted, per some advice on another forum.
on reboot, the computer told me "found new hardware," and after some muddling around, it understood exactly what the card was and how to deal with it.
how does this work? is the information on what a device is and how to deal with it implanted in the device itself? a usb flash drive works on mac os and windows xp -- both OS's know what it is, and how to deal with it.
I read something in wikipedia:
"When a device is first connected, the host enumerates and recognises it, and loads the device driver it needs"
form where does it load this device driver? does the host have a magical bank of every possible device that will ever be created? you can understand my frustration here at this international device driver conspiracy.
i just don't understand how this all works O_O