Method and system for configuring device driver by selecting a plurality of component drivers to be included in the device driver
First Claim
1. A method in a computer system of configuring a device driver for controlling access to a device, the method comprising the computer-implemented steps of:
- defining a multiplicity of component drivers, each component driver for performing a function of a device driver; and
with the computer system, selecting a plurality of the component drivers to be included in the device driver, wherein the selected component drivers compose a configured device driver.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for configuring and executing device drivers in a computer system is provided. In a preferred embodiment, the device drivers comprise a plurality of component drivers. Each component driver performs a function (e.g., disk caching) that may be used in accessing a device. The component drivers of a device driver are ordered from a top layer to a bottom layer. When accessing a device, the top layer component driver of the device driver is first invoked. Each component driver performs its function and invokes the next lower layer component driver. The bottom layer component driver interacts directly with the device. An operating system, preferably, dynamically configures the device drivers at computer system startup. The operating system has a plurality of component drivers that are available to be configured into a device driver. To configure a device driver, the operating system invokes each component driver to determine whether the component driver should be included as a layer in the device drive. If a component driver should be included, the component driver stores a reference to the component driver in a call-down table for the device driver. The call-down table stores the ordering of the component driver layers. When accessing the device, the operating system first invokes the component driver referenced by the top reference in the call-down table. Each component driver in turn invokes the component driver referenced by the next lower reference in the call-down table.
-
Citations
28 Claims
-
1. A method in a computer system of configuring a device driver for controlling access to a device, the method comprising the computer-implemented steps of:
-
defining a multiplicity of component drivers, each component driver for performing a function of a device driver; and with the computer system, selecting a plurality of the component drivers to be included in the device driver, wherein the selected component drivers compose a configured device driver. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method in a computer system of executing a device driver for controlling access to a device, the device driver having component drivers, the component drivers being ordered from a top layer to a bottom layer, a reference to each component driver being contained in an ordered call-down table, the method comprising the steps of:
-
invoking the top layer component driver when accessing the device; and for each component driver except for the bottom layer component driver, under the control of the component driver, invoking a next lower layer component driver upon completion of the component driver by retrieving the reference to the next lower layer component driver from the call-down table. - View Dependent Claims (10)
-
-
11. A method in a computer system of configuring and executing a device driver for controlling access to a device, the method comprising the steps of:
-
organizing a plurality of component drivers as layers in the device driver by storing references to the component drivers in a call-down table; and invoking each of the plurality of component drivers each time the device is accessed by retrieving the references from the call-down table. - View Dependent Claims (12, 13, 14)
-
-
15. A computer system for configuring a device driver for controlling access to a device, the system comprising:
-
a multiplicity of component drivers, each component driver for performing a function of a device driver; and means for selecting a plurality of the component drivers to be included in the device driver, wherein the selected component drivers compose a configured device driver. - View Dependent Claims (16)
-
-
17. A computer system for executing a device driver for controlling access to a device, the device driver having component drivers, the component drivers being ordered from a top layer to a bottom layer, a reference to each component driver being contained in a call-down table the computer system comprising:
-
means for invoking the top layer component driver when accessing the device; and means, within each component driver except for the bottom layer component driver, for invoking the next lower layer component driver, including means for retrieving the reference to the next lower layer component driver from the call-down table.
-
-
18. A computer method of configuring and executing a device driver for controlling access to a device, the method comprising the steps of:
for each component driver referenced in a load table; loading the component driver, passing to the loaded component driver a device control block of the device, and linking the loaded component driver into a call-down table based on device-specific information contained in the device control block; and invoking each component driver linked into the call-down table when accessing the device. - View Dependent Claims (19)
-
20. A computer-readable memory containing a call-down table defining an invokable device driver dynamically configured from selected independent component drivers, the call-down table comprising a reference to each selected component driver, the references arranged in the order that the selected component drivers are to be invoked each time the configured device driver is invoked.
-
21. A method in a computer system for dynamically constructing a device driver, comprising the steps of:
-
retrieving an ordered list of available component drivers; and for each available component driver, in the order of the retrieved list; calling the component driver to determine whether the component driver should be incorporated in the device driver; and if the component driver determines that it should be incorporated in the device driver, appending a reference to the component to a call-down table that may be used to invoke the constructed device driver. - View Dependent Claims (22, 23, 24, 25)
-
-
26. An instance of computer-readable media that causes a computer system to dynamically construct a device driver by performing the steps of:
-
retrieving an ordered list of available component drivers; and for each available component driver, in the order of the retrieved list; calling the component driver to determine whether the component driver should be incorporated in the device driver; and if the component driver determines that it should be incorporated in the device driver, appending a reference to the component to a call-down table that may be used to invoke the constructed device driver. - View Dependent Claims (27, 28)
-
Specification