mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-17 08:31:09 -08:00
256 lines
No EOL
15 KiB
HTML
256 lines
No EOL
15 KiB
HTML
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
<title>Memory Management Glossary: N — Memory Pool System 1.111.0 documentation</title>
|
|
|
|
<link rel="stylesheet" href="../_static/mps.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT: '../',
|
|
VERSION: '1.111.0',
|
|
COLLAPSE_INDEX: false,
|
|
FILE_SUFFIX: '.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
<link rel="copyright" title="Copyright" href="../copyright.html" />
|
|
<link rel="top" title="Memory Pool System 1.111.0 documentation" href="../index.html" />
|
|
<link rel="up" title="Memory Management Glossary" href="index.html" />
|
|
<link rel="next" title="Memory Management Glossary: O" href="o.html" />
|
|
<link rel="prev" title="Memory Management Glossary: M" href="m.html" />
|
|
</head>
|
|
<body>
|
|
<div class="related">
|
|
<h3>Navigation</h3>
|
|
<ul>
|
|
<li class="right" style="margin-right: 10px">
|
|
<a href="../genindex.html" title="General Index"
|
|
accesskey="I">index</a></li>
|
|
<li class="right" >
|
|
<a href="o.html" title="Memory Management Glossary: O"
|
|
accesskey="N">next</a> |</li>
|
|
<li class="right" >
|
|
<a href="m.html" title="Memory Management Glossary: M"
|
|
accesskey="P">previous</a> |</li>
|
|
<li><a href="../index.html">Memory Pool System 1.111.0 documentation</a> »</li>
|
|
<li><a href="index.html" accesskey="U">Memory Management Glossary</a> »</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
<div class="body">
|
|
|
|
<div class="section" id="memory-management-glossary-n">
|
|
<span id="glossary-n"></span><h1>Memory Management Glossary: N<a class="headerlink" href="#memory-management-glossary-n" title="Permalink to this headline">¶</a></h1>
|
|
<p class="glossary-alphabet"><a class="reference internal" href="a.html#glossary-a"><em>A</em></a>
|
|
| <a class="reference internal" href="b.html#glossary-b"><em>B</em></a>
|
|
| <a class="reference internal" href="c.html#glossary-c"><em>C</em></a>
|
|
| <a class="reference internal" href="d.html#glossary-d"><em>D</em></a>
|
|
| <a class="reference internal" href="e.html#glossary-e"><em>E</em></a>
|
|
| <a class="reference internal" href="f.html#glossary-f"><em>F</em></a>
|
|
| <a class="reference internal" href="g.html#glossary-g"><em>G</em></a>
|
|
| <a class="reference internal" href="h.html#glossary-h"><em>H</em></a>
|
|
| <a class="reference internal" href="i.html#glossary-i"><em>I</em></a>
|
|
| J
|
|
| <a class="reference internal" href="k.html#glossary-k"><em>K</em></a>
|
|
| <a class="reference internal" href="l.html#glossary-l"><em>L</em></a>
|
|
| <a class="reference internal" href="m.html#glossary-m"><em>M</em></a>
|
|
| <a class="reference internal" href="#glossary-n"><em>N</em></a>
|
|
| <a class="reference internal" href="o.html#glossary-o"><em>O</em></a>
|
|
| <a class="reference internal" href="p.html#glossary-p"><em>P</em></a>
|
|
| <a class="reference internal" href="q.html#glossary-q"><em>Q</em></a>
|
|
| <a class="reference internal" href="r.html#glossary-r"><em>R</em></a>
|
|
| <a class="reference internal" href="s.html#glossary-s"><em>S</em></a>
|
|
| <a class="reference internal" href="t.html#glossary-t"><em>T</em></a>
|
|
| <a class="reference internal" href="u.html#glossary-u"><em>U</em></a>
|
|
| <a class="reference internal" href="v.html#glossary-v"><em>V</em></a>
|
|
| <a class="reference internal" href="w.html#glossary-w"><em>W</em></a>
|
|
| X
|
|
| Y
|
|
| <a class="reference internal" href="z.html#glossary-z"><em>Z</em></a></p>
|
|
<dl class="glossary docutils">
|
|
<dt id="term-nailing">nailing</dt>
|
|
<dd><div class="admonition-see first last admonition">
|
|
<p class="first admonition-title">See</p>
|
|
<p class="last"><a class="reference internal" href="p.html#term-pinning"><em class="xref std std-term">pinning</em></a>.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-natural-alignment">natural alignment</dt>
|
|
<dd><p class="first">Natural alignment is an <a class="reference internal" href="a.html#term-alignment"><em class="xref std std-term">alignment</em></a> constraint such that
|
|
all <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> must be aligned to an address
|
|
that is a multiple of their size.</p>
|
|
<p>Natural alignment is not usually required for objects larger
|
|
than a <a class="reference internal" href="w.html#term-word"><em class="xref std std-term">word</em></a> or <a class="reference internal" href="g.html#term-grain"><em class="xref std std-term">grain</em></a>, which usually only need
|
|
to be word- or grain-aligned.</p>
|
|
<div class="admonition-see-also admonition seealso">
|
|
<p class="first admonition-title">See also</p>
|
|
<p class="last"><a class="reference internal" href="a.html#term-alignment"><em class="xref std std-term">alignment</em></a>, <a class="reference internal" href="p.html#term-padding"><em class="xref std std-term">padding</em></a>.</p>
|
|
</div>
|
|
<div class="admonition-in-the-mps last admonition">
|
|
<p class="first admonition-title">In the MPS</p>
|
|
<p class="last">The MPS platform interface defines the <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a>
|
|
preprocessor macro <a class="reference internal" href="../topic/platform.html#MPS_PF_ALIGN" title="MPS_PF_ALIGN"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_PF_ALIGN</span></tt></a> to be the
|
|
natural alignment of the platform.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-nepotism">nepotism</dt>
|
|
<dd><p class="first">In <a class="reference internal" href="g.html#term-generational-garbage-collection"><em class="xref std std-term">generational garbage collection</em></a> nepotism is the
|
|
tendency for <a class="reference internal" href="d.html#term-dead"><em class="xref std std-term">dead</em></a> <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> in old
|
|
<a class="reference internal" href="g.html#term-generation"><em class="xref std std-term">generations</em></a> to preserve younger dead
|
|
objects that are referenced by them. In other words, dead
|
|
parents can cause their children to get promoted.</p>
|
|
<p>This happens when an object gets <a class="reference internal" href="p.html#term-promotion"><em class="xref std std-term">promoted</em></a>
|
|
to an old generation and dies there, but does not get
|
|
<a class="reference internal" href="r.html#term-reclaim"><em class="xref std std-term">reclaimed</em></a> because the generation it is in does not get
|
|
considered for garbage collection very often. The old object
|
|
might refer to objects in younger generations that are also
|
|
dead; until the old object is reclaimed the younger objects
|
|
will be preserved by virtue of the <a class="reference internal" href="r.html#term-reference"><em class="xref std std-term">reference</em></a> from the
|
|
older, assumed alive, object.</p>
|
|
<p class="last">This is a form of <a class="reference internal" href="f.html#term-floating-garbage"><em class="xref std std-term">floating garbage</em></a> introduced by
|
|
partitioning the objects into generations.</p>
|
|
</dd>
|
|
<dt id="term-next-fit">next fit</dt>
|
|
<dd><p class="first">A variant of the <a class="reference internal" href="f.html#term-first-fit"><em class="xref std std-term">first fit</em></a> <a class="reference internal" href="a.html#term-allocation-mechanism"><em class="xref std std-term">allocation
|
|
mechanism</em></a> that uses a <em>roving pointer</em> on a circular
|
|
<a class="reference internal" href="f.html#term-free-block-chain"><em class="xref std std-term">free block chain</em></a>. The pointer is advanced along the
|
|
chain when searching for a fit. Thus each allocation begins
|
|
looking where the previous one finished. The rationale is to
|
|
avoid creating an accumulation of small fragments at the head
|
|
of the free block chain, which would have to be examined on
|
|
every allocation.</p>
|
|
<p>There are several variants, according to the order of blocks
|
|
on the free block chain. The most common variant is
|
|
address-ordered next fit.</p>
|
|
<p>This has a tendency to spread related objects out in memory,
|
|
and also gives quite poor <a class="reference internal" href="l.html#term-locality-of-reference"><em class="xref std std-term">locality</em></a> for the allocator (as the roving pointer rotates
|
|
around memory, the free blocks touched are those
|
|
least-recently used).</p>
|
|
<div class="admonition-see-also admonition seealso">
|
|
<p class="first admonition-title">See also</p>
|
|
<p class="last"><a class="reference internal" href="f.html#term-first-fit"><em class="xref std std-term">first fit</em></a>, <a class="reference internal" href="a.html#term-allocation-mechanism"><em class="xref std std-term">allocation mechanism</em></a>.</p>
|
|
</div>
|
|
<div class="admonition-related-publication last admonition">
|
|
<p class="first admonition-title">Related publication</p>
|
|
<p class="last"><a class="reference internal" href="../mmref/bib.html#wil95"><em>Wilson et al. (1995)</em></a>.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-new-space"><span id="term-newspace"></span>new space<br />newspace</dt>
|
|
<dd><div class="admonition-see first last admonition">
|
|
<p class="first admonition-title">See</p>
|
|
<p class="last"><a class="reference internal" href="t.html#term-tospace"><em class="xref std std-term">tospace</em></a>.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-node">node</dt>
|
|
<dd><p class="first">In a <a class="reference internal" href="g.html#term-graph"><em class="xref std std-term">graph</em></a>, a node is a representation of an
|
|
<a class="reference internal" href="o.html#term-object"><em class="xref std std-term">object</em></a> at the junction of zero or more <a class="reference internal" href="e.html#term-edge"><em class="xref std std-term">edges</em></a>.</p>
|
|
<div class="admonition-opposite-term admonition">
|
|
<p class="first admonition-title">Opposite term</p>
|
|
<p class="last"><a class="reference internal" href="e.html#term-edge"><em class="xref std std-term">edge</em></a>.</p>
|
|
</div>
|
|
<div class="admonition-see-also last admonition seealso">
|
|
<p class="first admonition-title">See also</p>
|
|
<p class="last"><a class="reference internal" href="g.html#term-graph"><em class="xref std std-term">graph</em></a>.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-non-moving-garbage-collector"><span id="term-non-moving-memory-manager"></span>non-moving garbage collector<br />non-moving memory manager</dt>
|
|
<dd><p class="first">A memory manager is said to be <em>non-moving</em> if
|
|
<a class="reference internal" href="a.html#term-allocate"><em class="xref std std-term">allocated</em></a> <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> do not move during their
|
|
lifetimes.</p>
|
|
<p>Non-moving memory management techniques include
|
|
<a class="reference internal" href="m.html#term-mark-sweep"><em class="xref std std-term">mark-sweep</em></a> collection, <a class="reference internal" href="r.html#term-reference-counting"><em class="xref std std-term">reference counting</em></a>, and
|
|
most kinds of <a class="reference internal" href="m.html#term-manual-memory-management"><em class="xref std std-term">manual memory management</em></a>.</p>
|
|
<div class="admonition-opposite-term last admonition">
|
|
<p class="first admonition-title">Opposite term</p>
|
|
<p class="last"><a class="reference internal" href="m.html#term-moving-garbage-collector"><em class="xref std std-term">moving garbage collector</em></a>.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-nursery-generation">nursery generation</dt>
|
|
<dd><div class="admonition-see first last admonition">
|
|
<p class="first admonition-title">See</p>
|
|
<p class="last"><a class="reference internal" href="#term-nursery-space"><em class="xref std std-term">nursery space</em></a>.</p>
|
|
</div>
|
|
</dd>
|
|
<dt id="term-nursery-space">nursery space</dt>
|
|
<dd><div class="admonition-also-known-as first admonition">
|
|
<p class="first admonition-title">Also known as</p>
|
|
<p class="last"><em>nursery generation</em>.</p>
|
|
</div>
|
|
<p>In <a class="reference internal" href="g.html#term-generational-garbage-collection"><em class="xref std std-term">generational garbage collection</em></a>, the <em>nursery
|
|
generation</em> or <em>space</em> is the area used for new
|
|
<a class="reference internal" href="a.html#term-allocate"><em class="xref std std-term">allocation</em></a>.</p>
|
|
<p class="last">The size of the nursery space must be chosen carefully. Often
|
|
it is related to the size of <a class="reference internal" href="p.html#term-physical-memory-1"><em class="xref std std-term">physical memory<sup>(1)</sup></em></a>.</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar">
|
|
<div class="sphinxsidebarwrapper">
|
|
<p class="logo"><a href="../index.html">
|
|
<img class="logo" src="../_static/logo.png" alt="Logo"/>
|
|
</a></p>
|
|
<h4>Previous topic</h4>
|
|
<p class="topless"><a href="m.html"
|
|
title="previous chapter">Memory Management Glossary: M</a></p>
|
|
<h4>Next topic</h4>
|
|
<p class="topless"><a href="o.html"
|
|
title="next chapter">Memory Management Glossary: O</a></p><h4>Downloads</h4>
|
|
|
|
<p class="topless">
|
|
<a href="http://www.ravenbrook.com/project/mps/release/1.111.0/">MPS Kit release 1.111.0</a><br>
|
|
<a href="http://www.ravenbrook.com/project/mps/release/">All MPS Kit releases</a>
|
|
</p>
|
|
|
|
<h4>Issues</h4>
|
|
|
|
<p class="topless">
|
|
<a href="http://www.ravenbrook.com/project/mps/issue/?action=list&view=status%3dopen&display=Job:Priority:Title&sort=Priority">Known issues</a><br>
|
|
<a href="http://www.ravenbrook.com/project/mps/issue/?action=fixed&release_fixed=1.111.0">Issues fixed in release 1.111.0</a>
|
|
</p><h4>Contact us</h4>
|
|
|
|
<p class="topless"><a href="mailto:mps-questions@ravenbrook.com">mps-questions@ravenbrook.com</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="related">
|
|
<h3>Navigation</h3>
|
|
<ul>
|
|
<li class="right" style="margin-right: 10px">
|
|
<a href="../genindex.html" title="General Index"
|
|
>index</a></li>
|
|
<li class="right" >
|
|
<a href="o.html" title="Memory Management Glossary: O"
|
|
>next</a> |</li>
|
|
<li class="right" >
|
|
<a href="m.html" title="Memory Management Glossary: M"
|
|
>previous</a> |</li>
|
|
<li><a href="../index.html">Memory Pool System 1.111.0 documentation</a> »</li>
|
|
<li><a href="index.html" >Memory Management Glossary</a> »</li>
|
|
</ul>
|
|
</div>
|
|
<div class="footer">
|
|
© <a href="../copyright.html">Copyright</a> 2013, Ravenbrook Limited.
|
|
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
|
|
</div>
|
|
</body>
|
|
</html> |