System and method for dynamic device driver support in an open source operating system
First Claim
1. A method for establishing a device driver in an open source operating system, comprising the steps of:
- providing a device driver having multiple pre-compiled modules in executable form and a service layer in open source form, wherein each of the multiple pre-compiled modules is associated with a hardware architecture of the open source operating system;
compiling the service layer against the kernel of the open source operating system after each modification to the kernel of the open source operating system, wherein the step of compiling the service layer against the kernel comprises the step of associating the naming convention of function calls in the kernel to the naming convention of expected function calls in the device driver;
wherein the compiled service layer acts as an interface between the kernel of the operating system and the multiple pre-compiled executable modules of the device driver, such that the kernel cannot access proprietary information of the multiple pre-compiled executable modules and the compiled service layer is operable to send and receive function calls that are named according to the same naming convention;
wherein the naming convention comprises the use of a suffix for the naming of function calls, the suffix providing a naming convention that is specific to the kernel of the operating system.
14 Assignments
0 Petitions
Accused Products
Abstract
A system and method for dynamic device driver support in an open source operating system is disclosed in which a device driver includes one or more driver modules in executable format and a service layer provided to the user of the computer system in an open source format. The open source service layer can be compiled against the kernel of the operating system, causing the compiled service layer to be compatible with the kernel of the operating system, including any naming conventions followed by function calls of the kernel of the operating system. Because the executable driver modules are not easily accessible, proprietary information concerning the hardware architecture may be included in these modules.
61 Citations
10 Claims
-
1. A method for establishing a device driver in an open source operating system, comprising the steps of:
-
providing a device driver having multiple pre-compiled modules in executable form and a service layer in open source form, wherein each of the multiple pre-compiled modules is associated with a hardware architecture of the open source operating system; compiling the service layer against the kernel of the open source operating system after each modification to the kernel of the open source operating system, wherein the step of compiling the service layer against the kernel comprises the step of associating the naming convention of function calls in the kernel to the naming convention of expected function calls in the device driver; wherein the compiled service layer acts as an interface between the kernel of the operating system and the multiple pre-compiled executable modules of the device driver, such that the kernel cannot access proprietary information of the multiple pre-compiled executable modules and the compiled service layer is operable to send and receive function calls that are named according to the same naming convention; wherein the naming convention comprises the use of a suffix for the naming of function calls, the suffix providing a naming convention that is specific to the kernel of the operating system. - View Dependent Claims (2, 3)
-
-
4. A computer system comprising:
-
a processor; a memory; an open source operating system having a kernel; a device driver, the device driver comprising, an executable module compiled from an open source service layer, multiple pre-compiled executable modules, wherein each of the multiple pre-compiled executable modules is associated with a hardware architecture of the computer system, wherein the executable module compiled from the open source service layer provides an interface between the kernel of the operating system and the multiple pre-compiled executable modules, such that the kernel cannot access proprietary information of the multiple pre-compiled executable modules, such that the executable module compiled from the open source service layer receives kernel-specific function calls from the kernel of the operating system, wherein the executable module is compiled from the open source service layer following each modification to the kernel of the operating system, and wherein the kernel of the operating system and the executable module compiled from the open source service layer send and receive function calls according to the same naming convention, and wherein the naming convention comprises the use of a suffix for the naming of function calls, the suffix providing a naming convention that is specific to the kernel of the operating system. - View Dependent Claims (5)
-
-
6. A method for loading a device driver in a computer system having an open source operating system, comprising the steps of:
-
compiling an open source service layer against the kernel of the operating system following a modification to the kernel of the operating system; linking the compiled service layer to a set of precompiled driver modules, each of the precompiled driver modules being associated with a hardware architecture of a computer system; wherein the compiled service layer provides an interface between the kernel of the operating system and the precompiled driver modules, such that the kernel cannot access proprietary information of the pre-compiled executable module, and wherein the kernel of the operating system and the compiled service layer is operable to send and receive function calls that are named according to the same naming convention; recompiling the service layer if it is determined that the kernel of the operating system has been modified, wherein the recompiled service layer is operable to send and receive function calls that are named according to the same naming convention; and relinking the recompiled service layer to a set of precompiled driver modules. - View Dependent Claims (7, 8, 9, 10)
-
Specification