Patent ID: 8949868
Filing Date: 2015-02-03
Classification: G06F

Abstract:
1. 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.