Search⌘ K

Segmentation: Generalized Base/Bounds

Understand the concept of segmentation in virtual memory, where each logical segment has its own base and bounds registers allowing flexible placement in physical memory. Learn how address translation works by adding segment offsets to base addresses, and discover how segmentation faults occur when accesses go out of bounds. This lesson clarifies segmentation's role in efficient memory management and error detection.

We'll cover the following...

To solve this problem, an idea was born, and it is called segmentation. It is quite an old idea, going at least as far back as the very early 1960’s1.“Program Organization and Record Keeping for Dynamic Storage” by A. W. Holt. Communications of the ACM, Volume 4:10, October 1961. An incredibly early and difficult to read paper about segmentation and some of its uses. 2. “Fact Segmentation” by M. N. Greenfield. Proceedings of the SJCC, Volume 21, May 1962. Another early paper on segmentation; so early that it has no references to other work.. The idea is simple: instead of having just one base and bounds pair in our MMU, why not have a base and bounds pair per logical segment of the address space? A segment is just a contiguous portion of the address space of a particular length, and in our canonical address space, we have three logically-different segments:

  1. Code
  2. Stack
...