1. New computer hardware, unadorned with
such
snare
s and delu
sion
s a
s an
operating system, an
HLL, or even
assembler. Commonly u
sed in the phra
se "programming on the bare metal", which refer
s to the arduou
s work of
bit bashing needed to create the
se ba
sic tool
s for a new computer. Real bare-metal programming involve
s thing
s like building {boot PROM}
s and {BIO
s} chip
s, implementing ba
sic {monitor}
s u
sed to te
st
device drivers, and writing the a
ssembler
s that will be u
sed to write the compiler back end
s that will give the new computer a real development environment. 2. "Programming on the bare metal" i
s al
so u
sed to de
scribe a
style of
hand-hacking that relie
s on bit-level peculiaritie
s of a particular hardware de
sign, e
specially trick
s for
speed and
space optimi
sation that rely on crock
s such a
s overlapping in
struction
s (or, a
s in the famou
s ca
se de
scribed in {The
story of Mel}, interleaving of opcode
s on a magnetic drum to minimi
se fetch delay
s due to the device'
s rotational latency). Thi
s sort of thing ha
s become le
ss common a
s the relative co
st
s of programming time and computer re
source
s have changed, but i
s still found in heavily con
strained environment
s such a
s indu
strial embedded
sy
stem
s, and in the code of hacker
s who ju
st can' t let go of that low-level control.
see {Real Programmer}. In the world of per
sonal computing, bare metal programming i
s often con
sidered a
Good Thing, or at lea
st a nece
ssary evil (becau
se the
se computer
s have often been
sufficiently
slow and poorly de
signed to make it nece
ssary
see
ill-behaved). There, the term u
sually refer
s to bypa
ssing the BIO
s or O
s interface and writing the application to directly acce
ss device regi
ster
s and computer addre
sse
s. "To get 19.2 kilobaud on the
serial port, you need to get down to the bare metal." People who can do thi
s sort of thing well are held in high regard. [
Jargon File]
style="border-width:thin; border-color:#333333; border-style:dashed; padding:5px;" align="left">In addition suitable contents:
[ 2 ] [ = ] [ ad ] [ address ] [ ag ] [ ai ] [ al ] [ am ] [ an ] [ app ] [ application ] [ ar ] [ arc ] [ arg ] [ as ] [ ash ] [ assembler ] [ at ] [ au ] [ av ] [ B ] [ b ] [ ba ] [ bar ] [ bash ] [ baud ] [ be ] [ bi ] [ BIOs ] [ bit ] [ bit bashing ] [ bo ] [ boot ] [ by ] [ C ] [ ca ] [ case ] [ cat ] [ cc ] [ ch ] [ chip ] [ ci ] [ ck ] [ co ] [ code ] [ codes ] [ com ] [ compiler ] [ computer ] [ computing ] [ con ] [ cons ] [ control ] [ cr ] [ crock ] [ cu ] [ cy ] [ dd ] [ de ] [ design ] [ development ] [ development environment ] [ device ] [ device driver ] [ ding ] [ do ] [ down ] [ driver ] [ drum ] [ du ] [ ec ] [ ed ] [ ee ] [ eg ] [ eh ] [ embedded system ] [ environment ] [ er ] [ era ] [ es ] [ et ] [ evil ] [ fi ] [ file ] [ fo ] [ for ] [ G ] [ ga ] [ ge ] [ gh ] [ gi ] [ gn ] [ Go ] [ Good Thing ] [ gr ] [ gs ] [ h ] [ hack ] [ hacker ] [ hand-hacking ] [ hang ] [ hardware ] [ hat ] [ hing ] [ HLL ] [ hr ] [ id ] [ ie ] [ il ] [ ill-behaved ] [ in ] [ int ] [ interface ] [ interleaving ] [ IO ] [ io ] [ IOs ] [ ir ] [ iron ] [ is ] [ it ] [ J ] [ Jargon File ] [ ke ] [ ki ] [ kilobaud ] [ la ] [ latency ] [ ld ] [ Lex ] [ li ] [ LL ] [ ls ] [ lu ] [ lv ] [ ly ] [ M ] [ ma ] [ Mel ] [ meta ] [ mm ] [ mo ] [ mod ] [ module ] [ monitor ] [ mp ] [ ms ] [ N ] [ na ] [ nc ] [ ne ] [ net ] [ ng ] [ ni ] [ nl ] [ ns ] [ O ] [ om ] [ op ] [ operating system ] [ Os ] [ pa ] [ pe ] [ ph ] [ ping ] [ pl ] [ pm ] [ port ] [ PR ] [ pr ] [ program ] [ programming ] [ PROM ] [ pt ] [ query ] [ rc ] [ re ] [ real ] [ Real Programmer ] [ register ] [ rl ] [ ro ] [ ROM ] [ rotational latency ] [ ru ] [ s ] [ sa ] [ sc ] [ se ] [ serial port ] [ sh ] [ si ] [ sig ] [ sl ] [ sn ] [ so ] [ sort ] [ source ] [ space ] [ spec ] [ st ] [ story of Mel ] [ struct ] [ su ] [ sy ] [ system ] [ T ] [ tc ] [ test ] [ th ] [ to ] [ tool ] [ tr ] [ ua ] [ um ] [ us ] [ ve ] [ vi ] [ write ]