21 lines
3.2 KiB
HTML
21 lines
3.2 KiB
HTML
<?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. “<span class="quote">Programming on the bare metal</span>” 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>
|