Question on usb



Hi all,
Iam new usb subsystem. I have few questions on usb
1) I like to usb Bus Enumeration is os Dependent or independent
2) How usb Bus Enumeration happens when a device is plugged in to
linux os.
3) If i have a usb- device how can i know it comes under which class.
Why devices are classified in usb.?
Thanks in advance,
with regards,
Babu
.