Anonymous user
Memory management: Difference between revisions
no edit summary
[unchecked revision] | [unchecked revision] |
(→External Links: Replaced dead osdever link) |
No edit summary |
||
(3 intermediate revisions by 3 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 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
===Paging===
Line 53:
*[[Page Frame Allocation]]
*[[Writing a memory manager]] - a tutorial
*[[Brendan's Memory Management Guide]]
===Threads===
Line 69 ⟶ 70:
[[Category:Memory management]]
[[Category:Physical Memory]]
[[Category:Virtual Memory]]
[[de:Speicherverwaltung]]
|