I can understand why windows has to install driver software for never before seen peripherals such as webcams or usb microphones, but how come, after plugging in a flash driver for the first time, the same make flash drive will not require a new driver, but a flash drive from a different manufacturer will. Is there a different driver per flash drive (as far as make and manufacture is concerned)? What is this device driver software and where is it installed?
A driver is software that allows an operating system, such as Windows, to communicate with hardware. Modern hardware, such as flash drives, webcams, printers, etc, have a chip on them that tells the OS what the device is. This allows the OS to check its database of drivers to see if it already has driver for the hardware. If it doesnt, Windows will ask you for the driver, as well as search the Microsoft website for a possible match for the driver. If it finds it, Windows will add that to its driver database for future use.
So why do USB flash drive from different manufacturers require different drivers? It is because they use different hardware (chipsets) to control the device. If the two different manufacturers use the same chipset to control the flash drive, another driver wont have to be installed, since it knows how to communicate with that chipset. Also, a manufacturer doesnt necessarily have to use the same chipset in its own devices. Perhaps a newer technology is available and therefore a newer chipset is needed, and therefore a new driver is needed.
In Windows you will often see the OS installing drivers even if you just plug the USB stick in a different port.
This is because it needs to implement a driver for each instance seen by the OS - so when it sees that instance again it can just run, whether or not an identical driver is used on a different port.
Specific identifiers are used as well, so each driver is linked to that device - another identical USB stick will use a different driver.
The upside is that this reduces the risk of an incorrect version - each install is specific, so should be right.