bare metal
名詞
[一般的]operating systemやHLL、さらにはアセンブラといった、わなや幻想で飾られていない新品のコンピューターハードウェア。「programming on the bare metal(ベアメタル上でのプログラミング)」という句でよく使われる。これは、新しいマシンのためにこうした基本ツールを作るのに必要な、骨の折れるbit bashingの作業を指す。本物のベアメタルプログラミングには、ブートPROMやBIOSチップの構築、デバイスドライバのテストに使う基本モニタの実装、そして新しいマシンに本物の開発環境を与えるコンパイラのバックエンドを書くのに使われるアセンブラの作成、といったことが含まれる。
「programming on the bare metal」はまた、特定のハードウェア設計のビットレベルの癖に依存するhand-hackingのスタイルを表すのにも使われる。特に、命令の重なりのようなcrockに依存する速度・空間最適化の小技だ(あるいは、付録Aの「The Story of Mel」で記される有名な事例のように、デバイスの回転待ち時間によるフェッチ遅延を最小化するための、磁気ドラム上のオペコードのインターリーブなど)。この種のことは、プログラミング時間とマシン資源の相対コストが変化するにつれてまれになったが、産業用組み込みシステムのような厳しく制約された環境では今なお見られる。Real Programmerを参照。