質問: vt-dの有無で何が変わる? 64bitosを仮想環境で使う際に必要ってこと以外の情報は検索しても出てきません。それだけなんでしょうか?
回答: 「64bitosを仮想環境で使う際に必要」というのはvt-xでは? それにしても、xenやvmwareがvt-xなどを使わなかった頃にやっていた特権が必要な命令を何らかの方法で別の命令に書き換えるということをやれば、cpuによる仮想化がなくても仮想環境を実現できるので"必須"というのは違うと思いますが。 閑話休題。 > 検索しても出てきません。 ...自分は普通にvt-dで検索してこういうのを見つけましたが。(google検索の1番目と3,4番目) http://ja.wikipedia.org/wiki/%e3%82%a4%e3%83%b3%e3%83%86%e3%83%ab_%e3%83%90%e3%83%bc%e3%83%81%e3%83%a3%e3%83%a9%e3%82%a4%e3%82%bc%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%bb%e3%83%86%e3%82%af%e3%83%8e%e3%83%ad%e3%82%b8%e3%83%bc http://d.ballade.jp/blog/2009/10/vt-d-5321.html http://cloud.watch.impress.co.jp/epw/cda/topic/2008/08/20/13656.html wikipediaにもちゃんと説明してあります。 | ダイレクト i/o 向けインテル vt とは、i/o処理の仮想化を支援する機能。 | vt-dなどのハードウェア的な仮想化支援が無い場合、仮想マシンモニタは、 | i/oデバイスをエミュレートし、dmaのメモリ領域のリマッピングを行う必要がある。 | vt-dでは、ハードウェア的にdma転送時のリマッピングを行うようにする。 | この場合、通常のデバイスドライバを使用することができ、利便性や性能が | 向上することになる。 メモリアクセスはチップセット側の機能であるため、 | 次世代のチップセットで対応する予定である。 dma転送の場合、osが言ったアドレスにハードウェアがデータを転送すると思います。仮想化しているとゲストosが指定した場所は実は他のosが使っている領域ということもありえるので、ハードウェアからの指定位置への書き込みを許すことができません。 通常は仮想マシンモニターでそのあたりの調整をするところですが、vt-dがあると、ゲストosには指定場所に書いているように見せつつ、ハードウェアには別のアドレスに書かせるということができるので、dmaを仮想マシンモニターを特に介さずに出来る ということでは? 要は仮想マシンからのi/oがより高速になるというのがメリットかと。