bare metal n.
1. [common] New computer hardware,
unadorned with such snares and delusions as an operating system, an
bit bashing 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. 2. `Programming on
the bare metal' is also used to describe a style of
hand-hacking 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 The Story of Mel (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 less common 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, and in the code of hackers who just can't let go of that
low-level control. See Real Programmer.
In the world of personal computing, bare metal programming
(especially in sense 1 but sometimes also in sense 2) is often
considered a Good Thing, or at least a necessary evil
(because these machines have often been sufficiently slow and
poorly designed to make it necessary; see ill-behaved).
There, the term usually refers to bypassing the BIOS or OS
interface and writing the application to directly access device
registers and machine addresses. "To get 19.2 kilobaud on the
serial port, you need to get down to the bare metal." People who
can do this sort of thing well are held in high regard.
1. [common] New computer hardware,
unadorned with such snares and delusions as an operating system, an
bit bashing 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. 2. `Programming on
the bare metal' is also used to describe a style of
hand-hacking 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 The Story of Mel (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 less common 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, and in the code of hackers who just can't let go of that
low-level control. See Real Programmer.
In the world of personal computing, bare metal programming
(especially in sense 1 but sometimes also in sense 2) is often
considered a Good Thing, or at least a necessary evil
(because these machines have often been sufficiently slow and
poorly designed to make it necessary; see ill-behaved).
There, the term usually refers to bypassing the BIOS or OS
interface and writing the application to directly access device
registers and machine addresses. "To get 19.2 kilobaud on the
serial port, you need to get down to the bare metal." People who
can do this sort of thing well are held in high regard.
Related:
- Real Programmer n.
[indirectly, from the book
"Real Men Don't Eat Quiche"] A particular sub-variety of
hacker:
one possessed of a flippant attitude toward complexity... - ill-behaved adj.
1. [numerical analysis] Said of an
algorithm or computational method that tends to blow up because of
accumulated roundoff error or poor convergence properties.
2. Software that bypasses the defined OS interfaces... - bit bashing n.
(alt. `bit diddling' or bit twiddling) Term used to describe any of several kinds of low-
programming characterized by manipulation of bit, flag... - bug n.
An unwanted and unintended property of a program or
piece of hardware,
esp. one that causes it to malfunction. Antonym... - ill-behaved: adj. 1. [numerical analysis] Said of an algorithm or
computational method that tends to blow up because of accumulated
roundoff error or poor convergence properties.
2. Software that bypasses the defined {OS} interfaces... - bit bashing: n. (alt. `bit diddling' or {bit twiddling}) Term
used to describe any of several kinds of low-level programming
characterized by manipulation of {bit},
{flag}, {nybble}, and other smaller-than-character... - Real programmers don't write applications programs,
they program right down to the BARE METAL. Applications... - crock: [from the American scatologism `crock of shit'] n.
1. An awkward feature or programming technique that... - fossil: n. 1. In software, a misfeature that becomes
understandable only in historical context,
as a remnant of times past retained so as not to...
