Features of the USB ports include power saving modes and the ability to start up the computer from an USB mass-storage device.
In the iMac family of computers, the USB port can be completely powered down during Sleep mode. USB devices must be able to start up again when the computer wakes up from Sleep mode. This functionality is part of the USB-suspend mode defined in the USB specification. Information about the operation of USB-suspend mode on Macintosh computers is included in the Mac OS USB DDK API Reference,.available on the World Wide Web at
http://developer.apple.com/documentation/Hardware/DeviceManagers/usb/usb.html
In addition to restarting themselves out of Sleep mode, USB devices can also provide a remote wakeup function for the computer. The USB root hub in the computer is set to support remote wakeup whenever a device is attached to or disconnected from the bus. The mouse and keyboard that come with the computer use this method to wake the computer on a key press or mouse motion.
The KeyLargo IC contains special circuitry that allows the computer to wake from Sleep mode on connect, disconnect, and resume events. Compatible USB devices should support the USB-suspend mode defined in the USB specification.
The iMac family computers can boot from a USB storage device that follows the USB Mass Storage Class specification.
Class drivers are software components that are able to communicate with many USB devices of a particular kind. If the appropriate class driver is present, any number of compliant devices can be plugged in and start working immediately without the need to install additional software. The Mac OS for the iMac family of computers includes USB Mass Storage Support 2.0, a class driver that supports devices that meet the USB Mass Storage Class specification.
The iMac family computers use an Open Host Controller Interface (OHCI) controller for USB communication. Some early USB devices (most notably keyboards) can't interoperate with an OHCI controller. Those devices are not supported by the Macintosh USB system software.