JP5236010B2 - 効率的な協調型オペレーティングシステム切換えのためのシステム及び方法 - Google Patents
効率的な協調型オペレーティングシステム切換えのためのシステム及び方法 Download PDFInfo
- Publication number
- JP5236010B2 JP5236010B2 JP2010536897A JP2010536897A JP5236010B2 JP 5236010 B2 JP5236010 B2 JP 5236010B2 JP 2010536897 A JP2010536897 A JP 2010536897A JP 2010536897 A JP2010536897 A JP 2010536897A JP 5236010 B2 JP5236010 B2 JP 5236010B2
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- resume
- operating
- pause
- operating systems
- 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
- 238000000034 method Methods 0.000 title claims description 73
- 238000012545 processing Methods 0.000 claims description 94
- 230000015654 memory Effects 0.000 claims description 32
- 230000003213 activating effect Effects 0.000 claims description 9
- 230000005059 dormancy Effects 0.000 claims description 5
- 230000007704 transition Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 6
- 230000008569 process Effects 0.000 description 40
- 238000004891 communication Methods 0.000 description 38
- 230000007246 mechanism Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000007958 sleep Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006266 hibernation Effects 0.000 description 3
- 150000001366 alloses Chemical class 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000019371 dormancy process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000725 suspension 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
[0020] 同一のコンピューティングシステム上で稼動する多数のオペレーティングシステムの間の効率的な協調型切換えをサポートするシステム及び関連方法。一実施形態では、このシステムは、OSスイッチャ、OS間通信機構、各OS内部の休止コントローラ及び再開コントローラからなる。一実施形態では、各休止コントローラは、OS間通信機構にメッセージを書き込むOS間メッセージジェネレータを含む。各再開コントローラは、OS間通信機構からメッセージを読み出すOS間メッセージインタプリタを含む。同一のコンピューティングシステム上のOSは、OS間メッセージを使って、装置休止/再開プロセスをカスタマイズし、部分に分けられ又は時分割多重化されたシステム資源の割振りを調整する。
[0035] 図2は、OS切換えシステムの一実施形態のブロック図である。構成要素はそれぞれ、ハードウェア(回路構成、専用論理など)、ソフトウェア(たとえば、汎用コンピュータシステム若しくは専用マシン上で稼動される)、又は両方の組合せで実装される。
[0041] OSの間で交換される情報は、OS間通信機構202を経由する。図3は、OS切換え中のOS間通信機構202の一実施形態の内容を示す。図3を参照すると、OS間通信機構の最初の2バイトは、2バイトの切換え記述ワード301を含む。このワードのSRCフィールド310(第1バイトの上位4ビット)は、現在切り換わり中のオペレーティングシステム(これ以降、SRC OS)のIDを示す。DSTフィールド311(第1バイトの下位4ビット)は、それに切り換えられる予定のオペレーティングシステム(これ以降、DST OS)のIDを示す。COUNTフィールド312(第2バイト)は、切換え記述ワードのすぐ後に続くメッセージの数を示す。
一実施形態では、装置予約リクエストメッセージ401は、1バイトを使う。このバイトの最上位の2ビットは、「00」にセットされる。下位6ビットは、予約されるべき装置のIDを示すのに使われる。SRC OSは、装置上で休止(及びその後の再開)操作を実施したくないとき、装置予約リクエストメッセージ401を発行する。DST OSは、このリクエストを尊重するべきであり、この装置を使うべきではなく、制御の切換え先となっているOSにリクエストをフォワードするべきである。メッセージの装置IDが63にセットされたとき、DST OSは、どの装置も全く使うべきでない。
一実施形態では、装置未使用メッセージ402は、2バイトを使う。第1バイトの最上位の2ビットは、「01」にセットされる。下位6ビットは、現在のOSによって決して使われなかった装置のIDを示すのに使われる。第2バイトの下位4ビット(411)は、装置を最後に使ったOSのIDを示すのに使われる。
一実施形態では、装置状態転送メッセージ403は、2つより多いバイトを使う。第1バイトの最上位の2ビットは、「10」にセットされる。第1バイトの残りは、その状態が転送されている装置のIDを示すのに使われる。第2バイトの上位4ビット(412)は、装置を初期化しメッセージを作成したOSを示す。第2バイトの下位4ビット(413)は、第2バイトのすぐ後に続く、転送される状態の格納に使われる4バイト整数の数を示す(たとえば、state_byte_1、...、state_byte_n)。
一実施形態では、資源再分割リクエストメッセージ404は、3バイトを使う。第1バイトの最上位の3ビットは、「110」にセットされる。OS_IDフィールド414(第1バイトの下位4ビット)は、リクエストを行ったOSを示す。RESOURCE_IDフィールド415(メッセージの第2バイト)は、再分割されるべき資源のIDを示す。AMOUNTフィールド416(第3バイト)は、割当てし直されるべき資源の量を示す。一実施形態では、このフィールドの正確な意味は、OS切換えシステム移植チームの開発者によって定義される。たとえば、一実装形態では、割当てし直されるべき資源がCPU時間である場合、このバイトの値(v)は、リクエストを行うOS(OSr)が、毎(v*100)ミリ秒ごとにOSrに切り換わるよう、他のOSに依頼することを示す。別の実装形態では、再分割されるべき資源が物理メモリである場合、この値(v)は、OSrが他のOSに、OSrが連動するべきより多くの物理メモリをもつことができるように、物理メモリのvメガバイトを解放するよう依頼することを示す。
一実施形態では、再分割応答メッセージ405は、3又は4バイトを使う。第1バイトの最上位の3ビットは、「111」にセットされる。やはり、OS_IDフィールド417(第1バイトの下位4ビット)は、リクエストを行ったOSを示す。RESOURCE_IDフィールド418(メッセージの第2バイト)は、再分割されるべき資源のIDを示す。第3バイト(419)及び任意選択の第4バイト(420)は、リクエスト側OSに譲られるべき、現在のOSによって合意された資源の量を示す。上記のように、こうした2バイトの正確な意味は、開発者によって定義される。たとえば、一実装形態では、リクエストされた資源が物理メモリである場合、第2バイトは、リクエスト側OSに譲られるメモリエリアの(1MB境界上の)開始アドレスを示し、第3バイトは、そのメモリエリアの終了アドレスを示す。
[0047] 各OS個々の再開コントローラ内側のOS間メッセージインタプリタ及び休止コントローラ内側のOS間メッセージジェネレータは、OS間メッセージを取り扱う。一実施形態では、再開コントローラ及び休止コントローラは、以下のデータ構造を含むメモリエリアへの共有アクセスをもつ。
・my_ID:現在のOSのIDを示す変数。
・last_OS:現在のOSにそこから切り換えられるOSのIDを示す変数。
・lazy_resume:現在のセッション中に現在のOSによって初めて使われるときにのみ状態が再開される装置のリスト。
・my_reserved_devices:現在のOSによって予約された装置のリストを含むリスト。
・reserve_requests:装置予約リクエストメッセージを含むリスト。
・state_transferred:装置状態転送メッセージを含むリスト。
・no_resume:再開される必要がない装置を含む一時リスト(これは部分リストである。一実施形態では、my_reserved_devicesリストにあるものなど、このリストにない装置も再開されなくてよい)。
・never_used:装置未使用メッセージのリスト。
・repartition_requests:資源再分割リクエストメッセージのリスト。
・repartition_responses:再分割応答メッセージのリスト。
i.装置予約リクエストメッセージに対して、装置がmy_reserved_devicesリスト中にある場合、処理論理はメッセージを無視し、リストにない場合、処理論理は、装置をreserve_requestsリストに入れる(処理ブロック507)。
ii.装置未使用メッセージに対して、メッセージの「LAST_OS」フィールドがmy_IDに等しい場合、処理論理は、装置をno_resumeリストに入れ、等しくない場合、処理論理は、装置をnever_usedリストに入れる(処理ブロック508)。
iii.装置状態転送メッセージに対して、「ORIG_OS」フィールドがmy_IDに等しくない場合、処理論理は、メッセージをstate_transferredリストに入れる(処理ブロック509)。
iv.資源再分割リクエストメッセージに対して、メッセージの「OS_ID」フィールドがmy_IDに等しい場合、処理論理はメッセージを無視し、等しくない場合、処理論理は、repartition_requestsリストに入れる(処理ブロック510)。
v.再分割応答メッセージに対して、メッセージの「OS_ID」フィールドがmy_IDに等しい場合、処理論理はメッセージをnew_resourcesリストに入れ、等しくない場合、処理論理は、メッセージをrepartition_responsesリストに入れる(処理ブロック511)。
[0058] 装置休止プロセスは、休止コントローラによって指揮される。図7は、装置を休止するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路構成、専用論理など)、ソフトウェア(たとえば、汎用コンピュータシステム若しくは専用マシン上で稼動される)、又は両方の組合せを含み得る処理論理によって実施される。
その後、処理論理は、reserve_requestsリスト中にあるが現在のセッション中に使われた装置の状態を復元し(処理ブロック705)、my_reserved_devicesリスト、reserve_requestsリスト、never_usedリスト、又はstate_transferredリストのどれにもない各装置において休止操作を実施する(処理ブロック706)。一実施形態では、特殊なケースとして、63というID(「ALL DEVICES」)をもつ装置が前者の3つのリストのいずれかにある場合、どの装置においても休止操作は指揮されない。
最後に、処理論理は、OS間メッセージジェネレータを呼び出して、OS間通信機構にメッセージを書き込む(処理ブロック707)。
[0061] 図8は、OS間メッセージジェネレータを用いてメッセージを生成するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路構成、専用論理など)、ソフトウェア(たとえば、汎用コンピュータシステム若しくは専用マシン上で稼動される)、又は両方の組合せを含み得る処理論理によって実施される。
[0066] 本明細書に記載する技法を用いるいくつかの使用ケースについて、以下で説明する。こうした使用ケースは、本発明の適用範囲のわずかな部分のみを成すことが明らかであろう。
[0075] 図9は、本明細書に記載した操作の1つ又は複数を実施することができる例示的なコンピュータシステムのブロック図である。図9を参照すると、コンピュータシステム900は、例示的なクライアント又はサーバコンピュータシステムを備え得る。コンピュータシステム900は、情報を伝達する通信機構又はバス911、及び情報を処理する、バス911と結合されたプロセッサ912を備える。プロセッサ912は、マイクロプロセッサを含むが、たとえば、ペンティアム(Pentium)(商標)、PowerPC(商標)、アルファ(Alpha)(商標)などのマイクロプロセッサに限定されない。
Claims (16)
- 複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている方法において、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報は、1つ又は複数のメッセージを含み、さらに、前記1つ又は複数のメッセージのうち少なくとも1つのメッセージが、メッセージタイプ、前記少なくとも1つのメッセージの対象である装置の指示、及び前記メッセージタイプに関するデータを含み、
前記メッセージタイプが、オペレーティングシステムによる使用のために装置が予約されることをリクエストするための第1のタイプと、装置がオペレーティングシステムによって決して使われないことを示すための第2のタイプと、2つ以上のオペレーティングシステムの間で装置状態を転送するための第3のタイプと、資源が2つ以上のオペレーティングシステムによって分割されることをリクエストするための第4のタイプと、前記資源が2つ以上のオペレーティングシステムによって分割されるべきという前記リクエストに応答するための第5のタイプとからなる群の1つである、方法。 - 複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている方法において、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報が使用情報を含み、さらに、前記使用情報が、前記第1のオペレーティングシステムが装置を使ったかどうかを指定し、前記第1のオペレーティングシステムが前記装置を使わなかったことを前記使用情報が示した場合、前記休止操作が、前記装置に対応する休止ルーチンを実施せずに実施される、方法。 - 複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている方法において、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報が使用情報を含み、さらに、前記使用情報が、前記第2のオペレーティングシステムが装置を使うかどうかを指定し、前記第2のオペレーティングシステムが前記装置を使わないことを前記使用情報が示した場合、前記再開操作が、前記装置に対応する再開ルーチンを実施せずに実施される、方法。 - 複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている方法において、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報が装置状態情報を含み、さらに、情報を交換するステップが、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに装置状態情報を送るステップを含み、前記装置状態情報が、前記第1及び第2のオペレーティングシステム両方によって使われ、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間を切り換えるときに休止されない装置に対応する、方法。 - 前記休止操作が複数の操作を含み、さらに、前記休止操作を実施するステップが、装置が使われていない場合は前記複数の操作の1つ又は複数からなるセットを実施せずに起こる、請求項1〜4の何れか一項に記載の方法。
- 前記再開操作が、装置用の再開ルーチンを含み、さらに、1つ又は複数の先行オペレーティングシステムによって前記装置の使用が検出されていない場合、前記再開操作が、前記装置用の前記再開ルーチンをコールせずに実施される、請求項1〜4の何れか一項に記載の方法。
- 前記再開操作を実施するステップが、
前記第2のオペレーティングシステムの1つ又は複数のドライバが、ハードウェア装置状態を復元するステップと、
前記第2のオペレーティングシステム内のカーネルが、1つ又は複数のサブシステムの動作を復元し再開するステップと、
前記第2のオペレーティングシステムによる通常動作を再開するステップとを含む、請求項1〜4の何れか一項に記載の方法。 - 前記休止操作を実施するステップが、1つ又は複数のサブシステム及び1つ又は複数のハードウェア装置に関連づけられた状態を保存するステップを含む、請求項7に記載の方法。
- システムによって実行されると、複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法を前記システムに実施させる命令を格納する1つ又は複数のコンピュータ可読記憶媒体を有する製造品であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている製造品において、前記方法が、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報は、1つ又は複数のメッセージを含み、さらに、前記1つ又は複数のメッセージのうち少なくとも1つのメッセージが、メッセージタイプ、前記少なくとも1つのメッセージの対象である装置の指示、及び前記メッセージタイプに関するデータを含み、
前記メッセージタイプが、オペレーティングシステムによる使用のために装置が予約されることをリクエストするための第1のタイプと、装置がオペレーティングシステムによって決して使われないことを示すための第2のタイプと、2つ以上のオペレーティングシステムの間で装置状態を転送するための第3のタイプと、資源が2つ以上のオペレーティングシステムによって分割されることをリクエストするための第4のタイプと、前記資源が2つ以上のオペレーティングシステムによって分割されるべきという前記リクエストに応答するための第5のタイプとからなる群の1つである、製造品。 - システムによって実行されると、複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法を前記システムに実施させる命令を格納する1つ又は複数のコンピュータ可読記憶媒体を有する製造品であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている製造品において、前記方法が、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報が使用情報を含み、さらに、前記使用情報が、前記第1のオペレーティングシステムが装置を使ったかどうかを指定し、前記第1のオペレーティングシステムが前記装置を使わなかったことを前記使用情報が示した場合、前記休止操作が、前記装置に対応する休止ルーチンを実施せずに実施される、製造品。 - システムによって実行されると、複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法を前記システムに実施させる命令を格納する1つ又は複数のコンピュータ可読記憶媒体を有する製造品であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている製造品において、前記方法が、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報が、受渡し使用情報を含み、さらに、前記使用情報が、前記第2のオペレーティングシステムが装置を使うかどうかを指定し、前記第2のオペレーティングシステムが前記装置を使わないことを前記使用情報が示した場合、前記再開操作が、前記装置に対応する再開ルーチンを実施せずに実施される、製造品。 - システムによって実行されると、複数のオペレーティングシステムがコンピュータ上で同時に稼動することを可能にする方法を前記システムに実施させる命令を格納する1つ又は複数のコンピュータ可読記憶媒体を有する製造品であって、前記複数のオペレーティングシステムのうち第1のオペレーティングシステムがアクティブに稼動されている製造品において、前記方法が、
複数のオペレーティングシステムのうち、次にアクティブになるべき第2のオペレーティングシステムを識別するステップと、
前記第1及び第2のオペレーティングシステムによってアクセス可能な記憶エリアを用いて、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間で情報を交換するステップと、
休止操作を実施することによって前記第1のオペレーティングシステムを非アクティブにさせるステップと、
前記第2のオペレーティングシステムに動作を再開させるための再開操作を実施することによって、前記第2のオペレーティングシステムをアクティブにさせるステップであって、前記情報が、前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、ステップとを含み、
前記情報が装置状態情報を含み、さらに、情報を交換するステップが、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムに装置状態情報を送るステップを含み、前記装置状態情報が、前記第1及び第2のオペレーティングシステム両方によって使われ、前記第1オペレーティングシステムと前記第2のオペレーティングシステムの間を切り換えるときに休止されない装置に対応する、製造品。 - 前記休止操作が複数の操作を含み、さらに、前記休止操作を実施するステップが、装置が使われていない場合は前記複数の操作の1つ又は複数からなるセットを実施せずに起こる、請求項9〜12の何れか一項に記載の製造品。
- 前記再開操作が、装置用の再開ルーチンを含み、さらに、先行オペレーティングシステムによって前記装置の使用が検出されていない場合、前記再開操作が、前記装置用の前記再開ルーチンをコールせずに実施される、請求項9〜12の何れか一項に記載の製造品。
- 複数のオペレーティングシステムを格納するための1つ又は複数のメモリと、
現在アクティブなオペレーティングシステムを非アクティブにさせ、非アクティブなオペレーティングシステムをアクティブにさせるオペレーティングシステムスイッチャを格納するためのメモリであって、前記スイッチャが、前記複数のオペレーティングシステムによる前記1つ又は複数のメモリの複数の領域へのアクセスを可能にし、アクセスを不能にするためのメモリアクセスコントローラモジュールを備え、前記スイッチャが、前記現在アクティブなオペレーティングシステムを非アクティブにさせ、前記非アクティブなオペレーティングシステムをアクティブにさせるとき、前記メモリアクセスコントローラが、切換えモード中に1つのオペレーティングシステム以外のオペレーティングシステム用の複数のメモリエリアへのアクセスを不能にするメモリと、
オペレーティングシステムの間で情報を交換するためのオペレーティングシステム間記憶エリアであって、前記記憶エリアが、前記オペレーティングシステムによってアクセス可能であり、前記情報が、それぞれ、休止及び再開コントローラによって実施される前記休止及び再開操作の一方の一部又は両方の一部としてどの操作が実施されるかを制御する、オペレーティングシステム間記憶エリアとを具備し、
個々のオペレーティングシステムが、
前記個々のオペレーティングシステムの、アクティブから非アクティブへの遷移を取り扱うための休止操作を実施するための、個々のオペレーティングシステムに対応するメモリに含まれる休止コントローラと、
前記個々のオペレーティングシステムの、非アクティブからアクティブへの遷移を取り扱うための再開操作を実施するための、個々のオペレーティングシステムに対応するメモリに含まれる再開コントローラとを動作させ、
前記再開コントローラが、前記記憶エリアからアクセスされ、他の少なくとも1つのオペレーティングシステムによって生成される1つ又は複数のメッセージを翻訳するためのメッセージインタプリタを備える、システム。 - 前記休止コントローラが、1つ又は複数のメッセージを作成し、作成されたメッセージを、他の少なくとも1つのオペレーティングシステムによるアクセスのための前記記憶エリアに送るためのメッセージジェネレータを備える、請求項15に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2007/025069 WO2009073011A1 (en) | 2007-12-06 | 2007-12-06 | System and methods for efficient and cooperative operating system switching |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011507070A JP2011507070A (ja) | 2011-03-03 |
JP5236010B2 true JP5236010B2 (ja) | 2013-07-17 |
Family
ID=39494511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010536897A Active JP5236010B2 (ja) | 2007-12-06 | 2007-12-06 | 効率的な協調型オペレーティングシステム切換えのためのシステム及び方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5236010B2 (ja) |
WO (1) | WO2009073011A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5724421B2 (ja) * | 2011-02-04 | 2015-05-27 | 富士通株式会社 | 情報処理装置 |
DE102017006950A1 (de) * | 2017-07-21 | 2019-01-24 | Giesecke+Devrient Mobile Security Gmbh | Aufrechterhaltung einer Netzwerkverbindung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001256066A (ja) * | 2000-02-29 | 2001-09-21 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置 |
JP3934428B2 (ja) * | 2002-02-01 | 2007-06-20 | 株式会社日立製作所 | 遠隔制御システム、遠隔制御方法及びゲートウェイ装置 |
CN100383744C (zh) * | 2004-12-24 | 2008-04-23 | 联想(北京)有限公司 | 一种计算机多操作系统的切换方法 |
US7950020B2 (en) * | 2006-03-16 | 2011-05-24 | Ntt Docomo, Inc. | Secure operating system switching |
-
2007
- 2007-12-06 JP JP2010536897A patent/JP5236010B2/ja active Active
- 2007-12-06 WO PCT/US2007/025069 patent/WO2009073011A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2009073011A1 (en) | 2009-06-11 |
JP2011507070A (ja) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7877592B2 (en) | System and methods for efficient and cooperative operating system switching | |
US10073713B2 (en) | Virtual machine migration | |
US8671403B2 (en) | Pre-creating virtual machines in a grid environment | |
JP4903257B2 (ja) | セキュアなオペレーティングシステムのスイッチング | |
JP4769484B2 (ja) | 仮想計算機をマイグレーションするための方法およびシステム | |
US8135818B2 (en) | Automatic virtual machine migration in mixed SBC/CBC environment | |
KR101134816B1 (ko) | 운영 체제 초기화 중에 플랫폼 그래픽을 디스플레이하기 위한 방법 및 시스템 | |
US20060184938A1 (en) | Method, apparatus and system for dynamically reassigning memory from one virtual machine to another | |
US20050091365A1 (en) | Interposing a virtual machine monitor and devirtualizing computer hardware | |
US20100325284A1 (en) | Method for automatically providing a client with access to an associated virtual machine | |
KR101114648B1 (ko) | 저 전력 소비 상태에서 컴퓨터 태스크를 수행하는 방법, 시스템 및 컴퓨터 판독가능한 매체 | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
US20100325197A1 (en) | Method for improving boot time of a client having a virtualized operating environment | |
Bila et al. | Energy-oriented partial desktop virtual machine migration | |
US11748094B2 (en) | Techniques for non-disruptive operating system upgrade | |
JP2004234114A (ja) | 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム | |
Kooburat et al. | The Best of Both Worlds with {On-Demand} Virtualization | |
JP5236010B2 (ja) | 効率的な協調型オペレーティングシステム切換えのためのシステム及び方法 | |
US11880702B2 (en) | Hypervisor hot restart | |
JPH11288366A (ja) | 情報処理方法及び装置並びに記憶媒体 | |
WO2024008066A1 (zh) | 一种基于云计算技术的服务器以及云系统 | |
Baclit et al. | Linux Virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130121 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5236010 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160405 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |