C.3 In Linux World

The Linux operating system usually uses GNU binary utilities like GNU C compiler gcc, linking loader ld, library archiver ar, etc. The linker-loader is quite sophisticated and has many options to control its actions.

Each process is allocated upto 4 GB of virtual memory address space, out of which the highest 1 GB address space, where the kernel routines execute on behalf of the user process, is invisible to the users program. This part of the address space is common between all the processes. The following are the general properties of Linux environment:

  • loader does not necessarily load full content to physical memory, but allocates virtual memory pages;
  • uses ELF (Extensible Loader Format);
  • kernel virtual memory is invisible ...

Get Compilers: Principles and Practice now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.