Patent ID: 7096473

Claim:
A computer comprising: a processor, a memory, and devices, a program memory area, for storing an operating system, drivers, and driver client code, each driver having a global driver section comprising driver program code and global driver data, both defining driver operations associated with a corresponding class of devices, for operative ones of the devices, an associated driver instantiation comprising local driver data, having an internal pointer to the global driver section of the instantiated driver, the local driver data in at least certain of the driver instantiations further having at least one external pointer to another driver instantiation, a device registry, forming a list of device registry entries, each corresponding to a respective one of the driver instantiations, said driver client code being capable of performing operations on a given device by: fetching in said device registry a pointer to the driver instantiation associated with the given device, performing the operations on the given device by using operations provided by the associated driver instantiation, directly or using further operations reached in other driver instantiations by using iteratively said external pointer.