Process-mode independent driver model
First Claim
1. For a computer system comprising one or more processes capable of operating in at least one of (i) a relatively less restricted kernel mode, and (ii) a relatively more restricted user mode, and a hardware adaptor that allows the one or more processes to communicate with at least one hardware device over a communication link, a method of allowing for a single implementation of one or more operations that are common to both kernel mode processing and user mode processing relative to the hardware adapter, the method comprising acts of:
- defining a common interface name for at least one operation that is common to kernel mode processing and user mode processing;
providing a kernel mode implementation of the at least one operation that corresponds to the name;
providing a user mode implementation of the at least one operation that corresponds to the name; and
for a given process, mapping one or more common interface calls (i) to the kernel mode implementation if the given process is a kernel mode process, and (ii) to the user mode implementation if the given process is a user mode process.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products that, by defining a common interface, allow for a single implementation of operations common to both kernel mode and user mode processing, relative to a hardware adapter. Corresponding kernel mode and user mode implementations of the operations are provided. For a given process, a call to the common interface is mapped to the kernel mode implementation for kernel mode processes and to the user mode implementation for user mode processes. The mapping may be performed at runtime or may be static. The common operation may provide a user mode process direct access to a hardware adapter, such as for sending and receiving information, without switching to kernel mode. A kernel mode implementation for operations unique to kernel mode processing, such as specifying security parameters for the hardware adapter to enforce, or initiating and terminating communication through the hardware adapter, also may be provided.
92 Citations
27 Claims
-
1. For a computer system comprising one or more processes capable of operating in at least one of (i) a relatively less restricted kernel mode, and (ii) a relatively more restricted user mode, and a hardware adaptor that allows the one or more processes to communicate with at least one hardware device over a communication link, a method of allowing for a single implementation of one or more operations that are common to both kernel mode processing and user mode processing relative to the hardware adapter, the method comprising acts of:
-
defining a common interface name for at least one operation that is common to kernel mode processing and user mode processing;
providing a kernel mode implementation of the at least one operation that corresponds to the name;
providing a user mode implementation of the at least one operation that corresponds to the name; and
for a given process, mapping one or more common interface calls (i) to the kernel mode implementation if the given process is a kernel mode process, and (ii) to the user mode implementation if the given process is a user mode process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. For a computer system comprising one or more processes capable of operating in at least one of (i) a relatively less restricted kernel mode, and (ii) a relatively more restricted user mode, and a hardware adaptor that allows the one or more processes to communicate with at least one hardware device over a communication link, a computer program product comprising a computer readable medium carrying computer executable instructions that implement a method of allowing for a single implementation of one or more operations that are common to both kernel mode processing and user mode processing relative to the hardware adapter, the method comprising acts of:
-
defining a common interface name for at least one operation that is common to kernel mode processing and user mode processing;
providing a kernel mode implementation of the at least one operation that corresponds to the name;
providing a user mode implementation of the at least one operation that corresponds to the name; and
for a given process, mapping one or more common interface calls (i) to the kernel mode implementation if the given process is a kernel mode process, and (ii) to the user mode implementation if the given process is a user mode process. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product allowing for a single implementation of one or more operations which are common to both kernel mode processing and user mode processing relative to a hardware communication adapter, the computer program product comprising a computer readable medium carrying computer executable instructions, wherein the computer program product comprises:
-
an interface module that identifies a common name and parameter list for one or more operations that are common to kernel mode processing and user mode processing;
a kernel mode implementation module that implements the one or more operations for execution in kernel mode;
a user mode implementation module that implements the one or more operations for execution in user mode; and
a dispatch module that invokes the kernel mode implementation module if a calling process is a kernel mode process and invoke the user mode implementation module if the calling process is a user mode process. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification