仮想86モードとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > 仮想86モードの意味・解説 

仮想8086モード

読み方かそうはちまるはちろくモード
別名:仮想86モード,V86モードV86 mode
【英】virtual 8086 mode

仮想8086モードとは、Intelプロセッサモード一つで、8086用のプログラム実行するための仮想マシン作り出すために設けられ動作モードのことである。Intel 80386から追加された。

仮想8086モードはプロテクトモードであるが、リアルモードと同じアドレッシングを行うことで、16ビットプログラム実行できる8086では、セグメントアドレスを左に4ビットシフトしたものとオフセットアドレスとを加算してリニアアドレスを決める。仮想8086モードでは、プロテクトモードありながら、同じアドレッシングを行うが、8086にはないページテーブル経由して物理アドレス変換される

仮想8086モードは、プロテクトモード一種であるため、特権命令を使うと一般保護違反引き起こすなど、オペレーティングシステムとの協調前提としている。仮想8086モードでは、同じシステム上で複数MS-DOS並行実行させることが可能であり、仮想8086モードを最大限活用しているのがMicrosoft Windowsであるといえる

マイクロプロセッサのほかの用語一覧
Intel:  Intel Quark  IA-32  Intel Core i7 vPro  仮想8086モード  ミニカートリッジ  Northwood  Nehalem

仮想86モード

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/29 07:26 UTC 版)

仮想86モード(かそうはちろくモード)は、IA-32アーキテクチャのプロテクトモードにおける特殊な動作モードで、16ビットx868086)の仮想化をハードウェア的にサポートすることが特徴である。このモードにより、プロテクトモード上で古いリアルモードのアプリケーションを実行できるようになる。

概要

仮想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モード

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/24 06:19 UTC 版)

プロテクトモード」の記事における「仮想86モード」の解説

詳細は「仮想86モード」を参照 386のプロテクトモードでは、インテル仮想8086モード (virtual 8086 mode) と呼ぶものを提供している。仮想86モードは8086向けのコード修正することなくプロテクトモードOS上のタスク1つとして安全に動作させることができる。ただし完全な後方互換性があるわけではないセグメント操作特権命令ハードウェアへの直接アクセス自己書き換えコードなどを使っているプログラム場合例外発生するのでOSがそれに対処しなければならない。さらに仮想86モードで動作するアプリケーション入出力 (I/O) 関連命令使用するトラップ処理が行われるので、性能低下するそういった制約があるため、8086上のプログラム一部は仮想86モードでは動作できない結果としてシステムソフトウェアは、古いソフトウェアを扱う際にセキュリティ互換性いずれか犠牲にすることになった例えWindows NT では互換性犠牲にし、行儀の悪いDOSアプリケーションサポートしなくなった

※この「仮想86モード」の解説は、「プロテクトモード」の解説の一部です。
「仮想86モード」を含む「プロテクトモード」の記事については、「プロテクトモード」の概要を参照ください。

ウィキペディア小見出し辞書の「仮想86モード」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


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

辞書ショートカット

すべての辞書の索引

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

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

   

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



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

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【仮想8086モード】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの仮想86モード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのプロテクトモード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS