Linking & Loading for the Uninitiated

I started to write a few notes on the function of loaders, which are magic to many programmers, and discovered that there was no good place to start. The vary workings of computers is assumed to be well known but can hardly be found on the web. IBM’s 360 and 370 manuals had excellent introductions describing what it meant to fetch and execute a computer instruction. It did not assume that you had ever heard of a computer before. Alas they are no longer on the web and they are out of print.

So here you will find some stuff that you might have been embarrassed to ask—it is part of the oral tradition.

Here is an introduction to the very notion of address and the role it plays in computer logic. Here is some history of these ideas.

Sun’s Linking and Loading manual is a good description of the operations that are performed in the process of loading a program. It assumes many kinds of background information without reference to sources where that information can be found. If you already know what a loader is for then you can understand that manual.

The purpose of the linkers and loaders is to prepare address spaces.