Memory segmentation: Difference between revisions

Content deleted Content added
cleanup lead
cleanup wikilinks, add stub
Line 1:
{{Unreferenced|date=July 2007}}
{{for|x86 specifics|x86 memory segmentation}}
In computing, '''memory segmentation''' is one of the most common ways to achieve [[memory protection]]; another common one is [[paging]]. In a computer system using segmentation, an instruction operand that refers to a memory ___location includes a value that identifies a segment and an offset within that segment. A segment has a set of permissions, and a length, associated with it. If the currently running [[Process (computing)|process]] is allowed by the permissions to make the type of reference to memory that it is attempting to make, and the offset within the segment is within the range specified by the length of the segment, the reference is permitted; otherwise, a hardware [[Exception handling|exception]] is delivered.
 
Line 8 ⟶ 9:
A [[memory management unit]] (MMU) is responsible for translating a segment and offset within that segment into a memory address, and for performing checks to make sure the translation can be done and that the reference to that segment and offset is permitted.
 
This usage should not be confused with that of the [[memory segment]]ssegments used by early [[x86]] processors such as the [[Intel 8086]] and [[Intel 8088]], as they did not provide any protection; segmentation in the [[Intel 80286]] and later provided protection.
 
For details of [[x86]]'s implementation of segmentation in both 16-bit and 32-bit mode, please see the article on [[x86 memory segment]]s.
 
== See also ==
* [[Virtual memory]]
* [[Text segment]]
* [[Data segment]]
* [[Text segment]]
* [[Virtual address space]]
* [[Virtual memory]]
 
{{comp-sci-stub}}
 
[[Category:Memory management]]