Systems and methods for dynamically linking application software into a running operating system kernel
First Claim
1. A system for dynamically linking application code created by a programmer into a running operating system kernel, comprising:
- an environment library comprising one or more routines for insulating the application code from the operating system environment and for implementing a uniform execution environment; and
a build system for constructing a loadable module from the application code and the environment library and for constructing a standard executable program from the loadable module and an execution library, wherein the execution library comprises one or more routines for transparently loading the loadable module into the running operating system kernel, passing arguments to the loadable module, and terminating and unloading the loadable module after receiving a termination signal.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides systems and methods for dynamically linking modules into a running operating system kernel. Systems and methods described herein have the following advantages: (1) they permit an application programmer to write, compile, execute, and terminate application code that is to be loaded into a kernel as if the application code was an ordinary application program, (2) they allow a standard programming environment to be used to encapsulate application software in a familiar environment, and (3) they permit automatic cleanup of errors and freeing of program resources when the application terminates.
30 Citations
68 Claims
-
1. A system for dynamically linking application code created by a programmer into a running operating system kernel, comprising:
-
an environment library comprising one or more routines for insulating the application code from the operating system environment and for implementing a uniform execution environment; and
a build system for constructing a loadable module from the application code and the environment library and for constructing a standard executable program from the loadable module and an execution library, wherein the execution library comprises one or more routines for transparently loading the loadable module into the running operating system kernel, passing arguments to the loadable module, and terminating and unloading the loadable module after receiving a termination signal. - View Dependent Claims (2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
5. A method, comprising:
-
creating a loadable module;
creating an executable program; and
executing the executable program, wherein the executable program performs a method comprising the steps of;
setting up input/output channels;
inserting the loadable module into an operating system address space, wherein, once the loadable the module is inserted into the operating system address space, the loadable module begins to execute; and
waiting for the loadable module to connect via kernel/user channels and then connecting those kernel/user channels to the input/output channels. - View Dependent Claims (6, 7)
-
-
8-9. -9. (canceled)
-
21. A computer readable medium having computer instructions stored thereon, the computer instructions comprising:
-
a first set of computer instructions for insulating application code from an operating system environment;
a second set of computer instructions for constructing a loadable module from the application code and the first set of computer instructions; and
a third set of computer instructions for constructing an executable program from the loadable module and a fourth set of computer instructions;
whereinthe fourth set of computer instructions includes computer instructions for transparently loading the loadable module into a running operating system kernel, passing arguments to the loadable module, and terminating and unloading the loadable module from the running operating system kernel after receiving a termination signal. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer system, comprising:
-
first means for insulating application code from an operating system environment;
second means for constructing a loadable module from the application code and the first means;
third means for constructing an executable program from the loadable module; and
fourth means for transparently loading the loadable module into a running operating system kernel, passing arguments to the loadable module, and terminating and unloading the loadable module from the running operating system kernel after receiving a termination signal. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A computer system for dynamically linking application code created by a programmer into a running operating system kernel, comprising:
-
means for creating a loadable module; and
means for creating an executable program that is configured to performs a method comprising the steps of;
setting up input/output channels;
inserting the loadable module into address space of the running operating system kernel, wherein, once the loadable the module is inserted into the address space, the loadable module begins to execute; and
waiting for the loadable module to connect via kernel/user channels and then connecting those kernel/user channels to the input/output channels. - View Dependent Claims (48, 49, 50, 51)
-
-
52. A method for dynamically linking application code created by a user into a running operating system kernel, comprising:
-
constructing a loadable module from application source code written by a user;
creating an executable program, wherein the executable program is configured to transparently load the loadable module into the running operating system kernel;
executing the executable program, thereby loading the loadable module into the running operating system kernel; and
unloading the loadable module from the running operating system kernel by sending a termination signal to the executable program. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
Specification