Linux(UML/user-mode-linux)は、Linux環境を仮想的に作りだすための仕組みである。Linuxカーネルをユーザーモードのプログラムとしてコンパイルして、実行させる。カーネル(UML本体)の連携により、Linuxゲスト環境を提供する。libvirtUMLのカーネルは、基本的にUML向けにコンパイルされたカーネルに、プログラムローダをくっつけた形に構築されており、Linux上で実行することで、プロセスの中で独立したLinuxが動作する構造となっている。ホストOSもLinuxであることが前提である。使い、システムコールやシグナルを横取りし、それをホスト側に投げ、システムコールやシグナルを成立させている。ゲストプロセスを再開させる[1]。本来1往復だったシステムコールのコンテキストスイッチは4往復になる。使うと、ユーザーモードからでも固定番地にメモリを確保できるが、それを利用して特定の番地にメモリを割り振っている。特権命令を一切使ってない。UMLカーネルは、ディスク資源、メモリ、ネットワークなどホストの資源を一部間借りすることができる。用のデバイスドライバが作られている。ディスクは、実際のディスクではなく、イメージファイルをディスクにみせかけることができるようになっている上、本来のイメージファイルに差分ファイルを組み合わせることで、イメージファイルに書き込みを行わずに利用することも可能となっている。そのため、単一イメージを複数のUMLで共有することも可能である。指定することで作成可能である[2]。カーネル(ファイル名"linux")とモジュールが作成される。このファイル(linux)を実行すると、UMLが起動する。mode)と名付けたモードで動いていて、ゲストの全てのプロセスが単一のメモリアドレス空間で動いていた。メインラインに加えてもらえなかった。システムコールを呼び出している。側に制御を戻す形で実現している[5]。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。