Virtual memory

Unfortunately, the term virtual memory (VM) is often misunderstood or hazily understood, at best, by a large proportion of engineers. In this section, we attempt to clarify what this term and its associated terminologies (such as memory pyramid, addressing, and paging) really mean; it's important for developers to clearly understand this key area.

First, what is a process? A process is an instance of a program in execution. A program is a binary executable file: a dead, disk object. For example, take the cat program:$ ls -l /bin/cat -rwxr-xr-x 1 root root 36784 Nov 10 23:26 /bin/cat $ When we run cat it becomes a live runtime schedulable entity, which, in the Unix universe, we call a process.

In order to understand deeper ...

Get Hands-On System Programming with Linux 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.