Dynamically configurable kernel
First Claim
1. A computer system comprising a central processing unit (CPU) and memory, said CPU executing in accordance with an operating system comprising modules of code, said computer system comprising a module sub-system for dynamically loading modules of the operating system into operating system memory and installing loaded modules as part of the operating system for access, said subsystem comprising:
- a control module loaded into operating system memory and installed as part of the operating system, said control module intercepting a request for access to a module such that the request is not performed, said control module further determining whether the requested module has been loaded and installed;
a loader module loaded into operating system memory and installed as part of the operating system, said loader module coupled to the control module for copying compiled module code for the requested module into the operating system memory to provide a loaded module;
a linker module loaded into operating system memory and installed as part of the operating system, said linker module coupled to the control module for resolving the references between the loaded module and at least one module previously loaded in the operating system memory and installed;
an install module loaded into operating system memory and installed as part of the operating system, said install module coupled to the control module for providing references to the loaded module thereby indicating that the loaded module is a loaded and installed module;
if said control module determines that the requested module has not been loaded and installed, said control module controlling the loader module, linker module and install module respectively to load, link and install the requested module, said control module further permitting the request for access to execute once the requested module has been loaded and installed; and
if said control module determines that the requested module has been loaded and installed, said control module immediately permitting the request for access to execute.
0 Assignments
0 Petitions
Accused Products
Abstract
A dynamically configurable operating system is achieved by providing a module sub-system which intercepts requests by processes to access a module in the operating system and determines whether the module has been loaded in the kernel memory and linked the other modules located in the kernel memory and installed in the appropriate table. If the module has been into the kernel memory, and installed the module sub-system grants the requesting installed process access to the module and processing continues. If the module has not been loaded into the kernel memory, the module sub-system will retrieve a copy of the module stored and copy it into kernel memory. The module is then linked to the other modules located in the kernel and installed. Once the module is loaded and linked and installed, access is granted to the requesting process and normal processing continues.
147 Citations
18 Claims
-
1. A computer system comprising a central processing unit (CPU) and memory, said CPU executing in accordance with an operating system comprising modules of code, said computer system comprising a module sub-system for dynamically loading modules of the operating system into operating system memory and installing loaded modules as part of the operating system for access, said subsystem comprising:
-
a control module loaded into operating system memory and installed as part of the operating system, said control module intercepting a request for access to a module such that the request is not performed, said control module further determining whether the requested module has been loaded and installed; a loader module loaded into operating system memory and installed as part of the operating system, said loader module coupled to the control module for copying compiled module code for the requested module into the operating system memory to provide a loaded module; a linker module loaded into operating system memory and installed as part of the operating system, said linker module coupled to the control module for resolving the references between the loaded module and at least one module previously loaded in the operating system memory and installed; an install module loaded into operating system memory and installed as part of the operating system, said install module coupled to the control module for providing references to the loaded module thereby indicating that the loaded module is a loaded and installed module; if said control module determines that the requested module has not been loaded and installed, said control module controlling the loader module, linker module and install module respectively to load, link and install the requested module, said control module further permitting the request for access to execute once the requested module has been loaded and installed; and if said control module determines that the requested module has been loaded and installed, said control module immediately permitting the request for access to execute. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. In a computer system comprising resources such as a Central Processing Unit (CPU), memory and input/output means, an operating system which executes processes and utilizes the resources, the operating system comprising at least one module loaded into operating system memory and installed as part of the operating system, a process for dynamically configuring the operating system by loading the modules into operating system memory and installing the loaded modules on an as needed basis comprising the steps of:
-
when a requesting process issues a request to the operating system to access a requested module; a module subsystem intercepting the request to access the requested module such that the request is temporarily not executed by the operating system, and determining if the requested module has been loaded and installed into the operating system by determining if a module configuration table stored in operating system memory contains an entry for the requested module having a value indicative that the requested module has been loaded into the operating system memory and installed; if the module has not been loaded into the operating system memory and installed into the operating system, loading the module comprising the steps of; copying compiled module code of the requested module into the operating system memory such that the requested module is a loaded module, and resolving all references between the loaded module and the at least one loaded and installed module, installing the loaded module by providing references to the loaded module necessary for requests for access thereby indicating that the requested module has been loaded and installed, wherein the loaded module is now accessible, and permitting the intercepted request for access to process; and if the module has been loaded into the operating system memory and installed into the operating system, immediately executing the request for access to execute. - View Dependent Claims (14, 15, 16, 17)
-
-
18. In a computer system comprising resources such as a Central Processing Unit (CPU), memory and input/output means, an operating system comprising a kernel memory comprising a plurality of installed and loaded modules which execute processes and utilize the resources, a process for loading modules into the kernel memory on an as needed basis comprising computer implemented steps of:
-
compiling each module into an object code format; storing the compiled files representative of the modules in a memory external to the kernel memory; providing at least one module configuration table in the kernel memory identifying modules loaded into the kernel memory and installed into the kernel as part of the operating system; when a requesting process issues an access request for a requested module, said process for loading, intercepting the access request to the module configuration table; reviewing the entries in the module configuration table to determine if the requested module has been loaded and installed into the kernel, if the module configuration table indicates that the module has not been loaded and installed into the kernel, reading the compiled file representative of the module, determining the size of the file, allocating space in the kernel memory for the file, copying the file into kernel memory, resolving all references between the requested module and the loaded and installed modules, installing the module by identifying the location of the loaded module and updating the module configuration table to indicate that the module has been loaded and installed into the kernel, and permitting the request to access to execute; and if the module configuration table indicates that the module has been loaded and installed into the kernel, immediately permitting the request to access to execute.
-
Specification