JargonFile/original/html/B/bare-metal.html

21 lines
3.2 KiB
HTML
Raw Normal View History

2014-03-27 14:54:56 -04:00
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>bare metal</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../B.html" title="B"/><link rel="previous" href="bar.html" title="bar"/><link rel="next" href="barf.html" title="barf"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bare metal</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bar.html">Prev</a><EFBFBD></td><th width="60%" align="center">B</th><td width="20%" align="right"><EFBFBD><a accesskey="n" href="barf.html">Next</a></td></tr></table><hr/></div><dt><a id="bare-metal"/><dt xmlns="" id="bare-metal"><b>bare metal</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> 1. [common] New computer hardware, unadorned with such snares and
delusions as an <a href="../O/operating-system.html"><i class="glossterm">operating system</i></a>, an
<a href="../H/HLL.html"><i class="glossterm">HLL</i></a>, or even assembler. Commonly used in the phrase
<span class="firstterm">programming on the bare metal</span>, which
refers to the arduous work of <a href="bit-bashing.html"><i class="glossterm">bit bashing</i></a> needed to
create these basic tools for a new machine. Real bare-metal programming
involves things like building boot proms and BIOS chips, implementing basic
monitors used to test device drivers, and writing the assemblers that will
be used to write the compiler back ends that will give the new machine a
real development environment. </p></dd><dd><p> 2. &#8220;<span class="quote">Programming on the bare metal</span>&#8221; is also used to
describe a style of <a href="../H/hand-hacking.html"><i class="glossterm">hand-hacking</i></a> that relies on
bit-level peculiarities of a particular hardware design, esp. tricks for
speed and space optimization that rely on crocks such as overlapping
instructions (or, as in the famous case described in <a href="../story-of-mel.html" title="The Story of Mel">The Story of Mel'</a> (in Appendix A),
interleaving of opcodes on a magnetic drum to minimize fetch delays due to
the device's rotational latency). This sort of thing has become rare as
the relative costs of programming time and machine resources have changed,
but is still found in heavily constrained environments such as industrial
embedded systems. See <a href="../R/Real-Programmer.html"><i class="glossterm">Real Programmer</i></a>.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bar.html">Prev</a><EFBFBD></td><td width="20%" align="center"><a accesskey="u" href="../B.html">Up</a></td><td width="40%" align="right"><EFBFBD><a accesskey="n" href="barf.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">bar<EFBFBD></td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"><EFBFBD>barf</td></tr></table></div></body></html>