Memory segmentation

Memory segmentation is an operating system memory management technique of dividing a computer's primary memory into segments or sections. In a computer system using segmentation, a reference to a memory location includes a value that identifies a segment and an offset (memory location) within that segment. Segments or sections are also used in object files of compiled programs when they are linked together into a program image and when the image is loaded into memory.

Segments usually correspond to natural divisions of a program such as individual routines or data tables[1] so segmentation is generally more visible to the programmer than paging alone.[2] Segments may be created for program modules, or for classes of memory usage such as code segments and data segments.[3] Certain segments may be shared between programs.[1][2]

Segmentation was originally invented as a method by which system software could isolate software processes (tasks) and data they are using. It was intended to increase reliability of the systems running multiple processes simultaneously.[4]

  1. ^ a b Cite error: The named reference holt1961 was invoked but never defined (see the help page).
  2. ^ a b Cite error: The named reference englander was invoked but never defined (see the help page).
  3. ^ Cite error: The named reference glaser1965 was invoked but never defined (see the help page).
  4. ^ "1.2 Memory Management". AMD64 Technology AMD64 Architecture Programmer's Manual Volume 2: System Programming (PDF). Vol. 2. Advanced Micro Devices. 2018. p. 5.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne