US2014040609A1PendingUtilityA1

Tracking loading and unloading of kernel extensions in isolated virtual space

Assignee: IBMPriority: Jul 12, 2010Filed: Aug 5, 2013Published: Feb 6, 2014
Est. expiryJul 12, 2030(~4 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 2009/45583G06F 2009/45587G06F 9/44505
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Some embodiments of the inventive subject matter are directed to receiving a request from a first instance of an operating system (e.g., a virtual operating system) to load a kernel extension that extends functionality of a kernel, where the kernel extension may be shared by a second instance of the operating system. An indicator accessible only to the second instance of the operating system records an indication that the first instance of the operating system requested to load the kernel extension. The kernel extension is loaded. A request is received by the first instance of the operating system to remove the functionality from the kernel. The functionality is removed from the kernel in response to determining, based on the indicator, that the first instance of the operating system had previously requested to load the kernel extension.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 receiving a request to load a kernel extension in a kernel, wherein the request to load the kernel extension is sent by a first of a plurality of instances of an operating system, wherein the plurality of instances of the operating system are managed by a second of the plurality of the instances of the operating system, wherein the plurality of the instances of the operating system share a kernel;   recording an indicator that indicates that the first of the plurality of the instances of the operating system requested to load the kernel extension, wherein the indicator is accessible only to the second of the plurality of the instances of the operating system;   loading the kernel extension, wherein loading the kernel extension extends functionality of the kernel;   receiving a request by the first of the plurality of the instances of the operating system to remove the functionality from the kernel;   determining, based on the indicator, that the first of the plurality of the instances of the operating system requested to load the kernel extension; and   removing the functionality from the kernel in response to the determining, based on the indicator, that the first of the plurality of the instances of the operating system requested to load the kernel extension.   
     
     
         2 . The method of  claim 1 , wherein the indicator is stored in one or more of a list, a file, a data structure, a memory location, a folder, a table, an array and a database associated with the kernel. 
     
     
         3 . The method of  claim 1 , wherein the indicator indicates a memory address in the kernel memory for the kernel extension. 
     
     
         4 . The method of  claim 1 , wherein before receiving the request to load the kernel extension in the kernel, further comprising:
 determining that the first of the plurality of instances of the operating system includes a kernel extension file associated with the kernel extension;   storing a file name of the kernel extension file in a list;   determining that the file name for the kernel extension is in the list after receiving the request to load the kernel extension in the kernel; and   loading the kernel extension in the kernel at least in part because the file name is in the list.   
     
     
         5 . The method of  claim 1 , wherein said first of the plurality of the instances of the operating system is installed on a software partition and the second of the plurality of the instances of the operating system is installed on one or more of a logical partition and a server. 
     
     
         6 . A computer program product for managing kernel extensions for one or more virtual operating systems, the computer program product comprising:
 a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:   computer readable program code configured to,
 receive a request to load a kernel extension in a kernel, wherein the request to load the kernel extension is sent by a first of a plurality of instances of an operating system, wherein the plurality of instances of the operating system are managed by a second of the plurality of the instances of the operating system, wherein the plurality of the instances of the operating system share a kernel, and wherein the kernel extension extends functionality of the kernel, 
 access a list maintained by the second of the plurality of instances of the operating system, wherein the list is stored in kernel memory and is accessible only to the second of the plurality of the instances of the operating system, 
 make an entry in the list that indicates that the first of the plurality of the instances of the operating system requested to load the kernel extension, 
 load the kernel extension in the kernel, 
 receive a request to unload the kernel extension from the kernel, wherein the request to unload the kernel extension is sent by the first of the plurality of instances of the operating system, 
 search the list, 
 find the entry in the list, in response to searching the list, wherein the entry indicates that the first the plurality of instances of the operating system previously requested to load the kernel extension, and 
 unload the kernel extension based at least in part on finding the entry in the list. 
   
     
     
         7 . The computer program product of  claim 6 , said computer readable program code being further configured to,
 store in the list a first identifier that indicates a memory address in the kernel memory for the kernel extension, wherein the list associates the first identifier with a second identifier that identifies the first of the plurality of instances of the operating system.   
     
     
         8 . The computer program product of  claim 7 , said computer readable program code being further configured to,
 determine, from the list, that the first identifier is associated with the second identifier, and   unload the kernel extension based in part on determining that the first identifier is associated with the second identifier.   
     
     
         9 . The computer program product of  claim 6 , said computer readable program code being further configured to,
 generate a unique identifier when the first of the plurality of instances of the operating system requests to load the kernel extension, wherein the unique identifier identifies the kernel extension,   store the unique identifier in the list,   use the unique identifier to determine that the kernel extension is globally shared by a third of the plurality of instances of the operating system, and   wait until the third of the plurality of instances of the operating system requests to unload the kernel extension before unloading the kernel extension.   
     
     
         10 . The computer program product of  claim 6 , said computer readable program code being further configured to,
 store a count in the list associated with a number of the plurality of instances of the operating system that have requested to load the kernel extension, and   before unloading the kernel extension, determine that the count indicates that the plurality of the instances of the operating system no longer require the kernel extension.   
     
     
         11 . The computer program product of  claim 6 , said computer readable program code being further configured to,
 before receiving the request to load the kernel extension in the kernel,   determine that the first of the plurality of instances of the operating system stores a kernel extension file associated with an application installed on the first of the plurality of the instances of the operating system, wherein the application requires the kernel extension file to be loaded, and   store a file name of the kernel extension file in the list.   
     
     
         12 . The computer program product of  claim 11 , said computer readable program code being further configured to,
 after receiving the request to load the kernel extension in the kernel
 determine that the file name for the kernel extension is in the list, and 
 load the kernel extension in the kernel, based at least in part because the file name is in the list. 
   
     
     
         13 . The computer program product of  claim 11 , said computer readable program code being configured to determine that the first of the plurality of instances of the operating system stores the kernel extension file associated with the application installed on the first of the plurality of the instances of the operating system being configured to,
 scan the first of the plurality of instances of the operating system, when the first of the plurality of instances of the operating system is created, to find the application that requires the kernel extension file.   
     
     
         14 . An apparatus comprising:
 a processing unit;   a network interface; and   a virtual operating system manager operable to, via the processing unit,
 receive a request to unload a kernel extension from a kernel, wherein the request is sent by a first of a plurality of instances of an operating system, wherein the plurality of instances of the operating system are managed by a second of the plurality of the instances of the operating system, wherein the plurality of the instances of the operating system share a kernel, and wherein the kernel extension extends functionality of the kernel, 
 access a list maintained by the second of the plurality of instances of the operating system, wherein the list is stored in kernel memory and is accessible only to the second of the plurality of the instances of the operating system, 
 search the list, 
 find an entry in the list, in response to searching the list, wherein the entry indicates that the first the plurality of instances of the operating system previously requested to load the kernel extension, and 
 unload the kernel extension based at least in part on finding the entry in the list. 
   
     
     
         15 . The apparatus of  claim 14 , wherein the list indicates a first identifier that indicates a memory address in the kernel memory for the kernel extension, wherein the list associates the first identifier with a second identifier that identifies the first of the plurality of instances of the operating system, and wherein the virtual operating system manager is further operable to
 determine, from the list, that the first identifier is associated with the second identifier, and   unload the kernel extension based in part on determining that the first identifier is associated with the second identifier.   
     
     
         16 . The apparatus of  claim 14 , wherein the first of the plurality of instances of the operating system is installed on a software partition and wherein the second of the plurality of instances of the operating system is installed on one or more of a logical partition and a computer. 
     
     
         17 . The apparatus of  claim 14 , wherein the virtual operating system manager is further operable to
 receive a request by the first of the plurality of instances of the operating system to load the kernel extension before receiving the request to unload the kernel extension from the kernel,   generate a unique identifier when the first of the plurality of instances of the operating system requests to load the kernel extension, wherein the unique identifier identifies the kernel extension,   store the unique identifier in the list,   use the unique identifier to determine that the kernel extension is globally shared by a third of the plurality of instances of the operating system, and   wait until the third of the plurality of instances of the operating system requests to unload the kernel extension before unloading the kernel extension.

Join the waitlist — get patent alerts

Track US2014040609A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.