Systems And Methods For Embedded Shared Libraries In An Executable Image
First Claim
Patent Images
1. An information handling system, comprising:
- at least one processing device, the processing device being configured to execute a runtime loader module and at least one application;
non-volatile system memory coupled to the processing device, the non-volatile memory containing an executable application file including the at least one application, the executable application file also including an embedded file system image segment that contains one or more dynamically-linkable dependent shared library versions selected for use by the at least one application when it is executed; and
volatile system memory coupled to the processing device, the volatile system memory being configured to contain the application in private memory space and being further configured to contain one or more dynamically-linkable runtime dependent shared library versions in first shared memory space that are available to be accessed by the application from the application private memory space during execution on the processing device;
where the at least one processing device is configured to execute the runtime loader module to;
load the application from the executable application file into the application private memory space of the volatile system memory,selectably load one or more shared dependent library versions from the embedded file system image segment into a second shared memory space of the volatile system memory that is separate and different from the first shared memory space, anddynamically link the loaded application to the one or more shared dependent library versions loaded from the embedded file system image segment into the second shared memory space of the volatile system memory.
14 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for deploying new software application features as a dynamically-loadable executable package including one or more dynamically-linked shared dependent libraries. The dynamically-loadable executable package may be capable of being loaded into volatile memory and executed in an information handling system environment with or without the dependent shared libraries, and without duplicating the presence or use of redundant shared libraries that may be already present on the existing software stack.
42 Citations
18 Claims
-
1. An information handling system, comprising:
-
at least one processing device, the processing device being configured to execute a runtime loader module and at least one application; non-volatile system memory coupled to the processing device, the non-volatile memory containing an executable application file including the at least one application, the executable application file also including an embedded file system image segment that contains one or more dynamically-linkable dependent shared library versions selected for use by the at least one application when it is executed; and volatile system memory coupled to the processing device, the volatile system memory being configured to contain the application in private memory space and being further configured to contain one or more dynamically-linkable runtime dependent shared library versions in first shared memory space that are available to be accessed by the application from the application private memory space during execution on the processing device; where the at least one processing device is configured to execute the runtime loader module to; load the application from the executable application file into the application private memory space of the volatile system memory, selectably load one or more shared dependent library versions from the embedded file system image segment into a second shared memory space of the volatile system memory that is separate and different from the first shared memory space, and dynamically link the loaded application to the one or more shared dependent library versions loaded from the embedded file system image segment into the second shared memory space of the volatile system memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of loading and executing an application on at least one processing device of an information handling system, the method comprising:
-
using the processing device to load one or more dynamically-linkable runtime dependent shared library versions in a first shared memory space of volatile memory of the information handling system, the dynamically-linkable runtime dependent shared library versions in the shared memory space being available to be accessed by applications executing on the processing device; using the processing device to load an application from an executable application file contained in non-volatile memory of the information handling system into an application private memory space of volatile system memory of the information handling system, the executable application file including the at least one application and an embedded file system image segment that contains one or more dynamically-linkable dependent shared library versions selected for use by the at least one application when it is executed; using the processing device to selectably load one or more shared dependent library versions from the embedded file system image segment into a second shared memory space of the volatile system memory that is separate and different from the first shared memory space; using the processing device to dynamically link the loaded application to the one or more shared dependent library versions loaded from the embedded file system image segment into the second shared memory space of the volatile system memory; and using the processing device to execute the loaded application on the at least one processing device of the information handling system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification