1. KVMアーキテクチャ kvm の基本構造は 2 つの部分で構成されます。 kvm ドライバーは Linux カーネルのモジュールになりました。主に仮想マシンの作成、仮想メモリの割り当て、VCPU レジスタの読み取りと書き込み、VCPU の操作を担当します。 もう 1 つのコンポーネントは Qemu です。これは、仮想マシンのユーザー スペース コンポーネントをシミュレートし、I/O デバイス モデルを提供し、周辺機器にアクセスするために使用されます。 図1 KVMの基本構造 kvm の基本構造を上の図に示します。 kvm はすでにカーネル モジュールであり、標準の Linux 文字セット デバイス (/dev/kvm) として認識されます。 Qemu は libkvm アプリケーション インターフェイスを使用して、ioctl 経由で fd を使用するデバイス ドライバーに仮想マシンの作成および実行コマンドを送信します。デバイス ドライバー kvm は、以下に示すように、コマンドを解析します (kvm_dev_ioctl 関数は kvm_main.c ファイル内にあります)。 図2 kvm_dev_ioctl関数 kvm モジュールは、Linux ホストを仮想マシン モニター (VMM) にし、元の 2 つの Linux 実行モードに基づいて新しいクライアント モードを追加します。クライアント モードには、独自のカーネル モードとユーザー モードがあります。仮想マシンの実行中、3 つのモードは次のように動作します。 クライアント モード: 非 I/O クライアント コードを実行します。仮想マシンはこのモードで実行されます。 ユーザー モード: ユーザーに代わって I/O 命令を実行します。 Qemu はこのモードで実行されます。 カーネル モード: クライアント モードの切り替えを実装し、I/O またはその他の命令によって発生するクライアント モードの終了 (VM_EXIT) を処理します。 kvm モジュールはこのモードで動作します。 kvm モデルでは、各 Gust OS は標準の Linux プロセスとして扱われ、Linux プロセス管理コマンドを使用して管理できます。 ここで、qemu が ioctl を通じて KVM_CREATE_VM 命令を発行する場合、VM を作成した後、qemu は KVM_CREATE_VCPU などのいくつかのコマンドを VM に送信する必要があります。もちろん、これらのコマンドも ioctl を通じて送信されます。ユーザプログラム内で ioctl を使って KVM_CREATE_VM を送信した場合の戻り値は、新しく作成された VM に対応する fd (kvm_vm) になります。 fd は、特定の仮想マシンインスタンスを指すために作成されたファイル記述子です。この fd は、アクセス制御のために VM にコマンドを送信するために使用されます。 kvm がこれらのコマンドを解析するために使用する関数は kvm_vm_ioctl です。 2. KVMの動作原理 kvm の基本的な動作原理の概要: ユーザー モードの qemu は、ioctl を介してカーネル モードに入るために libkvm を使用します。 kvm モジュールは仮想マシンの仮想メモリを作成し、仮想 CPU の後に VMLAUCH 命令を実行してクライアント モードに入ります。ゲスト OS をロードして実行します。ゲスト OS が外部割り込みまたはシャドウ ページ テーブル ページ フォールトに遭遇すると、ゲスト OS の実行が中断され、例外を処理するためにゲスト モードが終了し、その後ゲスト モードが再び開始されてゲスト コードが実行されます。 I/O イベントが発生するか、シグナル キューにシグナルが到着すると、ユーザー モード処理が開始されます。 (下図参照) 図3 KVMの動作原理フローチャート |
<<: 分散 KVM とは何かを理解するための分散 KVM システム アーキテクチャ図
>>: 2020 年、クラウド コンピューティングは上位 4 社による戦いになるのでしょうか、それとも勝者総取りになるのでしょうか。
クラウド コンピューティングは、組織の業務、情報の保存、意思決定の方法を変え、技術革新と分析研究への...
都市の公共交通の中心地である鉄道駅、地下鉄駅、旅客駅、バス停は人口密度が高く、管理が困難です。どれだ...
2016 年 11 月に設立された Edgenet は、3 年間運営されています。11.11 イベン...
10月1日のゴールデンウィークがまたやってきました。特に、新しい場所が好きで憧れ、新しい環境を楽しむ...
この記事では、DevOps を高レベルで素早く理解し、文化を変えるための実践方法を紹介します。 De...
Hostvenom は 2009 年に設立され、ホスティング事業の運営を開始しました。主な事業はシカ...
サイト内構造の最適化は SEO 作業の基本です。適切なサイト構造レイアウトは、ユーザーが関連するペー...
最近、Baiduはさまざまなレベルで継続的にアップデートされており、多くの規則や規制が追加されていま...
budgetvm は 10 年以上運営されているアメリカの古いブランドで、多くの人に知られています。...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています多くの伝統...
そのウェブサイトは午後中ずっと CC に攻撃され、ちょっと不愉快でした。「狂犬に噛まれたら、狂犬も噛...
11月10日、米国のブルッキングス研究所のウェブサイトに「中国4.0 – デジタル化の利益の共有」と...
ネットワーク セキュリティが SEO に与える影響は、もはや決まり文句になっているようですが、私は個...
クラウド コンピューティングがリソースの俊敏性に革命をもたらしたのと同様に、権限を与えられたモバイル...
Microsoft は、あらゆるタイプの開発者がインテリジェントな生産性ソリューションを作成できるよ...