メモリ仮想化技術の具体的な2つの実装方法は何ですか?

メモリ仮想化技術の具体的な2つの実装方法は何ですか?

メモリ仮想化技術の導入後、メモリ システムには 3 種類のアドレスが存在するようになりました。

マシン アドレス (MA): 実際のハードウェア マシン アドレス、アドレス バス上で確認できるアドレス信号。

ゲスト物理アドレス (GPA): VMM 抽象化後に仮想マシンが認識する疑似物理アドレス。

仮想アドレス (VA): ゲスト OS によってアプリケーションに提供される線形アドレス空間。

[[210143]]

仮想アドレスと仮想マシンの物理アドレスのマッピング関係はgで示される。

仮想マシンの物理アドレスとマシンアドレスのマッピング関係はfで示される。

オペレーティング システムのメモリ管理ユニット (MMU) は、仮想アドレスから物理アドレスへのマッピングを 1 回しか完了できませんが、取得される物理アドレスはマシンの物理アドレスではなく仮想マシンの物理アドレスのみであるため、バスで使用できるマシン アドレスを取得するには VMM が参加する必要があります。仮想アドレスからマシン アドレスへの効率的な変換を実現するために一般的に使用される方法は、VMM がマッピング f と g に基づいて複合マッピング f g を生成し、それを MMU に直接書き込むことです。具体的な実装方法は 2 つあります。

MMU 準仮想化

この方法は主にXenで使用されています

主な原則は、ゲスト OS が新しいページ テーブルを作成すると、VMM は保持されている空きメモリからそのページ テーブルにページを割り当てて登録するというものです。その後、ゲスト OS のページ テーブルへの書き込み操作は、検証と変換のために VMM に送られます。 VMM はページ テーブル内の各項目をチェックし、それらが仮想マシンに属するマシン ページにのみマップされており、ページ テーブル ページに対する書き込み可能なマッピングが含まれていないことを確認します。次に、VMM は、維持しているマッピング関係に従って、ページ テーブル項目内の仮想マシンの物理アドレスを対応するマシン アドレスに置き換えます。最後に、変更されたページ テーブルが MMU にロードされ、MMU は変更されたページ テーブルに従って仮想アドレスからマシン アドレスへの変換を直接完了できます。この方法の本質は、マッピング関係 f·g をゲスト OS のページ テーブルに直接書き込んで、元のマッピング g を置き換えることです。

シャドウページテーブル

完全仮想化では、シャドウ ページ テーブル テクノロジを使用してメモリ仮想化を実装します。 MMU 準仮想化との違いは、VMM がゲスト OS の各ページ テーブルに対してシャドウ ページ テーブルを維持し、f·g のマッピング関係をシャドウ ページ テーブルに書き込むことです。ゲスト OS のページ テーブルの内容は変更されません。次に、VMM はシャドウ ページ テーブルを MMU に書き込みます。

シャドウ ページ テーブルのメンテナンスには、時間とスペースの点で大きなオーバーヘッドが発生します。時間のオーバーヘッドは主に、ゲスト OS がページ テーブルを構築するときに VMM に積極的に通知しないという事実に反映されます。 VMM は、ゲスト OS でページ フォールトが発生するまで待機してから、ページ フォールトの原因を分析し、シャドウ ページ テーブルを完成させる必要があります。スペースのオーバーヘッドは主に、VMM が同時に実行される複数の仮想マシンをサポートする必要があるという事実に反映されます。通常、各仮想マシンのゲスト OS は、その上で実行されているプロセスごとにページ テーブル システムを作成します。したがって、プロセス数が増加すると、シャドウ ページ テーブルのスペース オーバーヘッドが急激に増加します。

シャドウ ページ テーブル キャッシュ

時間のオーバーヘッドとスペースのオーバーヘッドのバランスをとるために、現在ではシャドウ ページ テーブル キャッシュ テクノロジが一般的に使用されています。つまり、VMM は最近使用されたシャドウ ページ テーブルの一部をメモリ内に保持し、シャドウ ページ テーブルがキャッシュ内に見つからない場合にのみ新しいシャドウ ページ テーブルを構築します。現在、主要な仮想化テクノロジはすべてシャドウ ページ テーブル キャッシュ テクノロジを使用しています。

仮想マシンファイルシステムの仮想化技術

<<:  ストレージ仮想化とは何ですか?レコード層とブロック層にはどのようなデバイスが含まれていますか?

>>:  AsiaInfo Softwareがビッグデータと人工知能製品ファミリーを完全に統合して発売

推薦する

クラウド関連の IoT 脅威を軽減する方法

モノのインターネット (IoT) は、デバイスやシステムが相互に通信し、データを交換できるようにする...

クラウド コンピューティングをすぐに理解しましょう。クラウド コンピューティングとは正確には何でしょうか?

クラウドコンピューティングとは何ですか?クラウド コンピューティングは非常に注目されている概念ですが...

エンタープライズITアーキテクチャにおけるクラウドコンピューティングの応用に関する簡単な説明

クラウド コンピューティングは大手インターネット企業から生まれました。コストのプレッシャーと急激なビ...

ビッグネットワークデータ:年末の「クラウドサーバー」クリアランスセール、超高構成、湖北電信高防御、テンセント天津多回線BGP高防御、香港CN2、韓国CN2、米国CN2

大王データ(「陝西安安クラウドネットワークテクノロジー株式会社」傘下、付加価値通信事業ライセンス:B...

知っていましたか?マネージドKubernetesが標準に

Cloud Native Computing Foundation のソフトウェアおよび DevOp...

pnzhost: 買収後初のプロモーション、最低 $7.2/年、KVM 仮想 VPS、512M メモリ/1T トラフィック

pnzhostさん、元の古いユーザーは数日前にブランドが丸ごと他の人に売却されたというメッセージを受...

2年経っても、Apple の有料リストはなぜまだ役に立たないリストなのでしょうか?

2年前の6月、AppleはWWDC 2017で「自らの皮を剥ぐ」決意を示した。App Storeは大...

DevOps ロードマップ 2022

Lummo の主任ソフトウェア エンジニアである Anjul Sahu 氏は、DevOps エンジニ...

ウェブサイトの最適化手順とメタタグの詳細

ウェブサイトの最適化手順とメタタグの詳細1.タイトル 2.キーワード 3.説明 4.ウェブサイトコン...

推奨: lfchosting-$6.5/月/Xen/4 コア/1g メモリ/15SSD/1T トラフィック

4年後、lfchostingはついにトレンドに従い、新しいSSDハードドライブVPSを導入し、いくつ...

タオバオアフィリエイトステーションの百度の最新アルゴリズムへの対応戦略

幸せな春節を祝った後、多くのウェブマスターが百度によって大打撃を受けたと思います。1月下旬から2月上...

自分の家を掃除できないのに、どうやって世界を掃除できるでしょうか? ウェブサイトを最適化できないのに、どうやってランキングを上げることができるでしょうか?

新しいウェブマスターでも、古いウェブマスターでも、ウェブサイトを最適化するときに、多くの人は基本的に...

SEO業界における姿勢の重要性についての簡単な議論

みなさんこんにちは。私はHongtu Internetです。今日、仕事に行く途中、地下鉄の入り口を通...

Baidu最適化の8つの重要なポイントについて簡単に説明します

最近、Baiduの計算ルールは大きく変更され、多くのSEO担当者を不安にさせていると言えます。しかし...