25.5. Memory management

Chapter 24 showed how each process in a classical UNIX system comprises three logical segments, one holding its text (code), one holding its data (including the heap) and the third holding the stack. When the fork system call was used to create a process the child would share its text segment with the parent and would have its data and stack segments initialized with copies of its parent's current state. We assumed that hardware-supported paging or segmentation would operate, as described in Chapter 5, to map those logical segments onto physical memory.

In this section we examine how the use of memory has developed in contemporary UNIX systems, both in terms of how the logical address space of a process is constructed ...

Get Operating Systems: Concurrent and Distributed Software Design 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.