Loader (computing)
In computing, a loader is a program is the part of an operating system that is responsible for loading programs from executables into memory, preparing them for execution and then executing them. It is usually a part of the operating system's kernel and usually is loaded at system boot time and stays in memory until reboot/shutdown/poweroff (some operating systems with a pageable kernel may have the loader in the pageable part of the kernel and thus the loader may be swapped out of memory sometimes). Each operating system that supports program loading must have one (there are some embedded operating systems in highly specialized computers that have no program loading capabilities and thus no loaders, for example the operating system that runs on the computer that controls your HIFI). In Unix, the loader is the handler for the system call execve().
There are also dynamic linkers that load and link shared libraries (dlls) to already loaded running programs.
Loader programs are useful for prototyping, testing, and one-off applications. One such program was an integral part of Gene Amdahl's original OS/360 operating system, and this loader facility was continued through OS/360's descendants including MVT, MVS and z/OS.