Chapter 8. Behind the process

1 Review of executable files

We know that a program running in memory has two major components in code (also commonly known as a text for historical reasons) and data. We also know, however, an executable does not live its life in memory, but spends most of its life as a file on a disk waiting to be loaded an run. Since a file is, in essence, simply a contiguous array of bits, all systems come up with methods of organising code and data within files for on-demand execution. This file-format is generally referred to as a binary or an executable. The bits and bytes of the file are generally in a format ready to be placed in memory and interpreted directly by processor hardware.