JP5102528B2 - 情報処理装置及び制御方法 - Google Patents

情報処理装置及び制御方法 Download PDF

Info

Publication number
JP5102528B2
JP5102528B2 JP2007109684A JP2007109684A JP5102528B2 JP 5102528 B2 JP5102528 B2 JP 5102528B2 JP 2007109684 A JP2007109684 A JP 2007109684A JP 2007109684 A JP2007109684 A JP 2007109684A JP 5102528 B2 JP5102528 B2 JP 5102528B2
Authority
JP
Japan
Prior art keywords
virtual machine
unit
control unit
operating system
active state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007109684A
Other languages
English (en)
Other versions
JP2008269177A (ja
Inventor
智尋 中川
賢 太田
拓 藤本
敬 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2007109684A priority Critical patent/JP5102528B2/ja
Publication of JP2008269177A publication Critical patent/JP2008269177A/ja
Application granted granted Critical
Publication of JP5102528B2 publication Critical patent/JP5102528B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、第1オペレーティングシステムを実行する第1仮想マシンと、第2オペレーティングシステムを実行する第2仮想マシンとを備え、第1仮想マシンと第2仮想マシンとのいずれか一方をユーザによって操作可能なアクティブ状態に設定する情報処理装置及び制御方法に関する。
従来、PCや携帯電話等の情報処理装置において、複数のオペレーティングシステム(以下、OS)を実行する仮想化プラットフォーム技術が提案されている。かかる技術を適用した情報処理装置では、論理的に分割されたOS用仮想マシンが複数設けられており、これらOS用仮想マシンが、それぞれが別々のOSを実行することによって、仮想的に複数のOSを実行することができる。
また、近年では、上述する情報処理装置と接続するデバイス(周辺機器)を複数のOS仮想マシンで使用することが可能な仮想化プラットフォーム技術が提案されている(例えば、特許文献1参照)。かかる技術を適用した情報処理装置では、デバイスドライバとして認識処理を実行するデバイス制御部が、それぞれのOS用仮想マシンに備えられている。また、ユーザによって新たなデバイスが接続された場合、アクティブ状態の一のOS用仮想マシンが、このデバイスの認識処理を実行する。
US Patent No:US6,496,847B1 「SYSTEM AND METHOD FOR VIRTUALZING COMPUTER SYSTEMS」
しかしながら、上述した情報処理装置では、デバイスの認識処理を、アクティブ状態の一のOS用仮想マシンのみが実行する。
よって、新たに接続するデバイスが、例えば、特定のOS専用のデバイスであった場合、当該特定のOSを実行する仮想マシンがアクティブ状態でないと、デバイスとの認識処理が実行されない。つまり、ユーザは、上述した情報処理装置にデバイスを接続して使用する際、接続するデバイスが何れのOS用仮想マシンであれば認識処理が実行されるか否かについて、デバイスを接続する前に知っておく必要がある。このように、上述した情報処理装置では、様々なデバイスを使用するユーザにとって、非常に利便性が悪いという問題があった。
そこで、本発明は、上述した問題に鑑みてなされたものであり、複数のOS用仮想マシンを動作させる仮想化プラットフォーム技術において、デバイスを利用する際の利便性を向上させることが可能な情報処理装置及び制御方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の特徴は、第1オペレーティングシステムを実行する第1仮想マシン(第1OS用仮想マシン110)と、第2オペレーティングシステムを実行する第2仮想マシン(第2OS用仮想マシン120)とを備え、前記第1仮想マシンと前記第2仮想マシンとのいずれか一方をユーザによって操作可能なアクティブ状態に設定する情報処理装置であって、前記第1仮想マシンは、前記第1オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第1デバイス制御部(仮想デバイス制御部111)を備え、ユーザによって新たに前記デバイスが接続された際に、前記デバイスの接続信号を検知するデバイス検知部(デバイス検知部102)と、前記接続信号が検知された場合、前記第2仮想マシンが前記アクティブ状態であっても、前記第1仮想マシンをアクティブ状態に設定する設定部(アクティブOS設定部106)と、検知された前記デバイスの前記接続信号に基づいて、前記第1デバイス制御部を起動するデバイス管理部(デバイス管理部104)とを備えることを要旨とするものである。
かかる特徴によれば、情報処理装置は、第1オペレーティングシステム上のみで動作するデバイスが新たに接続された場合、第2仮想マシンがアクティブ状態であっても、第1仮想マシンがアクティブ状態に設定されると共に、接続されたデバイスの認識処理を実行する第1デバイス制御部が起動する。よって、かかる情報処理装置では、従来技術のように、アクティブ状態の仮想マシン用のデバイスのみに対して認識処理を実行するのではなく、非アクティブ状態の仮想マシン用のデバイスに対しても認識処理を実行し、かつ非アクティブ状態の仮想マシンをアクティブ状態に設定することができる。このように、かかる特徴によれば、複数の仮想マシン(OS用仮想マシン)を動作させる仮想化プラットフォーム技術において、デバイスを利用する際の利便性を向上させることができる。
本発明の第2の特徴は、第1の特徴に係り、前記デバイスは、前記第1オペレーティングシステム上のみで動作するヒューマンインターフェースデバイスであり、前記ヒューマンインターフェースデバイスを切り替えた際に、切替信号を検知するヒューマンインターフェースデバイス切替部(ヒューマンインターフェースデバイス切替部132)を更に備え、前記設定部は、前記切替信号が検知された際、前記第2仮想マシンが前記アクティブ状態であっても、前記第1仮想マシンをアクティブ状態に設定し、前記デバイス管理部は、検知された前記切替信号に基づいて、前記第1デバイス制御部を起動することを要旨とするものである。かかる特徴によれば、情報処理装置では、一の仮想マシンで動作するヒューマンインターフェースを切り替える際においても、非アクティブ状態の仮想マシン用のヒューマンインターフェースの認識処理を実行するので、利便性を向上させることができる。
本発明の第3の特徴は、第1の特徴に係り、前記第2仮想マシンは、前記第2オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第2デバイス制御部(仮想デバイス制御部121)を備え、前記デバイスは、前記第1仮想マシン又は前記第2仮想マシンの内、前記アクティブ状態のいずれか一方で実行される前記第1オペレーティングシステム上又は第2オペレーティングシステム上で動作する連動デバイスであり、前記デバイス検知部は、前記連動デバイスが接続された際に、前記連動デバイスの前記接続信号を検知し、前記デバイス管理部は、前記接続信号に基づいて、前記第1仮想マシン又は前記第2仮想マシンの内、前記アクティブ状態のいずれか一方に備えられている前記第1デバイス制御部又は前記第2デバイス制御部を起動することを要旨とするものである。かかる特徴によれば、情報処理装置では、接続されたデバイスが、複数の仮想マシンの内、アクティブ状態の仮想マシンによって動作するデバイスであっても、これを検知して認識処理を実行することができる。
本発明の第4の特徴は、第1の特徴に係り、前記デバイスは、前記第1オペレーティングシステム上と第2オペレーティングシステム上との両方で動作する非連動デバイスであり、前記デバイス検知部は、前記非連動デバイスが接続された際に、前記非連動デバイスの前記接続信号を検知し、前記デバイス管理部は、前記接続信号に基づいて、前記第1デバイス制御部と前記第2デバイス制御部を起動することを要旨とするものである。かかる特徴によれば、情報処理装置では、情報処理装置では、接続されたデバイスが、複数の仮想マシンで動作するデバイスであっても、これを検知して認識処理を実行することができる。
本発明の第5の特徴は、第4の特徴に係り、前記第1仮想マシンと前記非連動デバイスとの間で送受信される第1データ(例えば、アクセス要求511)と、前記第2仮想マシンと前記非連動デバイスとの間で送受信される第2データ(例えば、アクセス要求521)とを、ダイレクトメモリアクセス方式によって転送するアクセス制御部(直接メモリアクセス制御部203)を更に備え、前記アクセス制御部は、前記第1仮想マシンが前記アクティブ状態である場合、前記第2データの転送比率よりも、前記第1データの転送比率を大きくすることを要旨とするものである。かかる特徴によれば、情報処理装置では、アクティブ状態の仮想マシンから送信される第1データの転送比率を、非アクティブ状態の仮想マシンから送信される第2データの転送比率よりも大きくする。よって、ユーザに使用されているアクティブ状態の仮想マシンの処理効率を向上させ、ユーザが情報処理装置を使用する際の利便性を向上させることができる。
本発明の第6の特徴は、第1オペレーティングシステムを実行する第1仮想マシンと、第2オペレーティングシステムを実行する第2仮想マシンとを備え、前記第1仮想マシンと前記第2仮想マシンとのいずれか一方をユーザによって操作可能なアクティブ状態に設定する情報処理装置における制御方法であって、前記第1仮想マシンは、前記第1オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第1デバイス制御部を備え、ユーザによって新たに前記デバイスが接続された際に、前記デバイスの接続信号を検知する検知ステップと、前記接続信号が検知された際、前記第2仮想マシンが前記アクティブ状態であっても、前記第1仮想マシンをアクティブ状態に設定する設定ステップと、検知された前記接続信号に基づいて、前記第1デバイス制御部を起動する起動ステップとを含むことを要旨とするものである。
本発明によると、複数のOS用仮想マシンを動作させる仮想化プラットフォーム技術において、デバイスを利用する際の利便性を向上させることが可能な情報処理装置及び制御方法を提供することができる。
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。
[実施形態]
(情報処理装置の構成)
本発明の実施形態に係る情報処理装置の構成について説明する。本発明の実施形態に係る情報処理装置は、PC、携帯電話、PDA等の端末装置を想定している。また、本実施形態に係る情報処理装置1は、第1OS用仮想マシン(第1仮想マシン)と、第2オペレーティングシステムを実行する第2OS用仮想マシン(第2仮想マシン)とを備え、第1OS用仮想マシンと第2OS用仮想マシンとのいずれか一方をユーザによって操作可能なアクティブ状態に設定し、ユーザに第1又は第2オペレーティングシステム(以下、OS)の操作環境を提供する。なお、第1OSと第2OSとは、例えば、LinaxとWindowsなどのように、それぞれ異なる種類のOSでもよいし、同じ種類のOSでもよい。
具体的に、図1に示すように、本実施形態に係る情報処理装置1は、複数のデバイス10_1乃至10_nと、ハードウエア部300と、仮想マシン制御部200と、汎用インターフェース用仮想マシン100と、第1オペレーティングシステムを実行する第1OS用仮想マシン110と、第2オペレーティングシステムを実行する第2OS用仮想マシン120と、ヒューマンインターフェース用仮想マシン130とを備える。
デバイス10_1乃至10_nは、図2に示すように、通信部11と、記憶部12と、制御部13とを備える。なお、本実施形態において、デバイス10_1乃至10_nをデバイス10として適宜説明する。デバイス10は、ハードウエア部300に接続されるデバイスであり、例えば、USB(Universal Serial Bus)デバイス等に相当する。通信部11は、ハードウエア部300との通信を行う。記憶部12は、メモリ等の記憶装置である。制御部13は、デバイス10内の各種機能を制御する。例えば、デバイス10が、USBである場合、通信部11は、USBターゲットコントローラに相当し、制御部13は、USBコントローラドライブに相当する。
また、本実施形態において、複数のデバイス10には、第1OS上又は第2OS上のいずれか一方のみで動作する占有デバイスや、第1OS用仮想マシン110又は第2OS用仮想マシン120の内、アクティブ状態のいずれか一方で実行される第1OS上又は第2OS上で動作する連動デバイスや、第1OS上と第2OS上との両方で動作する非連動デバイスなどが含まれている。占有デバイスは、例えば、ユーザ認証用デバイス等が挙げられる。連動デバイスは、例えば、キーボードや、ディスプレイ、マウスといったヒューマンインターフェースデバイス等が挙げられる。非連動デバイスは、例えば、ストレージやネットワーク等が挙げられる。なお、一のデバイス10が、占有デバイス、連動デバイス、非連動デバイスのいずれに該当するかについては、予め自由に設定することが可能である。
ハードウエア部300は、図3に示すように、通信部301と、中央処理部302と、主記憶部303とを備える。通信部301は、デバイス10や、仮想マシン制御部200との間で通信を実行する。中央処理部302は、CPUなどの演算処理回路に相当する。主記憶部303は、メインメモリに相当する。
仮想マシン制御部200は、汎用インターフェース用仮想マシン100、第1OS用仮想マシン110、第2OS用仮想マシン120、ヒューマンインターフェース用仮想マシン130を制御する。仮想マシン制御部200は、図4に示すように、通信部201と、直接メモリアクセスポリシー部202と、直接メモリアクセス制御部203とを備える。
通信部201は、汎用インターフェース用仮想マシン100、第1OS用仮想マシン110、第2OS用仮想マシン120、ヒューマンインターフェース用仮想マシン130、及びハードウエア部300との間で通信する。
直接メモリアクセスポリシー部202は、図5に示すようにアクセスポリシーテーブルT1を備える。アクセスポリシーテーブルT1は、デバイス10の種別と、デバイス10を識別するIDと、アクティブ状態か否かを示す情報と、スケジューリング比率と、現在アクティブ状態の仮想マシンを示すVM状態情報とが対応付けて予め記憶されている。スケジューリング比率は、ダイレクトメモリアクセス方式によってデータ転送される際の比率を示す情報である。VM状態情報は、第1OS用仮想マシン110と第2OS用仮想マシン120とのいずれかにアクティブ状態が遷移する度に、後述するアクティブOS設定部106によって更新される情報である。また、アクセスポリシーテーブルT1に記憶されている情報の内、VM状態情報を以外の情報は、予め設定されている。なお、アクセスポリシーテーブルT1に記憶されている情報は、後述する直接メモリアクセス制御部203によって用いられる。
直接メモリアクセス制御部203は、第1OS用仮想マシン110と非連動デバイスとの間で送受信されるダイレクト・メモリ・アクセス要求(第1データ)と、第2OS用仮想マシン120と非連動デバイスとの間で送受信されるダイレクト・メモリ・アクセス要求(第2データ)とを、ダイレクトメモリアクセス方式によって転送するアクセス制御部として機能する。具体的に、直接メモリアクセス制御部203は、図6に示すように、第1OS用仮想マシン110から送信されたアクセス要求511乃至512を記憶するアクセス要求キュー510と、第2OS用仮想マシン120から送信されたアクセス要求521乃至523を記憶するアクセス要求キュー520と、スケジューリング部600とを備える。
スケジューリング部600は、直接メモリアクセスポリシー部202のアクセスポリシーテーブルT1を参照し、記憶されているスケジューリング比率に応じて、第1OS用仮想マシン110からのアクセス要求と、第2OS用仮想マシン120からのアクセス要求とを、デバイス10にダイレクトメモリアクセス方式で転送する際のスケジューリングを決定する。また、スケジューリング部600は、決定したスケジューリングに基づいて、当該アクセス要求の転送処理を実行するように、中央処理部302に対して指示する。例えば、図5において、デバイス10が“ストレージ”であり、第1OS用仮想マシン110がアクティブ状態で、第2OS用仮想マシン120が非アクティブ状態であるとすると、第1OS用仮想マシン110からのアクセス要求と、第2OS用仮想マシン120からのアクセス要求とを、“7:3”の割合でタイムシェアリングによってスケジューリングし、アクティブ状態の第1OS用仮想マシン110からのアクセス要求511乃至512を優先して転送させる。このように、直接メモリアクセス制御部203では、第1OS用仮想マシン110がアクティブ状態である場合、アクセス要求の転送比率よりも、アクセス要求の転送比率を大きくして、アクセス要求を転送するように構成されている。
第1OS用仮想マシン110は、図7に示すように、仮想デバイス制御部111と、プログラム部112とを備える。仮想デバイス制御部111は、後述する汎用インターフェース用仮想マシン100のデバイス制御部103と接続し、当該デバイス制御部103のフロントエンドのデバイスドライバとして機能する。また、仮想デバイス制御部111は、第1OS用仮想マシン110の第1OSが実行されている場合、デバイス10へ送信されるアクセス要求を、直接メモリアクセス制御部203へ送信する。本実施形態において、仮想デバイス制御部111は、第1オペレーティングシステム上のみで動作するデバイス10の認識処理を実行する第1デバイス制御部を構成する。プログラム部112は、予め各種ソフトウエアを格納しており、第1OS等の各種ソフトウエア(コードやプログラム)を起動する。また、プログラム部112は、接続されるデバイス10の種別に応じたプログラムを起動する。
第2OS用仮想マシン120は、図8に示すように、仮想デバイス制御部121と、プログラム部122とを備える。なお、仮想デバイス制御部121と、プログラム部122との機能は、上述した仮想デバイス制御部111と、プログラム部112との機能と略同等であるため、説明を省略する。なお、本実施形態において、仮想デバイス制御部121は、第2オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第2デバイス制御部を構成する。
汎用インターフェース用仮想マシン100は、図9に示すように通信部101と、デバイス検知部102と、デバイス制御部103と、デバイス管理部104と、OS選択情報記憶部105と、アクティブOS設定部106とを備える。
通信部101は、ヒューマンインターフェース用仮想マシン130と、第1OS用仮想マシン110と、第2OS用仮想マシン120と、仮想マシン制御部200との間で通信する。
デバイス検知部102は、例えば、接続されるデバイス10がUSBである場合、USBのバスドライバに相当する。また、デバイス検知部102は、ユーザによって新たにデバイス10が接続された際に、デバイス10の接続信号を検知する。また、デバイス検知部102は、連動デバイスが接続された際に、連動デバイスの接続信号を検知する。また、デバイス検知部102は、非連動デバイスが接続された際に、非連動デバイスの接続信号を検知する。具体的に、デバイス検知部102は、占有デバイスや、連動デバイスや、非連動デバイス等のデバイス10が、ハードウエア部300に接続された際に、ハードウエア部300から送信される接続信号を検知し、当該接続信号に含まれるデバイス10の識別情報をデバイス管理部104へ通知する。
デバイス制御部103は、接続されるデバイス10の種別毎のクラスドライバとして機能する。また、デバイス管理部104からの指示に応じて、仮想デバイス制御部111乃至121を起動する。
OS選択情報記憶部105は、図10に示すように、OS選択情報テーブルT2を備える。OS選択情報テーブルT2は、接続されるデバイス10の種別と、デバイス10の提供元を識別するベンダIDと、デバイス10を識別する識別情報と、それぞれのデバイス10を動作させるOS用仮想マシン110乃至120を識別するVM番号と、デバイス10が接続された際や、切り替えられた際の制御内容を示すデバイス制御情報とが、対応付けて予め記憶されている。
ここで、VM番号は、第1OS用仮想マシン110であれば、“1”、第2OS用仮想マシン120であれば、“2”として予め設定されている。また、デバイス制御情報には、“占有”と“共有”とが含まれており、“共有”には、“連動”と“非連動”とが含まれている。“占有”は、対応付けられているデバイス10が、単一のOS用仮想マシンのみで動作することを示す。また、“共有”は、対応付けられているデバイス10が、複数のOS用仮想マシンで動作することを示す。また、“連動”は、対応付けられているデバイス10が、アクティブ状態のOS用仮想マシンによって動作されることを示す。“非連動”は、対応付けられているデバイス10が、アクティブ状態であるか否かに係らず、VM番号に対応するOS用仮想マシンによって動作されることを示す。
デバイス管理部104は、デバイス検知部102によって検知されたデバイス10の接続信号に基づいて、第1OS用仮想マシン110の仮想デバイス制御部111を起動する。また、デバイス管理部104は、連動デバイスが接続された場合、デバイス検知部102によって検知された接続信号に基づいて、第1OS用仮想マシン110又は第2OS用仮想マシン120の内、アクティブ状態のいずれか一方に備えられている仮想デバイス制御部111又は仮想デバイス制御部121を起動する。また、デバイス管理部104は、非連動デバイスが接続された場合、デバイス検知部102によって検知された接続信号に基づいて、仮想デバイス制御部111と仮想デバイス制御部121とを起動する。
具体的に、デバイス管理部104は、デバイス検知部102から、接続されたデバイス10の識別情報を通知されると、OS選択情報テーブルT2を参照し、当該識別情報に対応する“デバイス制御情報”が“占有”、“共有(連動)”、“共有(非連動)”の何れであるかに基づいて、接続されたデバイス10の認識処理を実行させるOS用仮想マシンを特定する。また、デバイス管理部104は、特定したOS用仮想マシンに備えられている仮想デバイス制御部111乃至121を起動させるように、デバイス制御部103に指示する。
また、デバイス管理部104は、ユーザによってヒューマンインターフェースデバイス(以下、HIDとして適宜示す)が切り替えられた際に、後述するヒューマンインターフェースデバイス切替部132によって、切替信号が検知されると、切替信号に基づいて、仮想デバイス制御部111又は仮想デバイス制御部121を起動する。具体的に、デバイス管理部104は、例えば、現在、第2OS用仮想マシン120がアクティブ状態である場合に、HID切替部132によって切替信号が検知され、HID切替部132から、非アクティブ状態の第1OS用仮想マシン110のみで動作するHIDの識別情報が通知されると、上記接続信号がデバイス検知部102によって検知された場合と同様に、OS選択情報テーブルT2を参照し、第1OS用仮想マシン110の仮想デバイス制御部111を起動する。
また、デバイス管理部104は、仮想デバイス制御部111乃至121の起動と共に、OS用仮想マシンのアクティブ状態を切り替える場合には、アクティブ状態の切替を設定するように、アクティブOS設定部106に通知する。
アクティブOS設定部106は、第2OS用仮想マシン120がアクティブ状態である場合に、非アクティブ状態の第1OS用仮想マシン110のみで動作するデバイス10の接続信号が検知された際、第2OS用仮想マシン120がアクティブ状態であっても、第1OS用仮想マシン110をアクティブ状態に設定する。切替信号についても、アクティブOS設定部106は、非アクティブ状態の第1OS用仮想マシン110のみで動作するHIDの切替信号が検知された際、第2OS用仮想マシン120がアクティブ状態であっても、第1OS用仮想マシン110をアクティブ状態に設定する。
具体的に、アクティブOS設定部106は、デバイス管理部104から、OS用仮想マシンのアクティブ状態を切り替える旨の通知を受けると、アクティブ状態の切替を設定する。なお、アクティブOS設定部106は、アクティブ状態を切り替えた場合、アクセスポリシーテーブルT1に記憶されているVM状態情報を更新する。本実施形態において、アクティブOS設定部106は、第1OS用仮想マシン110又は第2OS用仮想マシン120のいずれか一方を、ユーザによって操作可能なアクティブ状態に設定する設定部を構成する。
ヒューマンインターフェース用仮想マシン130は、図11に示すように、通信部131と、ヒューマンインターフェースデバイス切替部132(以下、HID切替部132と示す)と、ヒューマンインターフェースデバイス管理部133(以下、HID管理部133と示す)とを備える。
通信部131は、汎用インターフェース用仮想マシン100と、第1OS用仮想マシン110と、第2OS用仮想マシン120と、仮想マシン制御部200との間で通信する。
HID切替部132は、ユーザによってHIDが切り替えられた際に、切り替えられたHIDの切替信号を検知する。例えば、HIDとして、ディスプレイが複数接続されている場合、ユーザは、アクティブ状態の仮想マシンを操作するため、一のディスプレイから他のディスプレイを使用するように切替操作を行って切り替えた際、HID切替部132は、この切替信号を検知する。また、切替信号には、切り替え先の他のディスプレイの識別情報が含まれており、デバイス検知部102は、この識別情報をHID管理部133へ通知する。
HID管理部133は、接続されているヒューマンインターフェースデバイスの利用状態を管理する。HID管理部133は、HID切替部132が切替信号を検知した際、HID切替部132から通知されたHIDの識別情報をデバイス管理部104に通知する。
(実施形態に係る情報処理装置の動作)
次に、上述する構成の情報処理装置1の動作について説明する。具体的に、ユーザによって情報処理装置1に新たなデバイスが接続された際の制御動作と、複数の仮想マシンで認識処理された非連動デバイスとDMA転送を実行する際の制御動作とについて説明する。
(新たなデバイスが接続された際の制御動作)
まず、図12を参照し、情報処理装置1に新たなデバイス10が接続される際の情報処理装置1の制御動作について説明する。
ステップS101において、デバイス検知部102は、新たなデバイス10が接続されたことを示す接続信号を検知する。また、デバイス検知部102は、検知した接続信号に含まれる識別情報をデバイス管理部104に通知する。
ステップS102において、デバイス管理部104は、OS選択情報テーブルT2を参照し、通知された識別情報から、デバイスの種別を特定する。
ステップS103において、また、デバイス管理部104は、特定した種別に対応するクラスドライバを起動するように、デバイス制御部103に指示し、デバイス制御部103は、これを起動する。
ステップS104において、デバイス管理部104は、OS選択情報テーブルT2を参照し、通知された識別情報に対応するデバイス制御情報が“占有”又は“共有”かを、判定する。
ステップS105において、デバイス管理部104は、“占有”であると判定した場合、対応付けて記憶されている“VM番号”に基づいて、仮想デバイス制御部111又は仮想デバイス制御部121を特定する。また、デバイス管理部104は、例えば、仮想デバイス制御部111を特定した場合、デバイス制御部103に仮想デバイス制御部111を起動するように指示する。この指示を受けたデバイス制御部103は、仮想デバイス制御部111を起動させ、接続されたデバイス10の認識処理を実行させる。また、この時、デバイス管理部104は、仮想デバイス制御部111を備える第1OS用仮想マシン110をアクティブ状態にするように、アクティブOS設定部106に指示する。
ステップS106において、デバイス管理部104は、“共有”であると判定した場合、引き続き、“連動”か“非連動”かを、判定する。
ステップS107において、デバイス管理部104は、“連動”であると判定した場合、アクティブ状態のOS用仮想マシンをアクティブOS設定部106に確認して、アクティブ状態のOS用仮想マシン(例えば、第2OS用仮想マシン120)の仮想デバイス制御部(例えば、仮想デバイス制御部121)を起動するようにデバイス制御部103に指示する。この指示を受けたデバイス制御部103は、仮想デバイス制御部(例えば、仮想デバイス制御部121)を起動させ、接続されたデバイス10の認識処理を実行させる。
ステップS108において、デバイス管理部104は、“非連動”であると判定した場合、対応付けて記憶されている“VM番号”に基づいて、複数の仮想デバイス制御部111乃至121を起動するようにデバイス制御部103に指示する。この指示を受けたデバイス制御部103は、仮想デバイス制御部111乃至121を起動させ、接続されたデバイス10の認識処理を実行させる。
ステップS109において、アクティブOS設定部106は、例えば、第1OS用仮想マシン110をアクティブ状態にするように、デバイス管理部104から指示を受けると、現在アクティブ状態のOS用仮想マシンを確認し、OS用仮想マシンのアクティブ状態の切替が必要か否かを判定する。
ステップS110において、アクティブOS設定部106は、例えば、第2OS用仮想マシン120がアクティブ状態であり、切り替え必要があると判定した場合、第1OS用仮想マシン110をアクティブ状態に設定する。なお、アクティブOS設定部106は、切り替える必要が無い場合、なにも実行しない。
ステップS111において、プログラム部112乃至122は、仮想デバイス制御部111乃至121の起動、又は、アクティブ状態の切替に応じて、所望のソフトウエア(プログラム又はコード)を実行する。
なお、HIDが切り替えられた場合、上述したステップS101において、ヒューマンインターフェース用仮想マシン130では、HID切替部132は、切替信号を検知して、切替信号に含まれるHIDの識別情報をHID管理部133に通知する。また、HID管理部133は、識別情報をデバイス管理部104に通知し、以後、情報処理装置1では、上述したステップS102乃至S111の処理が実行される。
(非連動デバイスとDMA転送を実行する際の制御動作)
次に、デバイス管理部104が“非連動”と判定したステップS108乃至S111以降に、情報処理装置1で実行されるDMA転送の制御動作について、図13を参照して、具体的に説明する。
ステップS301において、デバイス管理部104は、“非連動”であると判定した場合、対応付けて記憶されている“VM番号”に基づいて、アクティブ状態のOS用仮想マシンをアクティブOS設定部106に確認して、これを特定する。また、デバイス管理部104は、アクティブ状態のOS用仮想マシン(例えば、第1OS用仮想マシン110)と、非アクティブ状態のOS用仮想マシン(例えば、第2OS用仮想マシン120)と、接続されたデバイス10の識別情報とを、直接メモリアクセス制御部203に通知する。
ステップS302において、この通知を受けた直接メモリアクセス制御部203では、スケジューリング部600が、アクセスポリシーテーブルT1を参照し、通知された識別情報に基づいて、アクティブ状態のスケジューリング比率と、非アクティブ状態のスケジューリング比率とを確認する。
ステップS303において、プログラム部112又は122から送信されたダイレクトメモリアクセス要求が、直接メモリアクセス制御部203で受信される。また、直接メモリアクセス制御部203では、アクセス要求キュー510又は520が、このアクセス要求を保持する。また、スケジューリング部600は、確認したスケジューリング比率に応じて、タイムシェアリングでスケジューリングを行い、処理すべきキューを決定する。
ステップS304において、スケジューリング部600は、処理すべきキューがプログラム部112から送信されたアクセス要求である場合、アクセス要求キュー510のアクセス要求511を処理する。
ステップS305において、スケジューリング部600は、処理すべきキューがプログラム部122から送信されたアクセス要求である場合、アクセス要求キュー520のアクセス要求521を処理する。
ステップS306において、スケジューリング部600は、アクセス要求キュー510乃至520に保持されているアクセス要求がなくなるまで処理を続ける。なお、アクセス要求が一時的に無くなった場合でも、再び送信された際には、直接メモリアクセス制御部203は、上記処理を繰り返し実行する。
(作用及び効果)
以上説明したように、本実施形態に係る情報処理装置は、例えば、第1オペレーティングシステム上のみで動作するデバイス10(占有デバイス)が新たに接続された場合、第2OS用仮想マシン120がアクティブ状態であっても、第1OS用仮想マシン110がアクティブ状態に設定されると共に、接続されたデバイスの認識処理を実行する第1デバイス制御部が起動する。よって、かかる情報処理装置1では、従来技術のように、デバイス10が新たに接続された際、アクティブ状態のOS用仮想マシン用のデバイス10のみで認識処理を実行するのではなく、非アクティブ状態のOS用仮想マシン用のデバイス10に対しても認識処理を実行できる。また、情報処理装置は、当該デバイス10を動作させるOS用仮想マシンが非アクティブ状態であれば、アクティブ状態に設定することができる。また、情報処理装置1では、アクティブ状態を切り替えたOS用仮想マシンにおいても、関連するソフトウエアを実行することができる。
また、本実施形態に係る情報処理装置1では、一のOS用仮想マシンで動作するHIDを切り替える際においても、非アクティブ状態の仮想マシン用のヒューマンインターフェースの認識処理を実行することができる。また、本実施形態に係る情報処理装置1では、接続されたデバイスが、複数の第1乃至第2OS用仮想マシンの内、アクティブ状態のOS用仮想マシンによって動作するデバイス10(連動デバイス)であっても、これを検知して認識処理を実行することができる。また、本実施形態に係る情報処理装置1では、接続されたデバイスが、複数のOS用仮想マシンで動作するデバイス10(非連動デバイス)であっても、これを検知して認識処理を実行することができる。このように、かかる情報処理装置1によれば、複数の仮想マシン(OS用仮想マシン)を動作させる仮想化プラットフォーム技術において、デバイスを利用する際の利便性を向上させることができる。
また、本実施形態に係る情報処理装置1では、アクティブ状態のOS用仮想マシンから送信されるアクセス要求の転送比率を、非アクティブ状態のOS用仮想マシンから送信されるアクセス要求の転送比率よりも大きくする。よって、ユーザに使用されているアクティブ状態のOS用仮想マシンの処理効率を向上させ、ユーザが情報処理装置1を使用する際の利便性を向上させることができる。
[その他の実施の形態]
本発明は上記の実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
例えば、上述した実施形態において、デバイス検知部102と、デバイス制御部103と、デバイス管理部104と、OS選択情報記憶部105と、アクティブOS設定部106との各種機能は、仮想マシン制御部200に備えるように構成されていてもよい。特に、OS選択情報記憶部105は、第1OS用仮想マシン110や、第2OS用仮想マシン120などに備えるように構成されていてもよい。
また、上述した実施形態において、情報処理装置1では、OS用仮想マシンとして、第1OS用仮想マシン110と第2OS用仮想マシン120との二つを備えるように構成されていたが、かかる数は、これに限定されるものではない。
このように、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
実施形態に係る情報処理装置の全体概略構成を示す図である。 実施形態に係るデバイスの構成を示す図である。 実施形態に係るハードウエア部の構成を示す図である。 実施形態に係る仮想マシンの構成を示す図である。 実施形態に係るアクセスポリシーテーブルを示す図である。 実施形態に係る仮想直接メモリアクセス制御部の構成を示す図である。 実施形態に係るOS用仮想マシンの構成を示す図である。 実施形態に係るOS用仮想マシンの構成を示す図である。 実施形態に係る汎用インターフェース用仮想マシンの構成を示す図である。 実施形態に係るOS選択情報テーブルを示す図である。 実施形態に係るヒューマンインターフェース用仮想マシンの構成を示す図である。 実施形態に係る情報処理装置の動作を示すフローチャートである。 実施形態に係る情報処理装置の動作を示すフローチャートである。
符号の説明
1…情報処理装置、10_1乃至10_n…デバイス、11…通信部、12…記憶部、13…制御部、100…汎用インターフェース用仮想マシン、101…通信部、102…デバイス検知部、103…デバイス制御部、104…デバイス管理部、105…OS選択情報記憶部、106…アクティブOS設定部、110…第1OS用仮想マシン、111…仮想デバイス制御部、112…プログラム部、120…第2OS用仮想マシン、121…仮想デバイス制御部、122…プログラム部、130…ヒューマンインターフェース用仮想マシン、131…通信部、132…ヒューマンインターフェースデバイス切替部、133…ヒューマンインターフェースデバイス管理部、200…仮想マシン制御部、201…通信部、202…直接メモリアクセスポリシー部、203…直接メモリアクセス制御部、300…ハードウエア部、301…通信部、302…中央処理部、303…主記憶部、510…アクセス要求キュー、510,520…アクセス要求キュー、510〜520…アクセス要求キュー、511〜512…アクセス要求、521〜523…アクセス要求、600…スケジューリング部、T1…アクセスポリシーテーブル、T2…OS選択情報テーブル、S101乃至S111…ステップ、S301乃至S306…ステップ、

Claims (4)

  1. 第1オペレーティングシステムを実行する第1仮想マシンと、第2オペレーティングシステムを実行する第2仮想マシンとを備え、前記第1仮想マシンと前記第2仮想マシンとのいずれか一方をユーザによって操作可能なアクティブ状態に設定する情報処理装置であって、
    前記第1仮想マシンは、前記第1オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第1デバイス制御部を備え、
    ユーザによって新たに前記デバイスが接続された際に、前記デバイスの接続信号を検知するデバイス検知部と、
    前記接続信号が検知された場合、前記第2仮想マシンが前記アクティブ状態であっても、前記第1仮想マシンをアクティブ状態に設定する設定部と、
    検知された前記デバイスの前記接続信号に基づいて、前記第1デバイス制御部を起動するデバイス管理部とを備え、
    前記デバイス検知部は、前記デバイスとして、前記第1オペレーティングシステム上と第2オペレーティングシステム上との両方で動作する非連動デバイスが接続された際に、前記非連動デバイスの前記接続信号を検知し、
    前記デバイス管理部は、検知された前記非連動デバイスの前記接続信号に基づいて、前記第1デバイス制御部と、前記第2オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第2デバイス制御部とを起動し、
    前記非連動デバイスが接続された際に、前記第1仮想マシンと前記非連動デバイスとの間で送受信される第1データと、前記第2仮想マシンと前記非連動デバイスとの間で送受信される第2データとを、ダイレクトメモリアクセス方式によって転送するアクセス制御部をさらに備え、
    前記アクセス制御部は、前記第1仮想マシンが前記アクティブ状態である場合、前記第2データの転送比率よりも、前記第1データの転送比率を大きくすることを特徴とする情報処理装置。
  2. 前記デバイスは、前記第1オペレーティングシステム上のみで動作するヒューマンインターフェースデバイスであり、
    前記ヒューマンインターフェースデバイスを切り替えた際に、切替信号を検知するヒューマンインターフェースデバイス切替部を更に備え、
    前記設定部は、前記切替信号が検知された際、前記第2仮想マシンが前記アクティブ状態であっても、前記第1仮想マシンをアクティブ状態に設定し、
    前記デバイス管理部は、検知された前記切替信号に基づいて、前記第1デバイス制御部を起動することを特徴とする請求項1に記載の情報処理装置。
  3. 前記デバイス検知部は、前記デバイスとして、前記第1仮想マシン又は前記第2仮想マシンの内、前記アクティブ状態のいずれか一方で実行される前記第1オペレーティングシステム上又は第2オペレーティングシステム上で動作する連動デバイスが接続された際に、前記連動デバイスの前記接続信号を検知し、
    前記デバイス管理部は、検知された前記連動デバイスの前記接続信号に基づいて、前記第1仮想マシン又は前記第2仮想マシンの内、前記アクティブ状態のいずれか一方に備えられている前記第1デバイス制御部又は前記第2デバイス制御部を起動することを特徴とする請求項1に記載の情報処理装置。
  4. 第1オペレーティングシステムを実行する第1仮想マシンと、第2オペレーティングシステムを実行する第2仮想マシンとを備え、前記第1仮想マシンと前記第2仮想マシンとのいずれか一方をユーザによって操作可能なアクティブ状態に設定する情報処理装置における制御方法であって、
    前記第1仮想マシンは、前記第1オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第1デバイス制御部を備え、
    ユーザによって新たに前記デバイスが接続された際に、前記デバイスの接続信号を検知する検知ステップと、
    前記接続信号が検知された際、前記第2仮想マシンが前記アクティブ状態であっても、前記第1仮想マシンをアクティブ状態に設定する設定ステップと、
    検知された前記接続信号に基づいて、前記第1デバイス制御部を起動する起動ステップとを含み、
    前記検知ステップでは、前記デバイスとして、前記第1オペレーティングシステム上と第2オペレーティングシステム上との両方で動作する非連動デバイスが接続された際に、前記非連動デバイスの前記接続信号を検知し、
    前記起動ステップでは、検出された前記非連動デバイスの前記接続信号に基づいて、前記第1デバイス制御部と、前記第2オペレーティングシステム上のみで動作するデバイスの認識処理を実行する第2デバイス制御部を起動し、
    前記非連動デバイスが接続された際に、前記第1仮想マシンと前記非連動デバイスとの間で送受信される第1データと、前記第2仮想マシンと前記非連動デバイスとの間で送受信される第2データとを、ダイレクトメモリアクセス方式によって転送するアクセス制御ステップをさらに含み、
    前記アクセス制御ステップでは、前記第1仮想マシンが前記アクティブ状態である場合、前記第2データの転送比率よりも、前記第1データの転送比率を大きくすることを特徴とする制御方法。
JP2007109684A 2007-04-18 2007-04-18 情報処理装置及び制御方法 Expired - Fee Related JP5102528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007109684A JP5102528B2 (ja) 2007-04-18 2007-04-18 情報処理装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007109684A JP5102528B2 (ja) 2007-04-18 2007-04-18 情報処理装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2008269177A JP2008269177A (ja) 2008-11-06
JP5102528B2 true JP5102528B2 (ja) 2012-12-19

Family

ID=40048610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007109684A Expired - Fee Related JP5102528B2 (ja) 2007-04-18 2007-04-18 情報処理装置及び制御方法

Country Status (1)

Country Link
JP (1) JP5102528B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935436B2 (en) * 2009-02-18 2015-01-13 Qualcomm Incorporated Wakeup trigger to support multiple user interfaces, environments, and/or virtual machines
EP2463772A1 (en) * 2010-11-29 2012-06-13 NEC CASIO Mobile Communications, Ltd. Method for dynamically allocating an external peripheral to device application
JP6645212B2 (ja) * 2016-01-27 2020-02-14 株式会社リコー 情報処理方法、および、情報処理装置
US20190303172A1 (en) 2016-11-16 2019-10-03 Mitsubishi Electric Corporation Information processing apparatus, device assignment method, and computer readable medium
CN116401138B (zh) * 2023-06-08 2023-09-15 建信金融科技有限责任公司 操作***的运行状态检测方法、装置、电子设备和介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61848A (ja) * 1984-06-14 1986-01-06 Nec Corp 分散制御システムのバス選択方式
JPH02135559A (ja) * 1988-11-15 1990-05-24 Nec Corp 入出力装置切替制御方式
JP2000076038A (ja) * 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
JP3659062B2 (ja) * 1999-05-21 2005-06-15 株式会社日立製作所 計算機システム
JP3765201B2 (ja) * 1999-07-07 2006-04-12 株式会社日立製作所 計算機システム
JP4577933B2 (ja) * 2000-02-04 2010-11-10 富士通コンポーネント株式会社 コンピュータ切替器
JP2002007066A (ja) * 2000-06-26 2002-01-11 Toshiba Corp 情報処理装置及び入力制御装置、入力制御方法
JP2003196096A (ja) * 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
JP3941597B2 (ja) * 2002-06-06 2007-07-04 日本電気株式会社 論理区画式計算機システム
JP2005309553A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd 計算機

Also Published As

Publication number Publication date
JP2008269177A (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
US10437631B2 (en) Operating system hot-switching method and apparatus and mobile terminal
KR101702729B1 (ko) 다중 환경 운영 시스템에서 환경을 전환하는 시스템 및 방법
KR101702728B1 (ko) 멀티-환경 운영 체제
KR101399161B1 (ko) 멀티-환경 운영 체제를 개시하기 위한 시스템 및 방법
JP5405320B2 (ja) 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム
TWI544337B (zh) 共用通用串列匯流排(usb)裝置之雙作業系統架構,以及雙作業系統架構共用通用串列匯流排(usb)裝置之方法
US8874889B2 (en) Method of switching between multiple operating systems of computer system
EP2169514B1 (en) Methods and systems to perform a computer task in a reduced power consumption state
US9201814B2 (en) Electronic devices and methods for sharing peripheral devices in dual operating systems
JP2006330912A (ja) 情報処理装置およびプログラム
CN103339607A (zh) 利用单个手势输入来锁定和解锁多个操作***环境的方法和设备
JP5102528B2 (ja) 情報処理装置及び制御方法
US10754684B2 (en) Method for controlling process and related device
JP2010520528A5 (ja)
EP2905700B1 (en) Operating system recovery method, apparatus and terminal device
US10042800B2 (en) Active USB device and switching method for operating mode thereof
US8589954B2 (en) Method and program for selective suspension of USB network device
EP3224714A1 (en) Embedded system enabling on-line collaborative migration of software execution environments
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
CN111045789B (zh) 一种虚拟机开机方法、装置及电子设备和存储介质
CN101923484A (zh) 电子装置、计算机可执行***、及应用程序显示控制方法
EP2998859B1 (en) Display control device, display control method, and program
WO2019071616A1 (zh) 一种处理方法及装置
JP2001154752A (ja) 携帯型情報処理装置および同装置の状態移行方法
CN107729283B (zh) 一种基于移动终端控制cpu扩展方法、***及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120928

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5102528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees