next up previous contents
Next: Responsibilities of the operating Up: Operating System Aspects Previous: Operating System Aspects

USB Stack

All information described thus far is operating system independent. Any operating system will have to provide means for the client applications to perform operations such as open pipes to particular endpoints of devices, make transfers of desired types etc. Typically on booting up, the operating system would enumerate all the devices on the bus to get an idea of the layout of the entire bus. The actual layout of USB on the host is as shown in the figure:


          -------------------------
                                   
            Client Application
          -------------------------

           USB System software (USB Driver)
          --------------------------

           Host Controller Software 
          --------------------------

              Hardware
         -------------------------


 
Figure 2: USB Stack

As the figure shows, USB has a layered structure on the host side. At the bottom of the stack is the actual hardware which throws signals on the wire and most importantly consists of the host controller. The host-controller is the hardware component inside the host which is responsible for implementing all host-aspects of USB. It is protocol-aware with a knowledge of the types of transfers (control/bulk etc.) for of its transactions.


Bhanu Nagendra P.
2003-07-28