×

Method and apparatus for intercommunications amongst device drivers

  • US 8,621,488 B2
  • Filed: 06/30/2011
  • Issued: 12/31/2013
  • Est. Priority Date: 01/07/2007
  • Status: Active Grant
First Claim
Patent Images

1. A computer system architecture, comprising:

  • a plurality of device drivers loaded in a kernel of an operating system of a computer, each of the device drivers corresponding to a device presented in the computer;

    an application programming interface (API) for coupling the kernel with the plurality of device drivers, wherein in response to a request received from a first instance of a device driver via the API for determining whether a second instance of the device driver is currently loaded, the kernel is toperform a lookup in a data structure to determine whether the data structure stores a second driver handle of a second instance of the device driver, wherein the second driver handle stored in the data structure indicates that the second instance of the device driver has been loaded,return via the API a first driver handle of the first instance of the device driver if the second instance of the device driver has not been loaded, andreturn via the API the second driver handle of the second instance of the device driver if the second instance of the device driver has been loaded, wherein the first driver handle is compared with the second driver handle to determine whether the second instance of the device driver has been loaded; and

    a device map maintained by the kernel, the device map having a plurality of entries and each corresponding to a device, wherein the device map includes a first field to store an identifier of a corresponding device and a second field to store a driver handle of a device driver associated with the corresponding device, wherein the device map is accessible by the kernel as part of the API to determine whether an instance of a device driver for a particular device is loaded, wherein the API returns a driver handle of an existing driver specified in a second field of a device, indicating that the existing driver has been loaded, wherein the driver handle returned by the API is examined to determine whether the first driver handle and the driver handle returned by the API are identical, and wherein the kernel is to start the first instance of the driver if the first driver handle and the driver handle returned by the API are identical, and unload the first instance of the driver if the first driver handle and the driver handle returned by the API are different.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×