ベアマシン・コンピューティング
コンピューティングの初期には、コンピュータアプリケーションはハードウェアと直接通信していました。さまざまなドメインを含むアプリケーションが大きくなるにつれて、OSが発明されました。それらは、アプリケーションにハードウェアの抽象化を提供するミドルウェアとして機能しました。 OSでは、そのサイズとオーバーヘッドOSを減らし、を含む性能向上させる試みにおいて得られた複雑で非常に成長しているマイクロカーネル、 Exokernel 、Tiny-OS 、OS-Kitをパラシオスと子猫、 IO_Lite、 ベアメタルをLinux、 IBM-Libraおよびその他の無駄のないカーネル。上記のアプローチに加えて、スマートフォンなどの組み込みシステムでは、OSの小さな専用部分と特定のアプリケーションセットがハードウェアと緊密に統合されています。ハードウェア上で直接実行される無数の産業用制御およびゲームアプリケーションもあります。これらのシステムのほとんどでは、ハードウェアは汎用アプリケーションを実行するために開かれていません。