Closed1
ベアメタルではない開発ってなんて呼べばいいの?
Cortex-Mxを使ったSoCのように直接ハードウェアを触らせる環境でのプログラミングをベアメタル・プログラミングと呼んだりする。また、そういう環境に対するクロス開発をベアメタル・開発と呼ぶ。
ベアメタルとはむき出しの金属のことで、イメージ的には太平洋戦争後期から朝鮮戦争の頃のアメリカ陸軍の爆撃機や戦闘機のような無塗装の機械がそれにあたる。コンピュータにおけるベアメタル・プログラミングでは、塗装の無い戦闘機の地肌に振れるように、保護層のないコンピュータのハードウェアに触ることができる。
ぶっちゃけ、Memory Management UnitやMemory Proctection Unitを介さないプログラミングをベアメタル・プログラミングと呼ぶのだ。なので、LinuxやWindowsのアプリケーション開発はベアメタル開発ではない。そしてLinuxやWindowsのカーネルやドライバ開発はベアメタル開発と言える。
さてここで疑問。ベアメタルではない開発やプログラミングは何と呼ぶのか。コンピュータの黎明期においてすべてのプログラミングはベアメタル・プログラミングだった。それが汎用大型機のためのOSが生まれて以降、リッチでセキュアな環境での開発が広がっていった。やがて、リッチでもセキュアでもない環境での開発はベアメタル開発と呼ばれるようになった。
ベアメタル環境をターゲットとしない開発は何と呼べばいいのだろう。
このスクラップは1ヶ月前にクローズされました