欠点としては、分離がないため、強力なリソース分離を備えたライブラリ OS で複数のアプリケーションを並行して実行しようとすると複雑になる可能性があることです。[ 4 ]さらに、ライブラリ OS が動作する特定のハードウェア用のデバイス ドライバが必要です。ハードウェアは急速に変化するため、ドライバを最新の状態に保つために定期的に書き換えるという負担が生じます。
OS仮想化は、汎用ハードウェアにおけるこれらの欠点のいくつかを克服できます。最新のハイパーバイザは、仮想マシンに CPU 時間と強力に分離された仮想デバイスを提供します。仮想マシンとして実行されるライブラリ OS は、これらの安定した仮想ハードウェア デバイスのドライバを実装するだけでよく、実際の物理ハードウェアの駆動はハイパーバイザに任せることができます。ただし、従来のオペレーティングシステムのサービスを置き換えるには、プロトコル ライブラリが依然として必要です。最新のライブラリ OS を実装する際、作業の大部分はこれらのプロトコル ライブラリの作成にあります。[ 1 ]さらに、ハイパーバイザへの依存は、ユニカーネルとハイパーバイザの切り替え時、およびハイパーバイザの仮想デバイスとの間でデータを渡す際に、パフォーマンス オーバーヘッドを再導入する可能性があります。
↑ Tanenbaum, Andrew S. (2008).現代オペレーティングシステム(第3版). Prentice Hall. pp. 50 –51. ISBN978-0-13-600663-3ほぼすべてのシステムコールは、ライブラリプロシージャを呼び出すことによってCプログラムから呼び出されます。ライブラリプロシージャは、TRAP命令を実行してユーザーモードからカーネルモードに切り替え、実行を開始します。
↑ Madhavapeddy, Anil; Mortier, Richard; Sohan, Ripduman; Gazagnaire, Thomas; Hand, Steven; Deegan, Tim; McAuley, Derek; Crowcroft, Jon (2010). "Turning Down the LAMP: Software Specialisation for the Cloud" (PDF) . Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing .
↑ Martins, Joao; Mohamed, Ahmed; Raiciu, Costin; Huici, Felipe (2013). "ClickOSによる高速で動的なネットワーク処理の実現". Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking (PDF) . pp. 67–72 . doi : 10.1145/2491185.2491195 . ISBN9781450321785. S2CID 12514038 .