ベアマシン・コンピューティング
多くの点で、BMCパラダイムは従来のコンピューティングとは異なります。 BMCアプリケーションの実行中に実行されている集中型カーネルまたはOSはありません。また、BMCパラダイムのベアマシンには、所有権がなく、貴重なリソースが格納されていません。また、汎用コンピューティングアプリケーションの実行に使用できます。このような特性は、組み込みシステムやシステムオンチップ(SOC)などの従来のコンピューティングシステムには見られません。さらに、BMCの概念は、シンプルさ、コードサイズの縮小、およびセキュリティを実現するための最小限のアプローチです。
ベアマシン・コンピューティング(英: Bare Machine Computing、BMC)は、ベアメタル (ベアマシン)に基づくプログラミングパラダイムである。 BMCパラダイムでは、アプリケーションはオペレーティングシステム(OS)または集中型カーネルのサポートなしで実行される。つまり、アプリケーションを実行する前に、中間ソフトウェアがベアマシンにロードされない。ベアマシンアプリケーションまたは単にBMCアプリケーションと呼ばれるアプリケーションは、永続ストレージやハードディスクを使用せず、代わりにUSBフラッシュドライブなどの取り外し可能な大容量記憶装置に保存される。 BMCプログラムは、1つのアドレス空間内で単一の実行可能ファイルとして実行される単一のアプリケーションまたはアプリケーションの小さなセット(アプリケーションスイート)で構成される。 BMCアプリケーションは、必要なハードウェアリソースに直接アクセスする。これらは、他のソフトウェアコンポーネントや外部ソフトウェアを使用せずに起動、ロード、および実行する、自己完結型、自己管理型、および自己制御型のソフトウェアである。 BMCアプリケーションは、その設計により固有のセキュリティを備える。 OS関連の脆弱性はなく、各アプリケーションには必要な(最小限の)機能しか含まれていない。アプリケーションはユーザーモードでのみ実行されるため、BMCシステムには特権モードはない。また、アプリケーションコードは静的にコンパイルされる。実行中にBMCプログラムフローを動的に変更する手段はない。