Position-independent code (PIC) is code that can execute regardless of its absolute address (i.e. by using relative addressing). PIC is used for shared libraries, allowing library code to be located anywhere in memory.
Program Loader
A program loader is the part of an OS that is responsible for loading programs and libraries for execution.
Shared Library
A shared library or shared object is a file that is intended to be shared by multiple programs. Symbols used by a program are loaded from shared libraries into memory at load time or runtime.
