Back
Next
Segmentation
Variable sized segment fit to size of code/data being loaded.
Requires both a base address (start location) and a bounds limit (size
of segment).
Memory access performed as offsets from the base address.
Segment has to represent all of memory needed to avoid complex address
decoding.
Machines(cpus) that support segmentation often have additional registers.
Software often has to be aware that segmentation used.
More efficient use of memory.
Only memory needed is allocated.
Allows a task (program) to be assigned to one segment or set of segments.
"Ownership" of segment can be controlled by OS thus preventing one
program from trashing the resources of another.
Uniform VM page sizes often implemented within a segment for efficiency.
Although segmentation is available on several cpus, including Intel, it is
seldom implemented. Virtual paging preferred.
It is possible to implement virtual paging in segmented memory blocks.