Methods, systems and computer program products for dynamic linkage
AssigneeInternational Business Machines Corporation
InventorsRobert O. Dryfoos, Dennis Fallon, Colette A. Manoni, Mark Spies
Life of this patent
Estimating the term…
Abstract
A method of dynamic linkage including: receiving a request to launch a program; checking a system memory for the program; reserving a unique memory block of the system memory for the program and loading the program into the unique memory block if the program is not found in the memory of the system; performing internal memory relocations for the program if the program is not found in the memory of the system; ensuring that a library required by the program has been loaded into the system memory if the program is not found in the memory of the system; and invoking the program.
Claims11
A method of dynamic linkage comprising:
- receiving a request to launch a program from a calling process;
- checking a system memory for the program;
- reserving a unique memory block of the system memory for the program and loading the program into the unique memory block if the program is not found in the memory of the system;
- performing internal memory relocations for the program if the program is not found in the memory of the system;
- ensuring that a library required by the program has been loaded into the system memory if the program is not found in the memory of the system;
- and
- invoking the program;
- wherein invoking the program includes:
- an operating system intercept determining a state of the program and taking action in response to the state;
- wherein if the operating system intercept determines that the program is in a not yet loaded into memory state, the operating system intercept executes a first phase of a dynamic linkage process and places the calling process in a queue awaiting completion of the dynamic linkage process;
- wherein if the operating system intercept determines that the program is in a being loaded into memory state, the operating system intercept places the calling process in the queue awaiting completion of the dynamic linkage process;
- if the operating system intercept determines that the program is in a having external references resolved state, the operating system intercept places the calling process in a queue awaiting completion of the dynamic linkage process;
- and
- if the operating system intercept determines that the program is in a loaded into memory state, the operating system intercept invokes the program.
A computer program product for providing dynamic linkage, the computer program product comprising:
- a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for facilitating a method comprising:
- receiving a request to launch a program;
- checking a system memory for the program;
- reserving a unique memory block of the system memory for the program and loading the program into the unique memory block if the program is not found in the memory of the system;
- performing internal memory relocations for the program if the program is not found in the memory of the system;
- ensuring that a library required by the program has been loaded into the system memory if the program is not found in the memory of the system;
- and
- invoking the program;
- wherein invoking the program includes:
- an operating system intercept determining a state of the program and taking action in response to the state;
- wherein if the operating system intercept determines that the program is in a not yet loaded into memory state, the operating system intercept executes a first phase of a dynamic linkage process and places the calling process in a queue awaiting completion of the dynamic linkage process;
- wherein if the operating system intercept determines that the program is in a being loaded into memory state, the operating system intercept places the calling process in a queue awaiting completion of the dynamic linkage process;
- if the operating system intercept determines that the program is in a having external references resolved state, the operating system intercept places the calling process in the queue awaiting completion of the dynamic linkage process;
- and
- if the operating system intercept determines that the program is in a loaded into memory state, the operating system intercept invokes the program.
A dynamic linkage system comprising:
- means for receiving a request to launch a program;
- means for checking a system memory for the program;
- means for reserving a unique memory block of the system memory for the program and loading the program into the unique memory block if the program is not found in the memory of the system;
- means for performing internal memory relocations for the program if the program is not found in the memory of the system;
- means for ensuring that a library required by the program has been loaded into the system memory if the program is not found in the memory of the system;
- and
- means for invoking the program
- wherein the means for invoking the program includes:
- an operating system intercept determining a state of the program and taking action in response to the state;
- wherein if the operating system intercept determines that the program is in a not yet loaded into memory state, the operating system intercept executes a first phase of a dynamic linkage process and places the calling process in a queue awaiting completion of the dynamic linkage process;
- wherein if the operating system intercept determines that the program is in a being loaded into memory state, the operating system intercept places the calling process in a queue awaiting completion of the dynamic linkage process;
- if the operating system intercept determines that the program is in a having external references resolved state, the operating system intercept places the calling process in the queue awaiting completion of the dynamic linkage process;
- and
- if the operating system intercept determines that the program is in a loaded into memory state, the operating system intercept invokes the program.
Dependencies are inferred from the claim text.