BARE METAL
\bˈe͡ə mˈɛtə͡l], \bˈeə mˈɛtəl], \b_ˈeə m_ˈɛ_t_əl]\
Sort: Oldest first
-
1. New computer hardware, unadorned with such snares anddelusions as an operating system, an HLL, or evenassembler. Commonly used in the phrase "programming on thebare metal", which refers to the arduous work of bit bashingneeded to create these basic tools for a new computer. Realbare-metal programming involves things like building bootPROMs and BIOS chips, implementing basic monitors used totest device drivers, and writing the assemblers that will beused to write the compiler back ends that will give the newcomputer a real development environment.2. "Programming on the bare metal" is also used to describe astyle of hand-hacking that relies on bit-level peculiaritiesof a particular hardware design, especially tricks for speedand space optimisation that rely on crocks such as overlappinginstructions (or, as in the famous case described in TheStory of Mel, interleaving of opcodes on a magnetic drum tominimise fetch delays due to the device's rotational latency).This sort of thing has become less common as the relativecosts of programming time and computer resources have changed,but is still found in heavily constrained environments such asindustrial embedded systems, and in the code of hackers whojust can't let go of that low-level control. See RealProgrammer.In the world of personal computing, bare metal programming isoften considered a Good Thing, or at least a necessary evil(because these computers have often been sufficiently slow andpoorly designed to make it necessary; see ill-behaved).There, the term usually refers to bypassing the BIOS or OSinterface and writing the application to directly accessdevice registers and computer addresses. "To get 19.2kilobaud on the serial port, you need to get down to the baremetal." People who can do this sort of thing well are held inhigh regard.
By Denis Howe
Word of the day
Health Personnel Attitudes
- Attitudes of personnel toward their patients, other professionals, the medical care system, etc.