Memory segmentation: Difference between revisions

Content deleted Content added
Remove redundancy, note that this is OS memory management (and link to the page about system memory management rather than the page about managing memory within an address space).
Lledr (talk | contribs)
No edit summary
Line 7:
Different segments may be created for different program [[module (programming)|module]]s, or for different classes of memory usage such as [[Code segment|code]] and [[data segment]]s.<ref name="glaser1965"/> Certain segments may be shared between programs.<ref name="holt1961"/><ref name="englander" />
 
Segmentation was originally invented as a method by which [[system software]] could isolate different software [[Process (computing)|processes]] ([[Task (computing)|tasks]]) and data they are using. It was intended to increase reliability of the systems running multiple processes simultaneously.<ref name=":0">{{Cite book|url=https://www.amd.com/system/files/TechDocs/2459424593.pdf|title=AMD64 Technology AMD64 Architecture Programmer’s Manual Volume 2: System Programming|publisher=Advanced Micro Devices|year=2018|volume=2|pages=5|language=en|chapter=1.2 Memory Management}}</ref> In a [[X86-64|x86-64 architecture]] it is considered legacy and most x86-64-based modern system software don't use memory segmentation. Instead they handle programs and their data by utilizing [[Paging|memory-paging]] which also serves as a way of memory protection. However most x86-64 implementations still support it for backward compatibility reasons.<ref name=":0" />
 
==Hardware implementation==