JargonFile/original/html/B/bare-metal.html
2014-03-27 18:54:56 +00:00

21 lines
3.2 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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> </td><th width="60%" align="center">B</th><td width="20%" align="right"> <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> </td><td width="20%" align="center"><a accesskey="u" href="../B.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="barf.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">bar </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> barf</td></tr></table></div></body></html>