JP6250233B1 - 情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム - Google Patents
情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム Download PDFInfo
- Publication number
- JP6250233B1 JP6250233B1 JP2017522699A JP2017522699A JP6250233B1 JP 6250233 B1 JP6250233 B1 JP 6250233B1 JP 2017522699 A JP2017522699 A JP 2017522699A JP 2017522699 A JP2017522699 A JP 2017522699A JP 6250233 B1 JP6250233 B1 JP 6250233B1
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- configuration data
- information processing
- processing apparatus
- driver
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 105
- 238000000034 method Methods 0.000 title claims description 42
- 230000008569 process Effects 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 26
- 238000000926 separation method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
複数のOSを制御するソフトウェアはハイパーバイザと呼ばれ、ハイパーバイザによって制御されるOSはゲストOSと呼ばれる。
具体的には、仮想化技術は、リアルタイム性が高い処理を行うためのリアルタイムOSと、Windows(登録商標)のような汎用OSと、を単一のハードウェアプラットフォームで同時に実行する環境で用いられる。
この技術では、あらかじめ用意してあるデバイス構成情報を用いてゲストOSに対するデバイスの割り当てを変更する。
つまり、デバイス構成情報をあらかじめ用意しておく必要がある。具体的には、ハードウェアを特定するための情報およびデバイスを識別する名称などをデバイス構成情報として登録しておく必要がある。
そのため、デバイス構成が変更になった場合に、利用者は、変更後のデバイス構成を確認して、デバイス構成情報を修正する必要がある。デバイス構成情報が誤って修正された場合には、システムが稼働不可能な状態になってしまう可能性がある。そこで、デバイス構成情報を用いずに、変更後のデバイス構成にシステムが対応できるようにする必要がある。
例えば、新規で追加したデバイスをゲストOSに割り当てる場合、デバイス構成情報を利用者が修正する必要がある。修正の結果、デバイス構成情報に誤りが生じた場合、正常にシステムが起動しない可能性がある。そこで、利用者によるデバイス構成情報の変更無しに、追加されたデバイスを使用可能にすることが求められる。
前記情報処理装置は、前記1つ以上のデバイスのうちの前記第1オペレーティングシステムに組み込まれているデバイスドライバに対応するデバイスを前記第1オペレーティングシステムに割り当て、前記1つ以上のデバイスのうちの前記第1オペレーティングシステムに組み込まれているデバイスドライバに対応しないデバイスを前記第2オペレーティングシステムに割り当てる割り当て部を備える。
1つ以上のデバイスを複数のオペレーティングシステムのいずれかに割り当てる形態について、図1から図8に基づいて説明する。
図1に基づいて、情報処理装置100のハードウェア構成およびソフトウェア構成を説明する。
情報処理装置100は、メモリ111とキャッシュ112と補助記憶装置113とプロセッサ120といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
補助記憶装置113は、不揮発性の記憶装置である。例えば、補助記憶装置113は、ROM(Read Only Memory)、HDD(Hard Disk Drive)またはフラッシュメモリである。
メモリ111とキャッシュ112と補助記憶装置113は、データを記憶する記憶部として機能する。
実施の形態1において、プロセッサ120は、第1コア121と第2コア122とを備える。第1コア121および第2コア122はプロセッサコアである。
第1オペレーティングシステム141と第2オペレーティングシステム142とは並行して動作する。
第1オペレーティングシステム141と第2オペレーティングシステム142とは、別々のプロセッサコアによって実行される。具体的には、第1オペレーティングシステム141は第1コア121によって実行され、第2オペレーティングシステム142は第2コア122によって実行される。
第2アプリケーション162は、第2オペレーティングシステム142の機能を利用して実行されるアプリケーションプログラムである。
例えば、第1オペレーティングシステム141はリアルタイムOSであり、第1アプリケーション161はリアルタイムアプリケーションである。リアルタイムOSはリアルタイムアプリケーションを実行するためのOSである。リアルタイムアプリケーションはリアルタイム処理用のアプリケーションプログラムである。リアルタイム処理はリアルタイム性が高い処理である。
例えば、第2オペレーティングシステム142は汎用OSであり、第2アプリケーション162は汎用アプリケーションである。汎用OSは汎用アプリケーションを実行するためのOSである。汎用アプリケーションは汎用処理用のアプリケーションプログラムである。汎用処理はリアルタイム処理以外の処理である。
第1オペレーティングシステム141に割り当てられるデバイスを第1デバイス101といい、第2オペレーティングシステム142に割り当てられるデバイスを第2デバイス102という。
第1オペレーティングシステム141には、第1デバイスドライバ151が組み込まれて、第2デバイスドライバ152が組み込まれない。
第2オペレーティングシステム142には、第2デバイスドライバ152が組み込まれて、第1デバイスドライバ151が組み込まれない。
第1デバイスドライバ151は第1デバイス101に対応するデバイスドライバであり、第2デバイスドライバ152は第2デバイス102に対応するデバイスドライバである。
第1デバイス101は第1デバイスドライバ151に対応するデバイスであり、第2デバイス102は第2デバイスドライバ152に対応するデバイスである。
プロセッサ120は、初期化判定部201と変更判定部202と割り当て部203と起動部204と分別部205と更新部206と再起動部207と生成部208とを機能構成の要素として備える。これら機能構成の要素はソフトウェアで実現される。具体的には、これら機能構成の要素はハイパーバイザ130の一部として実現される。
デバイス割り当てプログラムは、補助記憶装置113に記憶されて、メモリ111にロードされて、プロセッサ120によって実行される。
デバイス割り当てプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
補助記憶装置113には、第1デバイス構成データ211と第2デバイス構成データ212と第1デバイス構成データ221と第2デバイス構成データ222とが記憶される。
第1デバイス構成データ211は、初期化用の第1デバイス構成データである。
第2デバイス構成データ212は、初期化用の第2デバイス構成データである。
第1デバイス構成データ221は、現在の第1デバイス構成データである。
第2デバイス構成データ222は、現在の第2デバイス構成データである。
第1デバイス構成データとは、第1オペレーティングシステム141に割り当てられていたデバイスが登録されているデータである。
第2デバイス構成データとは、第2オペレーティングシステム142に割り当てられていたデバイスが登録されているデータである。
第1デバイス構成データ211と第2デバイス構成データ212と第1デバイス構成データ221と第2デバイス構成データ222とは、情報処理装置100の起動時に必要に応じてメモリ111にロードされて使用され、情報処理装置100の停止時に必要に応じて補助記憶装置113に保存される。
情報処理装置100および情報処理装置100の利用者の動作はデバイス割り当て方法に相当する。また、情報処理装置100におけるデバイス割り当て方法の手順はデバイス割り当てプログラムの手順に相当する。
ステップS100において、利用者は、情報処理装置100のデバイス構成を必要に応じて変更する。
デバイス構成とは、第1デバイス101と第2デバイス102と第1デバイスドライバ151と第2デバイスドライバ152との構成を意味する。
ステップS101において、利用者は、情報処理装置100のデバイス構成を変更するか判断する。
利用者が情報処理装置100のデバイス構成を変更すると判断した場合、利用者は情報処理装置100を起動し、処理はステップS111に進む。
情報処理装置100のデバイス構成を変更しないと判断した場合、デバイス構成の変更(S100)は終了する。
利用者が第1デバイス101を情報処理装置100に追加すると判断した場合、処理はステップS112に進む。
利用者が第1デバイス101を情報処理装置100に追加しないと判断した場合、処理はステップS121に進む。
そして、利用者は、第1デバイス101を情報処理装置100に追加する。具体的には、利用者は、第1デバイス101を情報処理装置100に接続する。
なお、追加される第1デバイス101が第2オペレーティングシステム142に割り当てられていたデバイスである場合、利用者は、第2オペレーティングシステム142から当該デバイスに対応する第2デバイスドライバ152を削除する。
利用者が第1デバイス101を情報処理装置100から削除すると判断した場合、処理はステップS122に進む。
利用者が第1デバイス101を情報処理装置100から削除しないと判断した場合、処理はステップS131に進む。
そして、利用者は、第1デバイス101を情報処理装置100から削除する。具体的には、利用者は、第1デバイス101を情報処理装置100から取り外す。
利用者が第2デバイス102を情報処理装置100に追加すると判断した場合、処理はステップS132に進む。
利用者が第2デバイス102を情報処理装置100に追加しないと判断した場合、処理はステップS141に進む。
そして、利用者は、第2デバイス102を情報処理装置100に追加する。具体的には、利用者は、第2デバイス102を情報処理装置100に接続する。
なお、追加される第2デバイス102が第1オペレーティングシステム141に割り当てられていたデバイスである場合、利用者は、第1オペレーティングシステム141から当該デバイスに対応する第1デバイスドライバ151を削除する。
利用者が第2デバイス102を情報処理装置100から削除すると判断した場合、処理はステップS142に進む。
利用者が第2デバイス102を情報処理装置100から削除しないと判断した場合、利用者は情報処理装置100を停止し、デバイス構成の変更(S100)は終了する。
また、利用者は、第2デバイス102を情報処理装置100から削除する。具体的には、利用者は、第2デバイス102を情報処理装置100から取り外す。
そして、利用者は、情報処理装置100を停止する。
ステップS200において、利用者は情報処理装置100を起動する。
情報処理装置100は、第1デバイス101を第1オペレーティングシステム141に割り当て、第2デバイス102を第2オペレーティングシステム142に割り当てる。
まず、図6に基づいて、ステップS201からステップS222を説明する。
ステップS201において、初期化判定部201は、初期化用のデバイス構成データを用いてデバイスの割り当てを行うか判定する。
具体的には、デバイス構成を初期化したい場合、利用者は、情報処理装置100を起動するときに初期化命令を情報処理装置100に入力する。初期化命令はデバイス構成の初期化を指示する命令である。例えば、利用者は、初期化用のキーとして予め決められたキーを押下しながら、情報処理装置100を起動する。そして、初期化判定部201は、初期化命令が入力されたか判定する。初期化命令が入力された場合、初期化用のデバイス構成データを用いてデバイスの割り当てが行われる。
初期化用のデバイス構成データを用いてデバイスの割り当てを行う場合、処理はステップS202に進む。
初期化用のデバイス構成データを用いてデバイスの割り当てを行わない場合、処理はステップS211に進む。
初期化用のデバイス構成データが存在する。つまり、第1デバイス構成データ211および第2デバイス構成データ212が補助記憶装置113に記憶されている。
初期状態の情報処理装置100における第1デバイス101および第2デバイス102が情報処理装置100に接続されている。
初期状態の情報処理装置100における第1デバイスドライバ151が第1オペレーティングシステム141に組み込まれている。
初期状態の情報処理装置100における第2デバイスドライバ152が第2オペレーティングシステム142に組み込まれている。
具体的には、割り当て部203は以下のように動作する。
割り当て部203は、第1デバイス構成データ211を参照して第1デバイス101を第1オペレーティングシステム141に割り当てる。つまり、割り当て部203は、第1デバイス構成データ211に登録されている第1デバイス101を第1オペレーティングシステム141に割り当てる。
割り当て部203は、第2デバイス構成データ212を参照して第2デバイス102を第2オペレーティングシステム142に割り当てる。つまり、割り当て部203は、第2デバイス構成データ212に登録されている第2デバイス102を第2オペレーティングシステム142に割り当てる。
具体的には、変更判定部202は以下のようにして動作する。
第1デバイス構成データ221および第2デバイス構成データ222が無い場合、変更判定部202は、デバイス構成が変更されたと判定する。
まず、変更判定部202は、情報処理装置100に接続されているデバイス群を検出する。デバイス群は1つ以上のデバイスである。
そして、変更判定部202は、検出されたデバイス群を登録デバイス群と比較する。登録デバイス群とは、第1デバイス構成データ221および第2デバイス構成データ222に登録されているデバイス群である。検出されたデバイス群が登録デバイス群と一致しない場合、変更判定部202は、デバイス構成が変更されたと判定する。
また、変更判定部202は、第1オペレーティングシステム141に組み込まれている第1デバイスドライバ群を検出する。第1デバイスドライバ群は1つ以上の第1デバイスドライバ151である。
そして、変更判定部202は、検出された第1デバイスドライバ群を第1登録ドライバ群と比較する。第1登録ドライバ群とは、第1デバイス構成データ221に登録されているデバイス群に対応するデバイスドライバ群である。デバイスドライバ群は1つ以上のデバイスドライバである。検出された第1デバイスドライバ群が第1登録ドライバ群と一致しない場合、変更判定部202は、デバイス構成が変更されたと判定する。
また、変更判定部202は、第2オペレーティングシステム142に組み込まれている第2デバイスドライバ群を検出する。第2デバイスドライバ群は1つ以上の第2デバイスドライバ152である。
そして、変更判定部202は、検出された第2デバイスドライバ群を第2登録ドライバ群と比較する。第2登録ドライバ群とは、第2デバイス構成データ222に登録されているデバイス群に対応するデバイスドライバ群である。検出された第2デバイスドライバ群が第2登録ドライバ群と一致しない場合、変更判定部202は、デバイス構成が変更されたと判定する。
情報処理装置100のデバイス構成が変更されていない場合、処理はステップS212に進む。
具体的には、割り当て部203は以下のように動作する。
割り当て部203は、第1デバイス構成データ221を参照して第1デバイス101を第1オペレーティングシステム141に割り当てる。つまり、割り当て部203は、第1デバイス構成データ221に登録されている第1デバイス101を第1オペレーティングシステム141に割り当てる。
割り当て部203は、第2デバイス構成データ222を参照して第2デバイス102を第2オペレーティングシステム142に割り当てる。つまり、割り当て部203は、第2デバイス構成データ222に登録されている第2デバイス102を第2オペレーティングシステム142に割り当てる。
初期化用のデバイス構成データが有る場合、処理はステップS230(図7参照)に進む。
初期化用のデバイス構成データが無い場合、処理はステップS222に進む。
そして、生成部208は、初期化用のデバイス構成データを補助記憶装置113に記憶する。
ステップS230において、分別部205は、接続デバイス群を第1デバイス101と第2デバイス102とに分別する。接続デバイス群は、情報処理装置100に接続されている1つ以上のデバイスである。
選択された第1デバイスドライバ151は、デバイスマッチングを行う。デバイスマッチングは、該当デバイスの有無を確認する処理である。該当デバイスとは、デバイスドライバに対応するデバイスである。具体的には、第1デバイスドライバ151はprobeと呼ばれる処理を行う。
そして、選択された第1デバイスドライバ151は、デバイスマッチングの結果を分別部205に通知する。デバイスマッチングの結果は該当デバイスの有無を示す。該当デバイスが有る場合、デバイスマッチングの結果は該当デバイスを示す。
該当デバイスが有る場合、処理はステップS236に進む。
該当デバイスが無い場合、処理はステップS237に進む。
未選択の第1デバイスドライバ151が有る場合、処理はステップS233に進む。
未選択の第1デバイスドライバ151が無い場合、処理はステップS238に進む。
ステップS240において、更新部206は、現在のデバイス構成データを更新する。つまり、更新部206は、第1デバイス構成データ221および第2デバイス構成データ222を更新する。
具体的には、更新部206は以下のように動作する。
更新部206は、第1デバイス構成データ221を、第1デバイス101が登録されていて第2デバイス102が登録されていない状態に更新する。つまり、第1デバイス構成データ221に登録されていない第1デバイス101が有る場合、更新部206は、その第1デバイス101を第1デバイス構成データ221に登録する。また、第1デバイス構成データ221に登録されている第2デバイス102が有る場合、更新部206は、その第2デバイス102を第1デバイス構成データ221から削除する。
更新部206は、第2デバイス構成データ222を、第2デバイス102が登録されていて第1デバイス101が登録されていない状態に更新する。つまり、第2デバイス構成データ222に登録されていない第2デバイス102が有る場合、更新部206は、その第2デバイス102を第2デバイス構成データ222に登録する。また、第2デバイス構成データ222に登録されている第1デバイス101がある場合、更新部206は、その第1デバイス101を第2デバイス構成データ222から削除する。
具体的には、割り当て部203は以下のように動作する。
割り当て部203は、第1デバイス構成データ221を参照して第1デバイス101を第1オペレーティングシステム141に割り当てる。つまり、割り当て部203は、第1デバイス構成データ221に登録されている第1デバイス101を第1オペレーティングシステム141に割り当てる。
割り当て部203は、第2デバイス構成データ222を参照して第2デバイス102を第2オペレーティングシステム142に割り当てる。つまり、割り当て部203は、第2デバイス構成データ222に登録されている第2デバイス102を第2オペレーティングシステム142に割り当てる。
以下に、デバイス割り当て方法(図4から図8)における実施例を説明する。
<第1実施例>
第1実施例は、第1デバイス101としてデバイスAが情報処理装置100に追加される形態である。
ステップS112(図5参照)において、利用者は、デバイス[A]に対応するデバイスドライバ[A]を第1オペレーティングシステム141に組み込み、デバイス[A]を情報処理装置100に追加する。
ステップS230(図7参照)において、デバイスドライバ[A]が第1オペレーティングシステム141に組み込まれているため、分別部205は、デバイス[A]を第1デバイス101に分別する。
ステップS240(図7参照)において、デバイス[A]が第1デバイス101に分別されているため、更新部206は、デバイス[A]を第1デバイス構成データ221に登録する。
ステップS260(図7参照)において、デバイス[A]が第1デバイス構成データ221に登録されているため、割り当て部203は、デバイス[A]を第1オペレーティングシステム141に割り当てる。
第2実施例は、第2デバイス102としてデバイス[A]が情報処理装置100に追加される形態である。
ステップS132(図5参照)において、利用者は、デバイス[A]に対応するデバイスドライバ[A]を第2オペレーティングシステム142に組み込み、デバイス[A]を情報処理装置100に追加する。
ステップS230(図7参照)において、デバイスドライバ[A]が第1オペレーティングシステム141に組み込まれていないため、分別部205は、デバイス[A]を第2デバイス102に分別する。
ステップS240(図7参照)において、デバイス[A]が第2デバイス102に分別されているため、更新部206は、デバイス[A]を第2デバイス構成データ222に登録する。
ステップS260(図7参照)において、デバイス[A]が第2デバイス構成データ222に登録されているため、割り当て部203は、デバイス[A]を第2オペレーティングシステム142に割り当てる。
第3実施例は、第1デバイス101であるデバイス[D]が情報処理装置100から削除される形態である。
ステップS121(図5参照)において、利用者は、デバイス[D]に対応するデバイスドライバ[D]を第1オペレーティングシステム141から削除し、デバイス[D]を情報処理装置100から削除する。
ステップS230(図7参照)において、デバイスドライバ[D]が第1オペレーティングシステム141から削除されているため、分別部205は、デバイス[D]を第1デバイス101に分別しない。
ステップS240(図7参照)において、デバイス[D]が第1デバイス101に分別されていないため、更新部206は、デバイス[D]を第1デバイス構成データ221から削除する。
ステップS260(図7参照)において、デバイス[D]が第1デバイス構成データ221に登録されていないため、割り当て部203は、デバイス[D]を第1オペレーティングシステム141に割り当てない。
第4実施例は、第2デバイス102であるデバイス[D]が情報処理装置100から削除される形態である。
ステップS141(図5参照)において、利用者は、デバイス[D]に対応するデバイスドライバ[D]を第2オペレーティングシステム142から削除し、デバイス[D]を情報処理装置100から削除する。
ステップS230(図7参照)において、デバイス[D]が情報処理装置100から削除されているため、分別部205は、デバイス[D]を第2デバイス102に分別しない。
ステップS240(図7参照)において、デバイス[D]が第2デバイス102に分別されていないため、更新部206は、デバイス[D]を第2デバイス構成データ222から削除する。
ステップS260(図7参照)において、デバイス[D]が第2デバイス構成データ222に登録されていないため、割り当て部203は、デバイス[D]を第2オペレーティングシステム142に割り当てない。
情報処理装置100は、1つ以上のデバイスのそれぞれを第1オペレーティングシステム141と第2オペレーティングシステム142とのいずれかに割り当てることができる。
利用者は、デバイスの割り当てを変更するためにデバイスドライバの追加または削除を行えばよく、第1デバイス構成データ221および第2デバイス構成データ222を編集する必要はない。
つまり、利用者がデバイス構成情報を用意しなくても、情報処理装置100が1つ以上のデバイスのそれぞれを複数のオペレーティングシステムのいずれかに割り当てることができる。
ゲストOSの数は3つ以上であっても構わない。
第1デバイス構成データ211と第2デバイス構成データ212とは1つのファイルに含まれてもよい。第1デバイス構成データ221と第2デバイス構成データ222とは1つのファイルに含まれてもよい。
ハイパーバイザ130は、第1コア121と第2コア122とのいずれによって実行されてもよい。また、プロセッサ120は、ハイパーバイザ130を実行するための専用のプロセッサコアを備えてもよい。
ハイパーバイザ130をホストOSに置き換えても構わない。
利用者は、情報処理装置100の起動時にいずれかのデバイス構成データを指定する命令を情報処理装置100に入力する。具体的には、利用者は、いずれかのデバイス構成データに対応するキーを押下する。
そして、割り当て部203は、指定されたデバイス構成データを参照してデバイスの割り当てを行う。
この場合、ステップS240において、更新部206は、現在のデバイス構成データを更新する前に現在のデバイス構成データを過去のデバイス構成データとして保存するか問い合わせる。具体的には、更新部206はディスプレイに問い合わせを表示する。利用者は、キーボードまたはマウスを操作して、問い合わせに応答する。そして、現在のデバイス構成データを過去のデバイス構成データとして保存する旨の応答があった場合、更新部206は、現在のデバイス構成データを更新する前に現在のデバイス構成データを過去のデバイス構成データとして保存する。
実施の形態において、情報処理装置100の機能はハードウェアで実現してもよい。
図9に、情報処理装置100の機能がハードウェアで実現される場合の構成を示す。
情報処理装置100は処理回路990およびデバイス群991を備える。処理回路990はプロセッシングサーキットリともいう。デバイス群991は第1デバイス101および第2デバイス102である。
処理回路990は、初期化判定部201と変更判定部202と割り当て部203と起動部204と分別部205と更新部206と再起動部207と生成部208と記憶部とを実現する専用の電子回路である。
例えば、処理回路990は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAまたはこれらの組み合わせである。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
Claims (6)
- 第1オペレーティングシステムと第2オペレーティングシステムとが並行して動作する情報処理装置であって、
前記情報処理装置には、前記第1オペレーティングシステムに割り当てられる第1デバイスと前記第2オペレーティングシステムに割り当てられる第2デバイスとから成るデバイス群が接続され、
前記第1オペレーティングシステムには、前記第1デバイスに対応する第1デバイスドライバが組み込まれるが前記第2デバイスに対応する第2デバイスドライバが組み込まれず、
前記第2オペレーティングシステムには、前記第2デバイスドライバが組み込まれるが前記第1デバイスドライバが組み込まれず、
前記情報処理装置は、
前記第1オペレーティングシステムに組み込まれているデバイスドライバである前記第1デバイスドライバを選択し、前記第1デバイスドライバからデバイスマッチングの結果を受け、前記デバイス群のうち前記デバイスマッチングの結果として通知されたデバイスを前記第1デバイスに分別し、前記デバイス群のうち前記第1デバイスに分別されていないデバイスを前記第2デバイスに分別する分別部と、
前記デバイス群が前記第1デバイスと前記第2デバイスとに分別された後、前記第1オペレーティングシステムに割り当てられていたデバイスが登録されている第1デバイス構成データを、前記第1デバイスが登録されていて前記第2デバイスが登録されていない状態に更新して、前記第2オペレーティングシステムに割り当てられていたデバイスが登録されている第2デバイス構成データを、前記第2デバイスが登録されていて前記第1デバイスが登録されていない状態に更新するための更新処理を行う更新部と、
前記更新処理の後、前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当てて、前記第2デバイス構成データを参照して前記第2デバイスを前記第2オペレーティングシステムに割り当てる割り当て部と
を備える情報処理装置。 - 前記情報処理装置は、前記情報処理装置を再起動する再起動部を備え、
前記再起動部は、前記更新処理の後、前記情報処理装置を再起動し、
前記割り当て部は、前記情報処理装置が再起動された後、前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当てて、前記第2デバイス構成データを参照して前記第2デバイスを前記第2オペレーティングシステムに割り当てる
請求項1に記載の情報処理装置。 - 前記情報処理装置は、
前記情報処理装置の起動時に前記情報処理装置のデバイス構成が変更されたか判定する変更判定部を備え、
前記割り当て部は、
前記情報処理装置のデバイス構成が変更されていない場合、現在の前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当てて、現在の前記第2デバイス構成データを参照して前記第2デバイスを前記第2オペレーティングシステムに割り当て、
前記情報処理装置のデバイス構成が変更された場合、前記更新処理後の前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当てて、前記更新処理後の前記第2デバイス構成データを参照して前記第2デバイスを前記第2オペレーティングシステムに割り当てる
請求項1に記載の情報処理装置。 - 前記割り当て部は、前記情報処理装置の起動時に初期化命令が入力された場合、初期化用の前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当てて、初期化用の前記第2デバイス構成データを参照して前記第2デバイスを前記第2オペレーティングシステムに割り当てる
請求項1に記載の情報処理装置。 - 第1オペレーティングシステムと第2オペレーティングシステムとが並行して動作する情報処理装置に、前記第1オペレーティングシステムに割り当てられる第1デバイスと前記第2オペレーティングシステムに割り当てられる第2デバイスとから成るデバイス群が接続され、
前記第1オペレーティングシステムに、前記第1デバイスに対応する第1デバイスドライバが組み込まれるが前記第2デバイスに対応する第2デバイスドライバが組み込まれず、
前記第2オペレーティングシステムに、前記第2デバイスドライバが組み込まれるが前記第1デバイスドライバが組み込まれず、
分別部が、前記第1オペレーティングシステムに組み込まれているデバイスドライバである前記第1デバイスドライバを選択し、前記第1デバイスドライバからデバイスマッチングの結果を受け、前記デバイス群のうち前記デバイスマッチングの結果として通知されたデバイスを前記第1デバイスに分別し、前記デバイス群のうち前記第1デバイスに分別されていないデバイスを前記第2デバイスに分別し、
更新部が、前記デバイス群が前記第1デバイスと前記第2デバイスとに分別された後、前記第1オペレーティングシステムに割り当てられていたデバイスが登録されている第1デバイス構成データを、前記第1デバイスが登録されていて前記第2デバイスが登録されていない状態に更新して、前記第2オペレーティングシステムに割り当てられていたデバイスが登録されている第2デバイス構成データを、前記第2デバイスが登録されていて前記第1デバイスが登録されていない状態に更新するための更新処理を行い、
割り当て部が、前記更新処理の後、前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当て、前記第2デバイス構成データを参照して前記第2デバイスを前記第2オペレーティングシステムに割り当てる
デバイス割り当て方法。 - 第1オペレーティングシステムと第2オペレーティングシステムとが並行して動作するコンピュータに実行させるためのデバイス割り当てプログラムであって、
前記コンピュータには、前記第1オペレーティングシステムに割り当てられる第1デバイスと前記第2オペレーティングシステムに割り当てられる第2デバイスとから成るデバイス群が接続され、
前記第1オペレーティングシステムには、前記第1デバイスに対応する第1デバイスドライバが組み込まれるが前記第2デバイスに対応する第2デバイスドライバが組み込まれず、
前記第2オペレーティングシステムには、前記第2デバイスドライバが組み込まれるが前記第1デバイスドライバが組み込まれず、
前記第1オペレーティングシステムに組み込まれているデバイスドライバである前記第1デバイスドライバを選択し、前記第1デバイスドライバからデバイスマッチングの結果を受け、前記デバイス群のうち前記デバイスマッチングの結果として通知されたデバイスを前記第1デバイスに分別し、前記デバイス群のうち前記第1デバイスに分別されていないデバイスを前記第2デバイスに分別する分別処理と、
前記デバイス群が前記第1デバイスと前記第2デバイスとに分別された後、前記第1オペレーティングシステムに割り当てられていたデバイスが登録されている第1デバイス構成データを、前記第1デバイスが登録されていて前記第2デバイスが登録されていない状態に更新して、前記第2オペレーティングシステムに割り当てられていたデバイスが登録されている第2デバイス構成データを、前記第2デバイスが登録されていて前記第1デバイスが登録されていない状態に更新する更新処理と、
前記更新処理の後、前記第1デバイス構成データを参照して前記第1デバイスを前記第1オペレーティングシステムに割り当て、前記第2デバイス構成データを参照して前記第2デバイスを第2オペレーティングシステムに割り当てる割り当て処理と
を前記コンピュータに実行させるためのデバイス割り当てプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/083940 WO2018092206A1 (ja) | 2016-11-16 | 2016-11-16 | 情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6250233B1 true JP6250233B1 (ja) | 2017-12-20 |
JPWO2018092206A1 JPWO2018092206A1 (ja) | 2018-11-15 |
Family
ID=60685597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017522699A Active JP6250233B1 (ja) | 2016-11-16 | 2016-11-16 | 情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20190303172A1 (ja) |
JP (1) | JP6250233B1 (ja) |
CN (1) | CN109983448B (ja) |
DE (1) | DE112016007336B4 (ja) |
TW (1) | TWI630546B (ja) |
WO (1) | WO2018092206A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019114025A (ja) * | 2017-12-22 | 2019-07-11 | コニカミノルタ株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
US11467944B2 (en) | 2018-05-07 | 2022-10-11 | Mitsubishi Electric Corporation | Information processing apparatus, tuning method, and computer readable medium |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942766B2 (en) * | 2019-08-09 | 2021-03-09 | Dell Products, L.P. | System and method for providing heterogeneous personality bitstreams on field-programmable gate arrays from a baseboard management controller |
US11256314B2 (en) | 2019-08-09 | 2022-02-22 | Dell Products L.P. | System and method for power management of field-programmable gate arrays and load balancing of personality bitstreams from a baseboard management controller |
US11442885B2 (en) | 2019-08-09 | 2022-09-13 | Dell Products L.P. | System and method to change field-programmable gate array personality from a baseboard management controller |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250620A (ja) * | 2009-04-16 | 2010-11-04 | Fujitsu Ltd | プログラム、コンピュータ、仮想マシン制御方法及び仮想マシン制御システム |
JP2012003510A (ja) * | 2010-06-17 | 2012-01-05 | Mitsubishi Electric Corp | 計算機及び転送プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5102528B2 (ja) * | 2007-04-18 | 2012-12-19 | 株式会社エヌ・ティ・ティ・ドコモ | 情報処理装置及び制御方法 |
TW200951654A (en) * | 2008-06-06 | 2009-12-16 | Lianzhun Technology Corp | Real-time monitoring system for production equipment and environment status |
CN102473220B (zh) * | 2010-05-07 | 2015-06-17 | 松下电器产业株式会社 | 信息处理装置、信息处理方法以及程序分发系统 |
US10514938B2 (en) * | 2012-12-18 | 2019-12-24 | Dynavisor, Inc. | Making direct calls to a native device driver of a hypervisor using dynamic device driver virtualization |
US9709978B2 (en) * | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
US10031767B2 (en) * | 2014-02-25 | 2018-07-24 | Dynavisor, Inc. | Dynamic information virtualization |
TW201541210A (zh) * | 2014-04-25 | 2015-11-01 | Utitech Technology Co Ltd | 可同時管理多種不同系統警示訊號之方法與裝置 |
US9804990B2 (en) * | 2014-08-27 | 2017-10-31 | Vmware, Inc. | Sharing unclaimed USB devices as PCI devices |
US9384060B2 (en) * | 2014-09-16 | 2016-07-05 | Unisys Corporation | Dynamic allocation and assignment of virtual functions within fabric |
US10372104B2 (en) * | 2015-02-27 | 2019-08-06 | Rockwell Automation Technologies, Inc. | Industrial automation control system content protection |
-
2016
- 2016-11-16 US US16/335,627 patent/US20190303172A1/en not_active Abandoned
- 2016-11-16 WO PCT/JP2016/083940 patent/WO2018092206A1/ja active Application Filing
- 2016-11-16 CN CN201680090778.3A patent/CN109983448B/zh active Active
- 2016-11-16 JP JP2017522699A patent/JP6250233B1/ja active Active
- 2016-11-16 DE DE112016007336.4T patent/DE112016007336B4/de active Active
-
2017
- 2017-01-12 TW TW106100943A patent/TWI630546B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250620A (ja) * | 2009-04-16 | 2010-11-04 | Fujitsu Ltd | プログラム、コンピュータ、仮想マシン制御方法及び仮想マシン制御システム |
JP2012003510A (ja) * | 2010-06-17 | 2012-01-05 | Mitsubishi Electric Corp | 計算機及び転送プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019114025A (ja) * | 2017-12-22 | 2019-07-11 | コニカミノルタ株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
US11467944B2 (en) | 2018-05-07 | 2022-10-11 | Mitsubishi Electric Corporation | Information processing apparatus, tuning method, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
US20190303172A1 (en) | 2019-10-03 |
DE112016007336T5 (de) | 2019-06-27 |
WO2018092206A1 (ja) | 2018-05-24 |
TWI630546B (zh) | 2018-07-21 |
CN109983448B (zh) | 2023-01-13 |
JPWO2018092206A1 (ja) | 2018-11-15 |
CN109983448A (zh) | 2019-07-05 |
TW201820120A (zh) | 2018-06-01 |
DE112016007336B4 (de) | 2020-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6250233B1 (ja) | 情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム | |
US10333981B2 (en) | Method and apparatus for security checking of image for container | |
CN103493028B (zh) | 虚拟盘存储技术 | |
JP6050262B2 (ja) | 仮想ディスクストレージ技術 | |
US7721284B2 (en) | Deployment of multiple embedded operating system components | |
JP5446157B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US20120311579A1 (en) | System and method for updating virtual machine template | |
US8468334B1 (en) | Efficient initial RAM disk creation | |
US20160328229A1 (en) | System and method of online firmware update for baseboard management controller (bmc) devices | |
CN103493027A (zh) | 虚拟磁盘存储技术 | |
WO2016090836A1 (zh) | 一种嵌入式系统的启动方法和装置 | |
US10664598B1 (en) | Firmware security patch deployment | |
US10089102B2 (en) | Information processing apparatus, method, and program | |
US9672047B1 (en) | Systems and methods for accessing a bootable partition on a serial peripheral interface device | |
US9792042B2 (en) | Systems and methods for set membership matching | |
JP6745405B2 (ja) | ストレージシステム及びマッピング方法 | |
CN111767082A (zh) | 计算芯片启动方法、装置和计算机系统 | |
US12073229B2 (en) | Single node deployment of container platform | |
US20230275931A1 (en) | Dynamic management of role-based access control systems | |
CN106547589A (zh) | 一种升级系统以及升级方法 | |
US10831520B2 (en) | Object to object communication between hypervisor and virtual machines | |
CN113646745A (zh) | 禁用软件持久性 | |
US20240201989A1 (en) | Software-hardware interface protection | |
WO2020235360A1 (ja) | 車両用装置 | |
WO2019189163A1 (ja) | デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20171024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6250233 Country of ref document: JP 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 |