仮想86モード 仮想86モードの概要

仮想86モード

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/14 09:55 UTC 版)

概要

仮想86モードの実行環境は、プロテクトモードで動作する仮想86モニタと、仮想86モードで動作する仮想86タスクという2つの要素から成り立っている。

仮想86タスクでは、セグメントレジスタによるアドレス計算が8086と同様に行われる。例えば、セグメント:オフセット方式でアドレスが計算され、命令の多くは16ビットとして解釈される。ただし、仮想86モードでは特権レベルが3に固定されているため、CPU制御命令やソフトウェア割り込み命令、入出力命令、フラグレジスタへのアクセスなどのシステム関連の命令には制限がかかる。

制限がかかった命令は基本的にトラップされ、仮想86モニタで処理される。入出力命令に関しては、仮想86タスクのタスクステートセグメントにある許可ビットマップによって、各ポートに対するアクセスを直接許可するか、トラップを発生させ仮想86モニタに処理を移すかを選択できる。また、Pentium以降のプロセッサでは仮想モード拡張 (VME) により、ソフトウェア割り込みの処理をタスク内で行うかどうかを割り込みの種類ごとに制御したり、フラグレジスタへのアクセスをトラップさせずに行うことで、効率的に仮想86モードを実行できるようになっている。

使用例

仮想86モードは、通常のプロテクトモード環境で古いリアルモードのアプリケーションを動かすために使用される。代表的な使用例として、Windows環境でMS-DOSアプリケーションを実行する仮想DOSマシン(VDM)がある。また、32ビットのOS上でグラフィックカードROMにアクセスして初期化する際にも仮想86モードが活用される。

他にも、MS-DOSデバイスドライバとして、仮想86モニタを含みページングを行うことでEMSを提供する仮想86EMSでは、実アドレス空間の一部を仮想化することができる。さらに、DOSエクステンダではプロテクトモードでアプリケーションが動作しつつ、システムコールBIOS呼び出しをリアルモード相当で処理するために、このモードを利用している。

ただし、x64(Intel 64やAMD64)の64ビットモード(ロングモード英語版)では仮想86モードは使用できないため[1]仮想化エミュレーションなどの別の技術が必要となっている。

具体例

脚注

  1. ^ インテル® エクステンデッド・メモリ64 テクノロジ・ソフトウェア・デベロッパーズ・ガイド第 1 巻(全 2 巻)リビジョン 1.1”. インテル. p. 1-3. 2024年9月14日閲覧。 “従来の保護モードの以下の機能は、互換モードではサポートされない。• 仮想 8086 モード、タスクスイッチ、スタック・パラメータのコピー機能”



「仮想86モード」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「仮想86モード」の関連用語

仮想86モードのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



仮想86モードのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの仮想86モード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS