1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-17 08:31:09 -08:00
emacs/mps/manual/html/glossary/n.html
Gareth Rees 06057a4d52 Bring html up to date.
Copied from Perforce
 Change: 181168
 ServerID: perforce.ravenbrook.com
2013-03-18 15:13:54 +00:00

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 &mdash; 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> &raquo;</li>
<li><a href="index.html" accesskey="U">Memory Management Glossary</a> &raquo;</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&amp;view=status%3dopen&amp;display=Job:Priority:Title&amp;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> &raquo;</li>
<li><a href="index.html" >Memory Management Glossary</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; <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>