1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-12 22:40:46 -08:00
emacs/mps/manual/html/glossary/e.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

315 lines
No EOL
20 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: E &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: F" href="f.html" />
<link rel="prev" title="Memory Management Glossary: D" href="d.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="f.html" title="Memory Management Glossary: F"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="d.html" title="Memory Management Glossary: D"
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-e">
<span id="glossary-e"></span><h1>Memory Management Glossary: E<a class="headerlink" href="#memory-management-glossary-e" 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="#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="n.html#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-ecru">ecru</dt>
<dd><div class="admonition-see first last admonition">
<p class="first admonition-title">See</p>
<p class="last"><a class="reference internal" href="o.html#term-off-white"><em class="xref std std-term">off-white</em></a>.</p>
</div>
</dd>
<dt id="term-edge">edge</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>, an edge is a connection between two
<a class="reference internal" href="n.html#term-node"><em class="xref std std-term">nodes</em></a>.</p>
<p>In a directed graph (digraph), edges have a direction;
otherwise the start and end nodes are interchangeable. By
convention, two directed edges between the same two nodes, but
in different directions, are depicted as a bi-directional
edge.</p>
<p>Typically an edge represents some relation between nodes.</p>
<div class="admonition-relevance-to-memory-management admonition">
<p class="first admonition-title">Relevance to memory management</p>
<p class="last">In memory management, edges normally represent the fact
that an <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">object</em></a> holds a <a class="reference internal" href="r.html#term-reference"><em class="xref std std-term">reference</em></a> to
another object.</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-entry-table-1">entry table<sup>(1)</sup></dt>
<dd><p class="first">An entry table is a table of <a class="reference internal" href="r.html#term-reference"><em class="xref std std-term">references</em></a>
into a set of <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> used to indirect
references from the outside.</p>
<p>The Lieberman-Hewitt <a class="reference internal" href="c.html#term-collector-1"><em class="xref std std-term">collector<sup>(1)</sup></em></a> represented
references from older <a class="reference internal" href="g.html#term-generation"><em class="xref std std-term">generations</em></a> to younger ones by
indirect pointers through an entry table in the younger
generation that contained the actual <a class="reference internal" href="a.html#term-address"><em class="xref std std-term">address</em></a> of the
young object. This is fairly expensive without special
hardware; other <a class="reference internal" href="g.html#term-generational-garbage-collection"><em class="xref std std-term">generational</em></a> collectors generally use <a class="reference internal" href="r.html#term-remembered-set"><em class="xref std std-term">remembered sets</em></a>.</p>
<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference internal" href="g.html#term-generational-garbage-collection"><em class="xref std std-term">generational garbage collection</em></a>, <a class="reference internal" href="#term-exit-table"><em class="xref std std-term">exit table</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#lh83"><em>Lieberman &amp; Hewitt (1983)</em></a>.</p>
</div>
</dd>
<dt id="term-entry-table-2">entry table<sup>(2)</sup></dt>
<dd><p class="first">An entry table is an implementation of a <a class="reference internal" href="r.html#term-remembered-set"><em class="xref std std-term">remembered
set</em></a>, where, for a given <a class="reference internal" href="g.html#term-generation"><em class="xref std std-term">generation</em></a>, there is a list
of <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> in older generations which contain
<a class="reference internal" href="r.html#term-reference"><em class="xref std std-term">references</em></a> into that generation.</p>
<p>One could also store the actual <a class="reference internal" href="m.html#term-memory-location"><em class="xref std std-term">locations</em></a> of the references, which would save time when
<a class="reference internal" href="s.html#term-scan"><em class="xref std std-term">scanning</em></a>, but incur other costs.</p>
<div class="admonition-similar-term admonition">
<p class="first admonition-title">Similar term</p>
<p class="last"><a class="reference internal" href="r.html#term-remembered-set"><em class="xref std std-term">remembered set</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-generational-garbage-collection"><em class="xref std std-term">generational garbage collection</em></a>, <a class="reference internal" href="#term-exit-table"><em class="xref std std-term">exit table</em></a>.</p>
</div>
</dd>
<dt id="term-exact-garbage-collection">exact garbage collection</dt>
<dd><div class="admonition-also-known-as first admonition">
<p class="first admonition-title">Also known as</p>
<p class="last"><em>precise garbage collection</em>, <em>type-accurate garbage collection</em>.</p>
</div>
<p><a class="reference internal" href="g.html#term-garbage-collection"><em class="xref std std-term">Garbage collection</em></a> is exact (or precise) if it deals
only with <a class="reference internal" href="#term-exact-reference"><em class="xref std std-term">exact references</em></a>.</p>
<p>An exact <a class="reference internal" href="c.html#term-collector-1"><em class="xref std std-term">collector<sup>(1)</sup></em></a> needs to know the
<a class="reference internal" href="f.html#term-format"><em class="xref std std-term">format</em></a> of the <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> and the
<a class="reference internal" href="r.html#term-root"><em class="xref std std-term">roots</em></a>, so that it can tell which fields are
references.</p>
<div class="admonition-opposite-term last admonition">
<p class="first admonition-title">Opposite term</p>
<p class="last"><a class="reference internal" href="c.html#term-conservative-garbage-collection"><em class="xref std std-term">conservative garbage collection</em></a>.</p>
</div>
</dd>
<dt id="term-exact-reference">exact reference</dt>
<dd><div class="admonition-also-known-as first admonition">
<p class="first admonition-title">Also known as</p>
<p class="last"><em>precise reference</em>, <em>sure reference</em>.</p>
</div>
<p>An exact or precise or sure reference is a value the
<a class="reference internal" href="c.html#term-collector-1"><em class="xref std std-term">collector<sup>(1)</sup></em></a> knows is a <a class="reference internal" href="r.html#term-reference"><em class="xref std std-term">reference</em></a>.</p>
<p>This is the usual sort of reference. The term is used to draw
a contrast with <a class="reference internal" href="a.html#term-ambiguous-reference"><em class="xref std std-term">ambiguous reference</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="a.html#term-ambiguous-reference"><em class="xref std std-term">ambiguous reference</em></a>.</p>
</div>
</dd>
<dt id="term-exact-root">exact root</dt>
<dd><div class="admonition-also-known-as first admonition">
<p class="first admonition-title">Also known as</p>
<p class="last"><em>precise root</em>.</p>
</div>
<p>An exact or precise root is a <a class="reference internal" href="r.html#term-root"><em class="xref std std-term">root</em></a> that contains only
<a class="reference internal" href="#term-exact-reference"><em class="xref std std-term">exact references</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="a.html#term-ambiguous-root"><em class="xref std std-term">ambiguous root</em></a>.</p>
</div>
<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference internal" href="#term-exact-reference"><em class="xref std std-term">exact reference</em></a>.</p>
</div>
<div class="admonition-in-the-mps last admonition">
<p class="first admonition-title">In the MPS</p>
<p class="last">An exact root has <a class="reference internal" href="r.html#term-rank"><em class="xref std std-term">rank</em></a> <a class="reference internal" href="../topic/root.html#mps_rank_exact" title="mps_rank_exact"><tt class="xref c c-func docutils literal"><span class="pre">mps_rank_exact()</span></tt></a>.</p>
</div>
</dd>
<dt id="term-exact-segregated-fit">exact segregated fit</dt>
<dd><p class="first">A <a class="reference internal" href="s.html#term-segregated-fit"><em class="xref std std-term">segregated fit</em></a> <a class="reference internal" href="a.html#term-allocation-mechanism"><em class="xref std std-term">allocation mechanism</em></a> which
has a separate <a class="reference internal" href="f.html#term-free-list"><em class="xref std std-term">free list</em></a> for each possible block size.
The array of free lists may be represented sparsely. Large
blocks may be treated separately.</p>
<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference internal" href="s.html#term-segregated-fit"><em class="xref std std-term">segregated fit</em></a>, <a class="reference internal" href="s.html#term-segregated-free-list"><em class="xref std std-term">segregated free list</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-execution-stack">execution stack</dt>
<dd><div class="admonition-see first last admonition">
<p class="first admonition-title">See</p>
<p class="last"><a class="reference internal" href="c.html#term-control-stack"><em class="xref std std-term">control stack</em></a>.</p>
</div>
</dd>
<dt id="term-exit-table">exit table</dt>
<dd><p class="first">An exit table is a table of all <a class="reference internal" href="r.html#term-reference"><em class="xref std std-term">references</em></a>
from a set of <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> to objects outside the
set.</p>
<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference internal" href="#term-entry-table-1"><em class="xref std std-term">entry table<sup>(1)</sup></em></a>, <a class="reference internal" href="#term-entry-table-2"><em class="xref std std-term">entry table<sup>(2)</sup></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#lh83"><em>Lieberman &amp; Hewitt (1983)</em></a>.</p>
</div>
</dd>
<dt id="term-extent">extent</dt>
<dd><div class="admonition-see first last admonition">
<p class="first admonition-title">See</p>
<p class="last"><a class="reference internal" href="l.html#term-lifetime"><em class="xref std std-term">lifetime</em></a>.</p>
</div>
</dd>
<dt id="term-external-fragmentation">external fragmentation</dt>
<dd><p class="first">External <a class="reference internal" href="f.html#term-fragmentation"><em class="xref std std-term">fragmentation</em></a> is the inability to use
<a class="reference internal" href="m.html#term-memory-1"><em class="xref std std-term">memory<sup>(1)</sup></em></a> because <a class="reference internal" href="f.html#term-free-3"><em class="xref std std-term">free<sup>(3)</sup></em></a> memory is divided
into many small <a class="reference internal" href="b.html#term-block"><em class="xref std std-term">blocks</em></a>.</p>
<p>If <a class="reference internal" href="l.html#term-live"><em class="xref std std-term">live</em></a> <a class="reference internal" href="o.html#term-object"><em class="xref std std-term">objects</em></a> are scattered, the
free blocks cannot be <a class="reference internal" href="c.html#term-coalesce"><em class="xref std std-term">coalesced</em></a>, and hence
no large blocks can be <a class="reference internal" href="a.html#term-allocate"><em class="xref std std-term">allocated</em></a>.</p>
<p>Common solutions to external fragmentation include:</p>
<ol class="arabic simple">
<li><a class="reference internal" href="m.html#term-moving-garbage-collector"><em class="xref std std-term">Moving garbage collection</em></a>;</li>
<li><a class="reference internal" href="h.html#term-handle"><em class="xref std std-term">Handles</em></a>;</li>
<li>Making all your objects the same size.</li>
</ol>
<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference internal" href="i.html#term-internal-fragmentation"><em class="xref std std-term">internal fragmentation</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#jw98"><em>Johnstone &amp; Wilson (1998)</em></a>.</p>
</div>
</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="d.html"
title="previous chapter">Memory Management Glossary: D</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="f.html"
title="next chapter">Memory Management Glossary: F</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="f.html" title="Memory Management Glossary: F"
>next</a> |</li>
<li class="right" >
<a href="d.html" title="Memory Management Glossary: D"
>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>