Am Anfang der ausführbaren Datei befindet sich ein Header, in dem die Abschnitte der ausführbaren Datei für das Betriebssystem festgelegt sind. Unter Linux ist dies im Allgemeinen der "ELF"-Format Unter Windows hat es ein anderes Format, aber die Idee ist dieselbe.
Die Abschnitte der ausführbaren Datei können direkt in den Speicher kopiert oder bei Bedarf geladen/ausgelagert werden. Einige Abschnitte können virtuell sein (z. B. sagt das Layout "Ich brauche 8 MB Speicher mit Nullen", aber die Datei enthält tatsächlich keine 8 MB Nullen). Abschnitte können im Speicher verschoben werden oder an einer festen Stelle im Speicher geladen werden.
Nur die erste ausführbare Datei wird auf diese Weise vom Betriebssystem geladen. Alle anderen Dateien (oder dynamisch verknüpfte Bibliotheken usw.) werden indirekt vom Betriebssystem geladen (die Anwendung fordert lediglich Speicher an, bittet darum, dass Bits von Dateien in diesen Speicher kopiert werden, und springt dann in diesen Code).