Memory management: Difference between revisions

no edit summary
[unchecked revision][unchecked revision]
No edit summary
 
(7 intermediate revisions by 7 users not shown)
Line 1:
'''Memory management''' is a critical part of any operating system [[Kernels|kernel]]. Providing a quick way for programs to allocate and free memory on a regular basis is a major responsibility of the kernel. There are many implementations for [[Page_Frame_Allocation|allocating physical memory]] including bitmaps, buddy allocation and using tree structures or queues/stacks.
 
''For an overview of memory allocation models, and methods of allocating memory, see [[Program Memory Allocation Types]]. If you are looking for heap type memory management, which is the allocation of smaller chunks of memory not on large boundaries then see the [[Heap|Heap]] page. A heap is commonly implemented (in the popular way of thinking) not only in the kernel, but also in applications - in the form of a standard library. For a discussion of automatic memory management methods, see [[Garbage Collection]].''
 
==Address Spaces==
Line 19 ⟶ 21:
===Segmentation===
{{Main|Segmentation}}
Segmentation is not commonly available in mainstream systems except for the x86. In protected mode this method involves separating each area of memory for a process into units. This is handled by the segment [[RegisterCPU Registers x86#Segment Registers|segment registers]]: '''CS, DS, SS, ES, FS, GS''' (CodeSegment, DataSegment, StackSegment, the rest are ExtraSegments).
 
===Paging===
Line 51 ⟶ 53:
*[[Page Frame Allocation]]
*[[Writing a memory manager]] - a tutorial
*[[Brendan's Memory Management Guide]]
 
===Threads===
*[[topic:12307|Paging Mechanisms]]
*[[topic:12022|Paging Concepts (by Brendan)]]
*[[topic:22661|Paging Explained (by Creature)]]
 
===External Links===
Line 60 ⟶ 64:
*[http://www.intel.com/products/processor/manuals/ Intel Systems Programming Documentation] Chapters 3 & 4 of Volume 3A
*[http://linux-mm.org/ LinuxMM] - A wiki documenting memory management projects and development
*[http://www.osdever.net/tutorials.php?cat=6&sort=1/index#Memory-Management Memory Management Articles] - Bona Fide OS Development ArticlesTutorials on Memory Management
*[[wikipedia:Memory management | Memory management]] on Wikipedia.
*[http://duartes.org/gustavo/blog/post/motherboard-chipsets-memory-map Jun 2008: Motherboard Chipsets and the Memory Map] by Gustavo Duarte
Line 66 ⟶ 70:
 
[[Category:Memory management]]
[[Category:Physical Memory]]
[[Category:Virtual Memory]]
[[de:Speicherverwaltung]]
Anonymous user