Files
oldlinux-files/study/sabre/os/articles/MemoryManagement/index.htm
2024-02-19 00:25:23 -05:00

44 lines
5.9 KiB
HTML
Raw Blame History

<html><head><title>OSRC: Memory Management </title></head>
<body BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#0000FF ALINK=#107010>
<center><font face=Verdana size=7><b>Memory Management</b></font></center><blockquote>EMS, XMS + Techniques..</blockquote><table width="100%" cellpadding=0 cellspacing=0 border=0>
<tr><td width="33%" align=left></td>
<td width='33%' align=center></td>
<td width='33%' align=right><font size=2>[<a href="...htm" tppabs="http://www.nondot.org/~sabre/os/articles/MemoryManagement/..">Up</a>]</font></td></tr>
</table><hr><p><ul><DL>
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/LIMEMS41.txt" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/LIMEMS41.txt">Expanded Memory Specification</a></font> - by Lotus, Intel &amp Microsoft<br>
<DD>"Expanded memory is memory beyond DOS's 640K-byte limit. The LIM specification supports up to 32M bytes of expanded memory. Because the 8086, 8088, and 80286 (in real mode) microprocessors can physically address only 1M bytes of memory, they access expanded memory through a window in their physical address range."<p>
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/XMS30.txt" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/XMS30.txt">Extended Memory Specification v3.0</a></font> - by Lotus, Intel, Microsoft, &amp; AST Research<br>
<DD>"XMS allows DOS programs to utilize additional memory found in Intel's 80286 and 80386 based machines in a consistent, machine independent manner. With some restrictions, XMS adds almost 64K to the 640K which DOS programs can access directly. Depending on available hardware, XMS may provide even more memory to DOS programs. XMS also provides DOS programs with a standard method of storing data in extended memory."<p>
<ul><DL>
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/XMS20.txt" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/XMS20.txt">Extended Memory Specification v2.0</a></font> - by Lotus, Intel, Microsoft, &amp; AST Research<br>
<DD>Older standard version of above standard.<p>
</DL></ul>
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/SlabAllocator.pdf" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/SlabAllocator.pdf">The Kernel Slab Allocator</a></font> - by <a href='mailto:bonwick@eng.sun.com'>Jeff Bonwich</a><br>
<DD>"This paper presents a comprehensive design overview of the SunOS 5.4 kernel memory allocator. This allocator is based on a set of object-caching primitives that reduce the cost of allocating complex objects by retaining their state between uses. These same primitives prove equally effective for managing stateless memory (e.g. data pages and temporary buffers) because they are space-efficient and fast. The allocator<6F>s object caches respond dynamically to global memory pressure, and employ an object-coloring scheme that improves the system<65>s overall cache utilization and bus balance. The allocator also has several statistical and debugging features that can detect a wide range of problems throughout the system."<p>
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/LEA.html" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/LEA.html">Doug Lea's Malloc</a></font> - by <a href='mailto:dl@gee.cs.oswego.edu'>Doug Lea</a><br>
<DD>"Memory allocators form interesting case studies in the engineering of infrastructure software. I started writing one in 1987, and have maintained and evolved it ever since. This allocator provides implementations of the the standard C routines malloc(), free(), and realloc(), as well as a few auxiliary utility routines."<p>
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/DynamicStorageAllocationSurvey.pdf" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/DynamicStorageAllocationSurvey.pdf">A Survey of Malloc Implementations</a></font> - by Wilson, Johnstone, Neely &amp; Boles<br>
<DD>"Dynamic memory allocation has been a fundamental part of most computer systems since roughly 1960, and memory allocation is widely considered to be either a solved problem or an insoluble one. In this survey, we describe a variety of memory allocator designs and point out issues relevant to their design and evaluation. We then chronologically survey most of the literature on allocators between 1961 and 1995. (Scores of papers are discussed, in varying detail, and over 150 references are given.)"<p>This is an excellent Survey on the state of the art in memory allocation techniques. It talks about fragmentation, scalablilty, and different ways to implement malloc. Also included is a detailed survey of scholarly papers on memory allocation techniques.<p>
</DL></ul>
<hr>
<TABLE ALIGN=RIGHT BORDER=0><TR><TD><center>
Copyright &copy; 1995-2002 <i><a href='mailto:sabre@nondot.org'>Chris Lattner</a></i><br>
This page last modified:11/04/03<br><a href="...htm" tppabs="http://www.nondot.org/~sabre/os/articles/MemoryManagement/..">Go up a level</a><br>
</center></TD></TR></TABLE>
<font size=-1>
[about] [faq]
[<a href="../../Updates/index.htm" tppabs="http://www.nondot.org/~sabre/os/Updates/">updates</a>]
[<a href="../../Stats/index.htm" tppabs="http://www.nondot.org/~sabre/os/Stats/">stats</a>]
[<a href="../../AuthorRecognition.html" tppabs="http://www.nondot.org/~sabre/os/AuthorRecognition.html">author recognition</a>]
[<a href="../../submit/index.htm" tppabs="http://www.nondot.org/~sabre/os/submit/">contributing</a>]
[<a href="../PendingQueue/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/PendingQueue/">pending submissions</a>]
[feedback]
[<a href='mailto:sabre@nondot.org'>email</a>]
[<a href="../index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/">up</a>]
</font><p>
<font size=-1>
<font color=#FF0000>(new!)</font> sections have been updated in the last week...
<font color=#808000>(recent)</font> sections have been updated in the last two weeks...<br>
</font>