1. New computer hardware, unadorned with such snares and delusions as an
operating system, an
HLL, or even
assemBler. Commonly used in the phrase "programming on the
Bare metal", which refers to the arduous work of
Bit Bashing needed to create these
Basic tools for a new computer. Real
Bare-metal programming involves things like
Building {
Boot PROM}s and {
BIOS} chips, implementing
Basic {monitor}s used to test
device drivers, and writing the assem
Blers that will
Be used to write the compiler
Back ends that will give the new computer a real development environment. 2. "Programming on the
Bare metal" is also used to descri
Be a style of
hand-hacking that relies on
Bit-level peculiarities of a particular hardware design, especially tricks for speed and space optimisation that rely on crocks such as overlapping instructions (or, as in the famous case descri
Bed in {The Story of Mel}, interleaving of opcodes on a magnetic drum to minimise 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 computer resources have changed,
But is still found in heavily constrained environments such as industrial em
Bedded 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 is often considered a
Good Thing, or at least a necessary evil (
Because these computers 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 computer addresses. "To get 19.2 kilo
Baud 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. [
Jargon File]
In addition suitaBle contents:<Br>[ 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 ]