JP2001256066A - コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置 - Google Patents

コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置

Info

Publication number
JP2001256066A
JP2001256066A JP2000054064A JP2000054064A JP2001256066A JP 2001256066 A JP2001256066 A JP 2001256066A JP 2000054064 A JP2000054064 A JP 2000054064A JP 2000054064 A JP2000054064 A JP 2000054064A JP 2001256066 A JP2001256066 A JP 2001256066A
Authority
JP
Japan
Prior art keywords
operating system
operating
memory
memory area
switching
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.)
Pending
Application number
JP2000054064A
Other languages
English (en)
Inventor
Susumu Shimotoono
享 下遠野
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2000054064A priority Critical patent/JP2001256066A/ja
Priority to US09/793,038 priority patent/US20010018717A1/en
Publication of JP2001256066A publication Critical patent/JP2001256066A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 単一システム内に共存させた複数のオペレー
ティングシステムを高速に切り替えて使用できる環境を
提供する。 【解決手段】 複数のオペレーティングシステムを搭載
したコンピュータシステムにおいて、メモリ装置のメモ
リ領域を論理分割して、各オペレーティングシステムに
個別に対応付けられた複数のメモリ領域102、103
と、いずれのオペレーティングシステムにも対応付けら
れない独立したメモリ領域104とを設け、オペレーテ
ィングシステム上で動作し、オペレーティングシステム
の切り替え指示を発行するインタフェース手段と、サス
ペンド制御手段と、レジューム制御手段と、インタフェ
ース手段からの切り替え指示を受け取り、この切り替え
指示を発行したオペレーティングシステムがサスペンド
するのを待って、切り替え先オペレーティングシステム
をレジュームさせるオペレーティングシステム切り替え
制御手段とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、単一のコンピュー
タシステム内に複数のオペレーティングシステムを共存
させ、切り替えながら使用するシステム制御技術に関す
る。
【0002】
【従来の技術】近年、コンピュータの利用環境の増加に
伴い、一つのコンピュータシステム内に複数のオペレー
ティングシステム(以下、OSと略す)を共存させ、切
り替えながら使用する使用態様が現れてきている。従
来、このような複数のOSを共存させる環境では、OS
の切り替え方式として、一般に、ブート時にOSを選択
的に切り替える方式や、エミュレーションにより所定の
OSに他のOSの機能を持たせる方式があった。
【0003】ブート時にOSを切り替える方式では、コ
ンピュータをブートする際に、起動可能な複数のOSの
中からユーザが手動で所望のOSを選択し起動させる。
この種の方式をサポートしたツールは、通常ブートセレ
クタと呼ばれ、単独のアプリケーションやOSの内蔵機
能などの形で多くのツールが流布されている。ブートセ
レクタの方式としては、大別して以下の三つがある。 (1)ROMコードがOSへ制御を移す際には、ハード
ディスクの先頭セクタ(MBR:Master Boot Record)
に機械的にアクセスして所定のアドレスのメモリ領域に
同セクタの内容をロードし、さらにそのロードイメージ
の先頭にジャンプする。そこで、この一連の動作に介入
してOSの切り替えを行う方式。すなわち、MBRの内
容を予め操作(入れ替え)して、OSを起動する動作の
最初の段階に介入し、複数のOSの起動を可能とする。 (2)所定のOSのブートローダとして一旦起動された
のち、当該ブートローダの機能において、他のOSを起
動する方式。 (3)起動パーティションとして独自の基本区画を占有
し、ROMコードから見ると一つのOSとして立ち上げ
られ、その中で他のOSを起動する方式。
【0004】この種のOSの切り替え方式では、いずれ
の場合も、複数のOSの個々の本体イメージは、ハード
ディスク内のそれぞれ独立した区画(Partition)に保
存されている。そして、ブートセレクタの方式として
は、特定の区画に保存されたOSのみを起動可能なもの
や、単一のハードディスクにおける何れかの区画に保存
されたOSを選択して起動可能なもの、複数のハードデ
ィスクにおける何れかの区画に保存されたOSを選択し
て起動可能なものなどがある。
【0005】エミュレーションにより所定のOSに他の
OSの機能を持たせる方式では、所定のOSの動作環境
に他のOSの動作環境の一部を仮想的に構築し、前提と
するOS環境が異なるアプリケーションであっても単一
のOS環境で動作できるようにする。すなわち、この方
式は、複数のOSそのものを共存させるものではなく、
各OSのサービス(API:Application Program Inte
rface)に依存したアプリケーションが別のOSで動作
可能なように、当該サービス提供レイヤと同等の機能を
持つレイヤを実現したに過ぎない。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た単一システム上で複数のOSを切り替えて使用する従
来の技術は、以下のような欠点を有する。
【0007】ブート時にOSを切り替える方式では、ま
ず、単一システム内での複数OSの共存は実現されてい
るものの、その切り替えは、互いに再起動(リブート)
することによって行うため、非常に時間がかかるという
ことである。すなわち、OSを切り替える際には、現行
のOSをシャットダウンし、ROMを起動し、続いて次
の起動OSを起動するまでの一連の処理が行われ、各処
理に要する時間を経てようやく完了する。このため、実
用上の使い勝手が著しく悪かった。
【0008】また、OSを切り替えると、それまで使用
していたOSをシャットダウンするため、当該OSは起
動した直後(デフォルト)の状態に戻ってしまう。その
ため、再びOSを切り替えて当該OSへ戻ってきたとし
ても、切り替える直前の状態(コンテキスト)は保存さ
れておらず、失われてしまう。これは、頻繁にOSの切
り替えを行って複数のOSを使い分けるユーザにとって
は極めて使い勝手が悪かった。例えば、OSを切り替え
る直前まで利用していたアプリケーションは、OSの切
り替えに際して、その処理中のデータファイルを一旦終
了して保存する必要がある。そして、当該OSに復帰し
た際に、当該アプリケーションを再度立ち上げ、当該デ
ータファイルを読み込み、注目していたページの位置ま
で手動で元に戻す作業が必要になる。これでは、一連の
作業の最中にOSの切り替えを行うことは、その作業の
中断に等しい。したがって、とても各OSに特有のアプ
リケーションを複数利用してデータファイル間で連係す
るような使い方ができる環境ではない。
【0009】一方、エミュレーションにより所定のOS
に他のOSの機能を持たせる方式では、OSそのものを
システム中に共存させるのではなく、複数OSの動作環
境をエミュレーションにより仮想的に構築したに過ぎな
いため、互換性が完全ではなかった。また、OSのバー
ジョンアップなどに逐次対応して、アプリケーションレ
イヤ向けに実現された仮想OS環境の互換性を維持、検
証する作業が必要であった。さらにまた、完全に別個の
OSの動作環境を共存させているわけではないため、O
S固有のシステムサービスを利用したり、同じくOS固
有の資源を前提にするアプリケーションサーバーやカー
ネル空間で動作するデバイスドライバ及びデバイスを当
該仮想環境で動作させたりすることができなかった。
【0010】そこで本発明は、単一システム内に共存さ
せた複数のオペレーティングシステムを高速に切り替え
て使用できる環境を提供することを目的とする。
【0011】また本発明は、単一システム内に共存させ
た複数のオペレーティングシステムを切り替えた際に、
切り替え前の状態を保存しておき、再度当該オペレーテ
ィングシステムに切り替えた際に、切り替え前の状態を
復帰できるようにすることを他の目的とする。
【0012】
【課題を解決するための手段】かかる目的のもと、本発
明は、複数のオペレーティングシステムを搭載し、各オ
ペレーティングシステムを切り替えて使用するコンピュ
ータシステムにおいて、メモリ装置のメモリ領域を論理
分割して、複数の前記オペレーティングシステムに個別
に対応付けられた複数のオペレーティングシステム用メ
モリ領域と、複数のオペレーティングシステムのいずれ
にも対応付けられない独立したメモリ領域とを設け、オ
ペレーティングシステム用メモリ領域に個別にロードさ
れたオペレーティングシステム上で動作し、使用するオ
ペレーティングシステムの切り替え指示を発行するため
のインタフェース手段と、オペレーティングシステム用
メモリ領域に個別にロードされたオペレーティングシス
テム上で動作し、オペレーティングシステムの動作コン
テキストに関する情報を自オペレーティングシステムに
割り当てられたオペレーティングシステム用メモリ領域
に保存してこのオペレーティングシステムを一時停止状
態にするサスペンド制御手段と、オペレーティングシス
テム用メモリ領域に個別にロードされたオペレーティン
グシステム上で動作し、一時停止状態にあるオペレーテ
ィングシステムを動作状態に移行させると共に、オペレ
ーティングシステム用メモリ領域に保存されている自オ
ペレーティングシステムの動作コンテキストに関する情
報に基づいて自オペレーティングシステムが一時停止状
態に移行する直前の動作コンテキストを回復させるレジ
ューム制御手段と、複数のオペレーティングシステムの
いずれからも独立して動作し、インタフェース手段から
のオペレーティングシステムの切り替え指示を受け取
り、この切り替え指示を発行したオペレーティングシス
テムがサスペンド制御手段により一時停止状態に移行す
るのを待って、この切り替え指示にて示された切り替え
先オペレーティングシステムのレジューム制御手段に対
してこの切り替え先オペレーティングシステムを動作状
態に移行させるオペレーティングシステム切り替え制御
手段とを備えたことを特徴としている。
【0013】ここで、オペレーティングシステム切り替
え制御手段は、複数のオペレーティングシステムがメモ
リ装置のメモリ領域のうちの特定の領域を重複して使用
する場合に、切り替え先オペレーティングシステムを動
作状態に移行させる前に、一時停止状態となったオペレ
ーティングシステムがこの特定領域にロードした内容を
独立したメモリ領域または二次記憶装置に退避させるこ
とを特徴としている。すなわち、メモリ装置の特定のメ
モリ領域を複数のオペレーティングシステムが必ず固定
的に利用しなければならない場合に、結果としてこれら
複数のオペレーティングシステム間で同領域を互いに重
複して使用することとなる。このため、オペレーティン
グシステムを切り替える際には、それまで使用していた
オペレーティングシステムにおける当該領域の内容を他
の場所に退避させ、次に使用するオペレーティングシス
テムのために空き領域としなければならない。その退避
先として、メモリ装置における独立したメモリ領域また
は二次記憶装置を使用することができる。このような構
成とすれば、特定の領域を重複して使用するオペレーテ
ィングシステムが存在する場合にも、メモリ装置上に共
存させることができる点で優れている。なお、メモリ装
置または二次記憶装置に退避された内容は、一時停止状
態にあるオペレーティングシステムがレジューム制御手
段の制御により再稼働する前に元のメモリ領域(すなわ
ち重複して使用される領域)に回復させる。また、二次
記憶装置を介して退避・回復する方法は、複数のOSに
重複利用されるメモリ領域が大きい場合には、それに合
わせて独立したメモリ領域を大きく確保する必要がない
という点で優れている。一方、独立したメモリ領域のみ
で退避・回復する方法は処理速度が速いという点で優れ
ている。
【0014】また、本発明は、複数のオペレーティング
システムを搭載し、各オペレーティングシステムを切り
替えて使用するコンピュータシステムにおいて、メモリ
装置のメモリ領域を論理分割して、オペレーティングシ
ステムに対応付けられたオペレーティングシステム用メ
モリ領域と、複数のオペレーティングシステムのいずれ
にも対応付けられない独立したメモリ領域とを設け、複
数のオペレーティングシステムのうちで、コンピュータ
システムの起動時に最初にオペレーティングシステム用
メモリ領域にブートされるメイン・オペレーティングシ
ステムが、オペレーティングシステム用メモリ領域上
に、他のオペレーティングシステムをロードするための
メモリ領域を仮想記憶メモリとして確保する仮想記憶メ
モリ管理手段と、オペレーティングシステムの動作コン
テキストに関する情報をオペレーティングシステム用メ
モリ領域に保存してこのオペレーティングシステムを一
時停止状態にするサスペンド制御手段と、一時停止状態
にあるオペレーティングシステムを動作状態に移行させ
ると共に、オペレーティングシステム用メモリ領域に保
存されている自オペレーティングシステムの動作コンテ
キストに関する情報に基づいて自オペレーティングシス
テムが一時停止状態に移行する直前の動作コンテキスト
を回復させるレジューム制御手段とを備え、メイン・オ
ペレーティングシステムから他のオペレーティングシス
テムに切り替える際に、この仮想記憶メモリ管理手段に
て切り替え先オペレーティングシステム用に仮想記憶メ
モリによるメモリ領域を確保した後に、サスペンド制御
手段によりこのオペレーティングシステムを一時停止状
態にして、この仮想記憶メモリによるメモリ領域にこの
切り替え先オペレーティングシステムをロードし、他の
オペレーティングシステムからメイン・オペレーティン
グシステムに切り替える際に、当該他のオペレーティン
グシステムが停止するのを待って、レジューム制御手段
によりメイン・オペレーティングシステムを動作状態に
移行させることを特徴としている。メイン・オペレーテ
ィングシステムは、他のオペレーティングシステムをロ
ードするメモリ領域を保持するために、サスペンド機能
及びレジューム機能を用いて他のオペレーティングシス
テムに切り替わる必要があるが、他のオペレーティング
システムにおいては、サスペンド機能及びレジューム機
能を用いても良いし、シャットダウン及びリブートを用
いて、さらに他のオペレーティングシステムやメイン・
オペレーティングシステムに切り替わるようにしても良
い。
【0015】さらにまた、本発明は、複数のオペレーテ
ィングシステムを搭載したコンピュータシステム上で、
使用するオペレーティングシステムの切り替えを実行す
るオペレーティングシステムの切り替えシステムにおい
て、メモリ装置のメモリ領域を論理分割し、複数の前記
オペレーティングシステムに個別に対応付けられた複数
のオペレーティングシステム用メモリ領域と、複数の前
記オペレーティングシステムのいずれにも対応付けられ
ない独立したメモリ領域とを設け、複数の前記オペレー
ティングシステム用メモリ領域にそれぞれロードされた
オペレーティングシステムと、独立したメモリ領域にロ
ードされたオペレーティングシステムの切り替えを制御
するオペレーティングシステム切り替え制御手段とを備
え、自オペレーティングシステムの動作コンテキストに
関する情報を自オペレーティングシステムに割り当てら
れたオペレーティングシステム用メモリ領域に保存して
このオペレーティングシステムを一時停止状態にするサ
スペンド機能と、一時停止状態にある自オペレーティン
グシステムを動作状態に移行させると共に、オペレーテ
ィングシステム用メモリ領域に保存されている自オペレ
ーティングシステムの動作コンテキストに関する情報に
基づいて自オペレーティングシステムが一時停止状態に
移行する直前の動作コンテキストを回復させるレジュー
ム機能とを有するオペレーティングシステムに関して、
オペレーティングシステム切り替え制御手段は、使用す
るオペレーティングシステムをこのオペレーティングシ
ステムから他のオペレーティングシステムに切り替える
ためにこのオペレーティングシステムを停止させる場合
に、サスペンド機能を用いてこのオペレーティングシス
テムを一時停止状態とし、使用するオペレーティングシ
ステムを他のオペレーティングシステムからこのオペレ
ーティングシステムに切り替えるためにこのオペレーテ
ィングシステムを動作状態に移行させる場合に、レジュ
ーム機能を用いてこのオペレーティングシステムを動作
状態に移行させることを特徴としている。
【0016】ここで、サスペンド機能及びレジューム機
能を有さないオペレーティングシステムに関して、オペ
レーティングシステム切り替え制御手段は、使用するオ
ペレーティングシステムをこのオペレーティングシステ
ムから他のオペレーティングシステムに切り替えるため
にこのオペレーティングシステムを停止させる場合に、
このオペレーティングシステムを単独でシャットダウン
し、使用するオペレーティングシステムを他のオペレー
ティングシステムからこのオペレーティングシステムに
切り替えるためにこのオペレーティングシステムを動作
状態に移行させる場合に、このオペレーティングシステ
ムをリブートすることを特徴としている。オペレーティ
ングシステムの切り替えにシャットダウン及びリブート
を用いることにより、動作コンテキストを保存すること
はできなくなる。また、サスペンド機能及びレジューム
機能を用いる場合に比べてオペレーティングシステムを
切り替えるために要する時間が大きくなる。一方、シャ
ットダウン及びリブートを用いる利点は、必ずしもすべ
てのオペレーティングシステムが本発明の実装時点でサ
スペンド・レジューム機能をサポートしているとは限ら
ないため、そのようなオペレーティングシステムにも本
発明を適用できることである。特に、動作コンテキスト
を保存する必要がない場合や、シャットダウン及びリブ
ートが短時間で可能なOSにおいては、シャットダウン
及びリブートによるオペレーティングシステムの切り替
えでも充分に有効な方法となる。
【0017】また、本発明は、複数のオペレーティング
システムを搭載し、各オペレーティングシステムを切り
替えて使用するコンピュータシステムにおけるオペレー
ティングシステムの実装方法において、メモリ装置の所
定のメモリ領域に、複数のオペレーティングシステムの
ブート及び切り替えを統括的に制御するプログラムモジ
ュールである統括制御手段をロードするステップと、こ
の統括制御手段の制御の下、メモリ装置において複数の
オペレーティングシステムに個別に対応付けられた複数
のオペレーティングシステム用メモリ領域に、複数のオ
ペレーティングシステムを順次ロードするステップとを
含み、オペレーティングシステムを順次ロードするステ
ップは、所定のオペレーティングシステムのブートロー
ダを用いてこのオペレーティングシステムをこのオペレ
ーティングシステムに対応付けられたオペレーティング
システム用メモリ領域にブートするステップと、さらに
ロードすべき他のオペレーティングシステムが存在する
場合に、ブートした後にオペレーティングシステムを停
止状態とするステップと、ブートしたオペレーティング
システムが停止状態となった後に、メモリ装置及びメモ
リ制御装置を除く他のハードウェアを初期化して他のオ
ペレーティングシステムのロード処理へ移行するステッ
プとを含むことを特徴としている。なお、最初にロード
されるオペレーティングシステムにおける論理分割メモ
リの適正な確保は、当該オペレーティングシステムより
も先にロードされる統括制御手段が行う。また、最後に
ロードするオペレーティングシステムは、停止状態に移
行する必要がないので、ブートされた状態のままとな
る。すなわち、本発明においてコンピュータシステムを
起動すると、最後にロードするオペレーティングシステ
ムが起動完了した状態で通常動作が開始されることとな
る。
【0018】ここで、ブート後にオペレーティングシス
テムを停止状態とするステップは、このオペレーティン
グシステムが、自オペレーティングシステムの動作コン
テキストに関する情報を自オペレーティングシステムに
割り当てられたオペレーティングシステム用メモリ領域
に保存してこのオペレーティングシステムを一時停止状
態にするサスペンド機能と、一時停止状態にある自オペ
レーティングシステムを動作状態に移行させると共に、
オペレーティングシステム用メモリ領域に保存されてい
る自オペレーティングシステムの動作コンテキストに関
する情報に基づいて自オペレーティングシステムが一時
停止状態に移行する直前の動作コンテキストを回復させ
るレジューム機能とを有する場合に、このサスペンド機
能によりこのオペレーティングシステムを一時停止状態
に移行させるステップと、このオペレーティングシステ
ムが、サスペンド機能とレジューム機能とを有さない場
合に、このオペレーティングシステムを単独でシャット
ダウンするステップとを含むことを特徴としている。
【0019】また、本発明は、複数のオペレーティング
システムを搭載し、各オペレーティングシステムを切り
替えて使用するコンピュータシステムにおけるオペレー
ティングシステムの実装方法において、所定のメモリ領
域を仮想記憶メモリとして確保する仮想記憶メモリ管理
機能を有するオペレーティングシステムをメモリ装置に
ブートするステップと、他のオペレーティングシステム
を使用するために、ブートされたオペレーティングシス
テムが、仮想記憶メモリ管理機能により所定サイズのメ
モリ領域を仮想記憶メモリとして確保するステップと、
仮想記憶メモリとしてメモリ領域を確保した後に、ブー
トされたオペレーティングシステムの動作コンテキスト
に関する情報をメモリ領域に保存してこのオペレーティ
ングシステムを一時停止状態にするステップと、このオ
ペレーティングシステムが一時停止状態となった後に、
仮想記憶メモリとして確保されたメモリ領域に他のオペ
レーティングシステムをブートするステップと、他のオ
ペレーティングシステムの使用を終了した後、他のオペ
レーティングシステムを停止させ、一時停止状態にある
オペレーティングシステムを動作状態に移行させると共
に、メモリ領域に保存されているこのオペレーティング
システムの動作コンテキストに関する情報に基づいてこ
のオペレーティングシステムが一時停止状態に移行する
直前の動作コンテキストを回復させるステップとを含む
ことを特徴としている。
【0020】さらにまた、本発明は、複数のオペレーテ
ィングシステムを搭載したコンピュータシステム上で、
使用するオペレーティングシステムの切り替えを行うオ
ペレーティングシステムの切り替え方法において、メモ
リ装置のメモリ領域を論理分割して設けられた複数のオ
ペレーティングシステム用メモリ領域に個別に対応付け
られてロードされている複数のオペレーティングシステ
ムのうちで、動作状態にあるオペレーティングシステム
から他のオペレーティングシステムへの切り替え要求を
発行するステップと、この切り替え要求を発行したオペ
レーティングシステムを停止状態に移行させるステップ
と、切り替え先のオペレーティングシステムを動作状態
に移行させるステップとを含み、オペレーティングシス
テムを停止状態に移行させるステップは、切り替え要求
を発行したオペレーティングシステムが、自オペレーテ
ィングシステムの動作コンテキストに関する情報を自オ
ペレーティングシステムに割り当てられたオペレーティ
ングシステム用メモリ領域に保存してこのオペレーティ
ングシステムを一時停止状態にするサスペンド機能を有
する場合に、このサスペンド機能によりこのオペレーテ
ィングシステムを一時停止状態に移行させるステップを
含み、このオペレーティングシステムを動作状態に移行
させるステップは、この切り替え先のオペレーティング
システムが、サスペンド機能により一時停止状態にある
自オペレーティングシステムを動作状態に移行させると
共に、オペレーティングシステム用メモリ領域に保存さ
れている自オペレーティングシステムの動作コンテキス
トに関する情報に基づいて自オペレーティングシステム
が一時停止状態に移行する直前の動作コンテキストを回
復させるレジューム機能を有する場合に、このレジュー
ム機能を用いてこの切り替え先のオペレーティングシス
テムを動作状態に移行させるステップを含むことを特徴
としている。
【0021】また、本発明は、複数のオペレーティング
システムを搭載したコンピュータシステム上で、使用す
るオペレーティングシステムの切り替えを行うオペレー
ティングシステムの切り替え方法において、メモリ装置
のメモリ領域を論理分割して設けられた複数のオペレー
ティングシステム用メモリ領域に個別に対応付けられて
ロードされている複数のオペレーティングシステムのう
ちで、動作状態にあるオペレーティングシステムから他
のオペレーティングシステムへの切り替え要求を発行す
るステップと、切り替え要求を発行したオペレーティン
グシステムを停止状態に移行させるステップと、切り替
え先のオペレーティングシステムを動作状態に移行させ
るステップとを含み、オペレーティングシステムを停止
状態に移行させるステップは、切り替え要求を発行した
オペレーティングシステムが、自オペレーティングシス
テムの動作コンテキストに関する情報を自オペレーティ
ングシステムに割り当てられたオペレーティングシステ
ム用メモリ領域に保存してこのオペレーティングシステ
ムを一時停止状態にするサスペンド機能を有さない場合
に、このオペレーティングシステムを単独でシャットダ
ウンすることにより停止状態に移行させるステップを含
み、このオペレーティングシステムを動作状態に移行さ
せるステップは、この切り替え先のオペレーティングシ
ステムが、サスペンド機能により一時停止状態にある自
オペレーティングシステムを動作状態に移行させると共
に、オペレーティングシステム用メモリ領域に保存され
ている自オペレーティングシステムの動作コンテキスト
に関する情報に基づいて自オペレーティングシステムが
一時停止状態に移行する直前の動作コンテキストを回復
させるレジューム機能を有さない場合に、この切り替え
先のオペレーティングシステムをリブートすることによ
り動作状態に移行させるステップを含むことを特徴とし
ている。このような構成とすれば、サスペンド機能及び
レジューム機能を有さないオペレーティングシステムで
あっても、他のOSと共存させることができる。
【0022】また、本発明は、コンピュータに実行させ
るプログラムを当該コンピュータの入力手段が読取可能
に記憶した記憶媒体において、このプログラムは、メモ
リ装置のメモリ領域を論理分割し、複数のオペレーティ
ングシステムに個別に対応付けられた複数のオペレーテ
ィングシステム用メモリ領域を設ける処理と、複数のオ
ペレーティングシステム用メモリ領域に、対応付けられ
たオペレーティングシステムを順次ロードする処理とし
て、所定のオペレーティングシステムのブートローダを
用いてこのオペレーティングシステムをこのオペレーテ
ィングシステムに対応付けられたオペレーティングシス
テム用メモリ領域にブートする処理と、さらにロードす
べき他のオペレーティングシステムが存在する場合に、
ブートした後にこのオペレーティングシステムを停止状
態とする処理と、ブートしたオペレーティングシステム
が停止状態となった後に、メモリ装置及びメモリ制御装
置を除く他のハードウェアを初期化して他のオペレーテ
ィングシステムのロード処理へ移行する処理とをこのコ
ンピュータに実行させることを特徴としている。このよ
うな構成とすれば、このプログラムをインストールした
全てのコンピュータにおいて、オペレーティングシステ
ムを共存させることが可能となる。
【0023】ここで、このプログラムにおけるブート後
にオペレーティングシステムを停止状態とする処理は、
このオペレーティングシステムが、自オペレーティング
システムの動作コンテキストに関する情報を自オペレー
ティングシステムに割り当てられたオペレーティングシ
ステム用メモリ領域に保存して当該オペレーティングシ
ステムを一時停止状態にするサスペンド機能と、一時停
止状態にある自オペレーティングシステムを動作状態に
移行させると共に、オペレーティングシステム用メモリ
領域に保存されている自オペレーティングシステムの動
作コンテキストに関する情報に基づいて自オペレーティ
ングシステムが一時停止状態に移行する直前の動作コン
テキストを回復させるレジューム機能とを有する場合
に、このサスペンド機能により当該オペレーティングシ
ステムを一時停止状態に移行させる処理と、このオペレ
ーティングシステムが、サスペンド機能とレジューム機
能とを有さない場合に、このオペレーティングシステム
を単独でシャットダウンする処理とを含むことを特徴と
している。このような構成とすれば、サスペンド機能及
びレジューム機能を有さないオペレーティングシステム
であっても、他のOSと共存させることができる。
【0024】さらにまた、本発明は、コンピュータに実
行させるプログラムを当該コンピュータの入力手段が読
取可能に記憶した記憶媒体において、このプログラム
は、メモリ装置のメモリ領域を論理分割して設けられた
複数のオペレーティングシステム用メモリ領域に個別に
対応付けられてロードされている複数のオペレーティン
グシステムのうちで、動作状態にあるオペレーティング
システムから他のオペレーティングシステムへの切り替
え要求を受け付ける処理と、この切り替え要求を発行し
たオペレーティングシステムが、自オペレーティングシ
ステムの動作コンテキストに関する情報を自オペレーテ
ィングシステムに割り当てられたオペレーティングシス
テム用メモリ領域に保存してこのオペレーティングシス
テムを一時停止状態にするサスペンド機能を有する場合
に、このサスペンド機能によりこのオペレーティングシ
ステムを一時停止状態に移行させる処理と、切り替え先
のオペレーティングシステムが、サスペンド機能により
一時停止状態にある自オペレーティングシステムを動作
状態に移行させると共に、オペレーティングシステム用
メモリ領域に保存されている自オペレーティングシステ
ムの動作コンテキストに関する情報に基づいて自オペレ
ーティングシステムが一時停止状態に移行する直前の動
作コンテキストを回復させるレジューム機能を有する場
合に、このレジューム機能を用いて当該切り替え先のオ
ペレーティングシステムを動作状態に移行させる処理と
を前記コンピュータに実行させることを特徴としてい
る。このような構成とすれば、このプログラムをインス
トールした全てのコンピュータにおいて、共存させたオ
ペレーティングシステムを、サスペンド機能及びレジュ
ーム機能を用いて高速に切り替えることが可能となる。
【0025】また、本発明は、コンピュータに、メモリ
装置のメモリ領域を論理分割し、複数のオペレーティン
グシステムに個別に対応付けられた複数のオペレーティ
ングシステム用メモリ領域を設ける処理と、複数のオペ
レーティングシステム用メモリ領域に、対応付けられた
オペレーティングシステムを順次ロードする処理とし
て、所定のオペレーティングシステムのブートローダを
用いてこのオペレーティングシステムを当該オペレーテ
ィングシステムに対応付けられたこのオペレーティング
システム用メモリ領域にブートする処理と、さらにロー
ドすべき他のオペレーティングシステムが存在する場合
に、ブートした後に当該オペレーティングシステムを停
止状態とする処理と、ブートしたオペレーティングシス
テムが停止状態となった後に、メモリ装置及びメモリ制
御装置を除く他のハードウェアを初期化して他のオペレ
ーティングシステムのロード処理へ移行する処理とを実
行させるプログラムを記憶する記憶手段と、この記憶手
段からこのプログラムを読み出してこのプログラムを送
信する送信手段とを備えたことを特徴としている。この
ような構成とすれば、このプログラムをダウンロードし
て実行する全てのコンピュータにおいて、オペレーティ
ングシステムを共存させることが可能となる。
【0026】ここで、プログラムにおけるブート後にオ
ペレーティングシステムを停止状態とする処理は、この
オペレーティングシステムが、自オペレーティングシス
テムの動作コンテキストに関する情報を自オペレーティ
ングシステムに割り当てられたオペレーティングシステ
ム用メモリ領域に保存して当該オペレーティングシステ
ムを一時停止状態にするサスペンド機能と、一時停止状
態にある自オペレーティングシステムを動作状態に移行
させると共に、オペレーティングシステム用メモリ領域
に保存されている自オペレーティングシステムの動作コ
ンテキストに関する情報に基づいて自オペレーティング
システムが一時停止状態に移行する直前の動作コンテキ
ストを回復させるレジューム機能とを有する場合に、こ
のサスペンド機能によりこのオペレーティングシステム
を一時停止状態に移行させる処理と、このオペレーティ
ングシステムが、サスペンド機能とレジューム機能とを
有さない場合に、このオペレーティングシステムを単独
でシャットダウンする処理とを含むことを特徴としてい
る。このような構成とすれば、サスペンド機能及びレジ
ューム機能を有さないオペレーティングシステムであっ
ても、他のOSと共存させることができる。
【0027】さらにまた、本発明は、コンピュータに、
メモリ装置のメモリ領域を論理分割して設けられた複数
のオペレーティングシステム用メモリ領域に個別に対応
付けられてロードされている複数のオペレーティングシ
ステムのうちで、動作状態にあるオペレーティングシス
テムから他のオペレーティングシステムへの切り替え要
求を受け付ける処理と、この切り替え要求を発行したオ
ペレーティングシステムが、自オペレーティングシステ
ムの動作コンテキストに関する情報を自オペレーティン
グシステムに割り当てられたオペレーティングシステム
用メモリ領域に保存してこのオペレーティングシステム
を一時停止状態にするサスペンド機能を有する場合に、
このサスペンド機能によりこのオペレーティングシステ
ムを一時停止状態に移行させる処理と、切り替え先のオ
ペレーティングシステムが、サスペンド機能により一時
停止状態にある自オペレーティングシステムを動作状態
に移行させると共に、オペレーティングシステム用メモ
リ領域に保存されている自オペレーティングシステムの
動作コンテキストに関する情報に基づいて自オペレーテ
ィングシステムが一時停止状態に移行する直前の動作コ
ンテキストを回復させるレジューム機能を有する場合
に、このレジューム機能を用いてこの切り替え先のオペ
レーティングシステムを動作状態に移行させる処理とを
実行させるプログラムを記憶する記憶手段と、この記憶
手段からこのプログラムを読み出してこのプログラムを
送信する送信手段とを備えたことを特徴としている。こ
のような構成とすれば、このプログラムをダウンロード
して実行する全てのコンピュータにおいて、共存させた
オペレーティングシステムを、サスペンド機能及びレジ
ューム機能を用いて高速に切り替えることが可能とな
る。
【0028】
【発明の実施の形態】以下、添付図面に示す実施の形態
に基づいてこの発明を詳細に説明する。まず、本発明の
概要について説明する。本発明は、メモリ領域を論理的
に分割し、分割された各領域(論理メモリブロック)を
複数のオペレーティングシステム(OS)に割り当てる
ことにより、単一のコンピュータシステム内に複数のオ
ペレーティングシステムを共存させる。
【0029】図1は、本発明により論理分割されたメモ
リマップの構成例を示す図であり、OS#1とOS#2
の二つのOSを共存させた場合のメモリマップの構成を
示す。図1を参照すると、メモリは、各OSが固定的に
使用する0〜1MBのメモリ領域101と、OSごとに
割り当てられたメモリ領域102、103と、OSの切
り替え等の作業に用いる独立したメモリ領域104とに
論理分割されている。各OSは、自分に割り当てられた
メモリ領域を当該コンピュータシステムにおけるメモリ
領域全体と認識する。すなわち、図1に示すように、O
S#1から見たメモリマップはメモリ領域101とメモ
リ領域102とを合わせた範囲であり、OS#2から見
たメモリマップはメモリ領域101とメモリ領域103
とを合わせた範囲である。なお、図示の例では、メモリ
領域101を全メモリ領域の0〜1MBの領域としてい
るが、共存させるOSによっては異なるサイズや位置に
設定することもできる。また、共存させるOSにおいて
固定的に使用する領域が存在せず、競合するメモリ領域
が生じない場合は、設けなくても良い。
【0030】また、本発明は、原則として各OSがサポ
ートするサスペンド機能及びレジューム機能を利用して
OSの切り替えを行う。すなわち、所定のOSを使用し
ているときには他のOSをサスペンドして一時停止の状
態としておく。そして、OSを切り替える際に、それま
で使用していたOSをサスペンドし、次に使用するOS
をレジューム機能によりサスペンド直前の状態に復帰さ
せる。
【0031】図20は、サスペンド及びレジューム動作
を説明する図である。図20を参照すると、通常動作に
おいて、コンピュータシステムではアプリケーションプ
ログラム、OS及びデバイスドライバが動作している。
サスペンドイベントが発生し、サスペンド動作が開始す
ると、まず、アプリケーションプログラムの実行権が剥
奪され、OSからアプリケーションプログラムに対しメ
ッセージが同報される。また、デバイスドライバにサス
ペンドが通知され、デバイスドライバは活動を一時停止
すると共に内部データを必要に応じて保存または破棄す
る。そして、ROM BIOSが呼び出される。ROM
BIOSは、キャッシュフラッシュでキャッシュ内デ
ータをメモリに反映させると共に、CPUレジスタ及び
マザーボードの基本デバイスのコンテキストを保存す
る。そして、システムメモリを低消費電力モードにして
外部と電気的に隔絶する。そして、ハードウェアステー
トマシンの起動を開始し、当該ハードウェアステートマ
シンがパワーソースを自動で切断する。この状態がサス
ペンド状態である。
【0032】次に、レジュームイベントが発生すると、
電源が切断されているデバイスに電源が投入される。通
常のパワーオンと同じようにCPUリセット状態から動
作開始したROM BIOSは、サスペンド状態におい
ても電源が供給されていた所定のハードウェアのフラグ
でレジューム動作を確認し、システムメモリを通常モー
ドに戻して通常アクセスを可能にする。そして、キャッ
シュの初期化が行われ、マザーボードの基本デバイスの
コンテキストが回復または再初期化されて、CPUレジ
スタが回復する。次に、時刻情報を回復し、デバイスド
ライバに復帰を通知する。また、物理デバイスを操作す
るドライバは、以前のデバイスコンテキストが失われて
いるものとして、動作を再開する。また必要ならば、当
該デバイスの初期化を行う。そして、アプリケーション
プログラムに復帰メッセージが同報される。サスペンド
イベントによって実行権を剥奪されたアプリケーション
プログラムは、自分に実行権が回復すると以前に実行権
を剥奪された位置の直後から再スタートし、通常動作に
戻る。
【0033】本発明では、論理分割されたメモリ領域に
ロードされたOSごとに上記のサスペンド及びレジュー
ム処理が行われる。但し、通常のサスペンド状態ではC
PUは稼働していないが、本発明ではCPUは継続して
稼働することとなる。すなわち本発明では、所定のOS
が通常のサスペンドを行ってCPUの稼働が停止する直
前に、OSから独立したメモリ領域にロードされたOS
の切り替えを司るモジュールに実行権を移動させるた
め、CPUは常に稼働状態にある。これにより、CPU
の実行権は、それまで使用していたOSから次に使用す
るOSへ移動することとなる。つまり、ある時点では、
所定のOSが通常動作にあり、他のOSはサスペンド状
態となっている。そして、通常動作中のOSがサスペン
ド状態に移行した後、他のOSがレジューム処理により
通常動作に復帰することによって使用するOSが切り替
わることとなる。このように、本発明においては、各メ
モリ領域のOSは当該メモリ領域ごとに独立している
が、OSが切り替わるときにメモリ領域の境界を飛び越
えた制御の移動が発生することになる。
【0034】図2は、本発明による複数OSの切り替え
のイメージを説明する概念図である。図2を参照する
と、まずROMコードがブートスタートしてOS#1を
メモリ領域101、102へロードする。また、OS#
2をメモリ領域101、103へロードする。このと
き、メモリ領域101は二つのOS#1、#2の両方が
使用するため競合する。そこで、使用しない方のOSに
おけるメモリ領域101の内容は、独立のメモリ領域1
04へ退避させる。以後、メモリ上には、OS#1とO
S#2の両方がそれぞれ割り当てられたメモリ領域に存
在し、サスペンド及びレジュームによりアクティブなO
Sが切り替わる。サスペンド及びレジュームによりOS
の切り替えを行うことにより、高速な切り替えが可能と
なる。また、復帰したOSは、サスペンド直前の動作状
態(コンテキスト)を復元するので、ユーザの利便性が
飛躍的に向上する。なお、メモリ領域101の退避領域
として、独立のメモリ領域104の替わりに二次記憶装
置内に確保した退避用の記憶領域105を使用しても良
い。記憶領域105は、各OSが保存されている2次記
憶装置内の区画に、OS毎に用意されていても良いし
(図2ではOS毎に確保されている)、何れのOSにも
属さない専用区画を二次記憶装置内に確保しても良い。
専用の領域として確保することとすれば、OS毎に記憶
領域105を用意する必要がない点で効率的である。
【0035】図3は、本実施の形態における複数のOS
を共存させたコンピュータシステムのシステム構成を説
明する図である。図3を参照すると、本実施の形態は、
システム中に共存する複数のOSを統括的に制御するた
めの統括制御部10と、OSごとに個別に用意される個
別制御部20とを備える。後述するように、統括制御部
10による制御は、各OSから独立して設けられたメモ
リ領域(例えば図1、図2のメモリ領域104)を用い
て実行され、個別制御部20による制御は、対応するO
Sに割り当てられているメモリ領域を用いて実行され
る。
【0036】統括制御部10において、符号11はOS
起動制御手段であり、システム起動時における各OSの
起動を制御する。符号12はOS切り替え制御手段であ
り、ランタイムにおけるOSの切り替えを制御する。符
号13は共用情報格納手段であり、OSの起動時や切り
替え時に必要となる他のOSに関する情報などの各OS
で共用すべき情報を包括して格納する。個別制御部20
において、符号21はOS情報設定手段であり、複数の
OSを共存させる上で必要な各OSに関する情報を設定
する。符号22はOS切り替えインタフェース手段であ
り、ランタイムにおけるOSの切り替えをユーザが入力
するためのユーザインタフェースを提供する。なお、O
S情報設定手段21は、予め共存させるOSが固定的に
決まっており、各OSに関する情報が予め統括制御部1
0の共用情報格納手段13に格納されているならば、必
ずしも設けなくても良い。
【0037】OS起動制御手段11は、システム起動時
に共存させる各OSを順次起動させる。この際、共用情
報格納手段13に格納されている情報を参照して、各O
Sをロードするべきメモリ領域の位置やサイズを特定す
る。また、2番目以降のOSを起動させるためには、後
述するように、OSのサスペンド機能等を用いて先に起
動したOSを停止状態にした後、システムを初期化して
次のOSの起動に移行する。したがって、共存させる全
てのOSが起動した直後は、最後に起動したOSが動作
状態にあり、それ以前に起動した他の全てのOSが停止
状態となっている。複数のOSを起動させる具体的な動
作については後述する。
【0038】OS切り替え制御手段12は、ランタイム
において使用するOSの切り替えを行う。すなわち、動
作状態にあるOSにおける個別制御部20のOS切り替
えインタフェース手段22から次に使用するOSに関す
る情報を受け取り、動作状態にあった当該OSがサスペ
ンド機能等により停止状態に移行した後に、当該受け取
った情報に基づいて、次に使用するOSを動作状態に移
行させる。停止状態にあったOSを動作状態に移行させ
る手段としては、OSに用意されているレジューム機能
を用いたり、仮想的にブート処理を実行したりすること
ができる。これらの具体的な動作については後述する。
【0039】共用情報格納手段13は、共存させる各O
Sをロードするメモリ領域の位置及びサイズ、各OSを
動作させるために最低限必要なメモリサイズ、各OSを
起動するためのブートローダの二次記憶装置におけるア
ドレス、各OSを停止状態や動作状態に移行させるため
の手段、動作上必須のメモリ領域の開始物理アドレスと
その長さ、さらに必要ならば重複メモリ領域を退避する
ための二次記憶装置内に確保された退避領域の開始アド
レスといったOSの起動及び切り替えにおいて用いる情
報を格納する。これらの情報は、各OSの個別制御部2
0のOS情報設定手段21により設定される。なお、共
用情報格納手段13を含む統括制御部10は、各OSか
ら独立したメモリ領域を用いて実行されるとしたが、共
用情報格納手段13に格納される情報自体は、当該独立
のメモリ領域に保持しても良いし、いずれのOSからも
参照可能であることを条件にいずれかのOSのファイル
として保存しても良い。
【0040】OS情報設定手段21は、対応する各OS
上で動作し、当該OSに関する情報を設定する。すなわ
ち、上述した、共存させる各OSをロードするメモリ領
域の位置及びサイズ、各OSを動作させるために最低限
必要なメモリサイズ、各OSを起動するためのブートロ
ーダの二次記憶装置におけるアドレス、各OSを停止状
態や動作状態に移行させるための手段、動作上必須のメ
モリ領域の開始物理アドレスとその長さ、さらに必要な
らば重複メモリ領域を退避するための二次記憶装置内に
確保された退避領域の開始アドレスといったOSの起動
及び切り替えにおいて用いる情報である。また、システ
ム起動時に、当該OSの次にいずれのOSを起動するか
といった情報の設定も行う。
【0041】OS切り替えインタフェース手段22は、
対応する各OS上で動作し、ユーザからの入力を受け付
けて、次に使用する他のOSを指定してOS切り替え動
作を開始させる。OS切り替え動作が開始した後、当該
OSは、サスペンド機能などを用いて停止状態に移行す
る。具体的なOS切り替え動作については後述する。
【0042】図4は、本実施の形態を実現する論理分割
されたメモリ装置における論理メモリブロックの構成を
説明する図である。図4に示すメモリ装置は、OS#
1、OS#2及びOS#3の三つのOSを共存させる。
したがって、OS#1用論理メモリブロック410と、
OS#2用論理メモリブロック420と、OS#3用論
理メモリブロック430と、OSから独立した独立論理
メモリブロック400とを備える。また、図示しない
が、メモリ装置は、OS#1、OS#2及びOS#3に
共有される論理メモリブロックを備える。ただし、この
共有される論理メモリブロックは、OS#1、OS#2
及びOS#3のうちのいずれかが動作状態にある時に、
当該動作中のOS用の論理メモリブロックとして用いら
れる。ここでは、本実施の形態において共存させるOS
#1、OS#2及びOS#3は、いずれもサスペンド機
能及びレジューム機能を備えるものとする。
【0043】図4を参照すると、独立論理メモリブロッ
ク400には、統括制御部10のOS起動制御手段11
に対応する機能実行部として、マルチOS初期化部40
1、システム仮想初期化部402、メモリ論理分割制御
部403及び仮想ブート制御部404がロードされてい
る。また、OS切り替え制御手段12に対応する機能実
行部としてOS切り替え制御部405がロードされてい
る。さらに、共用情報格納手段13に対応する機能実行
部としてOS特性登録部406及びOSブートローダ登
録部407がロードされている。
【0044】ここで、マルチOS初期化部401は、シ
ステム起動時に、各OSを順次ブートスタートさせる。
システム仮想初期化部402は、マルチOS初期化部4
01によるOSの起動に先だって、メモリ及びメモリ制
御部を除く全てのハードウェアの初期化を行う。ハード
ウェアの初期化を行うのは、各OSは、自分が起動する
ときにはシステム全体が初期状態にあると認識している
ためである。このメモリ及びメモリ制御部を除く全ての
ハードウェアが初期化された状態を仮想初期化状態と呼
ぶ。メモリ論理分割制御部403は、独立論理メモリブ
ロック400、OS#1用論理メモリブロック410、
OS#2用論理メモリブロック420及びOS#3用論
理メモリブロック430の位置やサイズに関する情報が
格納されている。仮想ブート制御部404は、既に1つ
以上のOSがブートされた状態で、さらに他のOSをブ
ートする際に、二次記憶装置に格納された次にブートし
ようとするOSのブートローダにアクセスする。そし
て、当該ブートローダを当該メモリに割り当てられた論
理メモリブロックにロードする。OS切り替え制御部4
05は、ランタイムにおけるOSの切り替えを行う際
に、切り替え前後の二つのOSにおいて競合するメモリ
領域があれば、切り替え前のOSにおける当該メモリ領
域の内容を退避させて競合が起きないようにする。そし
て、次に起動するべきOSを動作状態に移行させる。O
S特性登録部406は、OSが動作するための最小メモ
リサイズや、動作のために必須の物理メモリ領域に関す
る情報、OSの切り替えのために停止状態に移行する場
合にサスペンド機能を用いるかどうかといったOS固有
の情報を登録して保持する。OSブートローダ登録部4
07は、各OSのブートローダの二次記憶装置上のアド
レスを登録して保持する。
【0045】OS#1用論理メモリブロック410、O
S#2用論理メモリブロック420及びOS#3用論理
メモリブロック430には、それぞれ、個別制御部20
のOS情報設定手段21に対応する機能実行部として、
専用セットアップユーティリティ411、421、43
1がロードされている。また、OS切り替えインタフェ
ース手段22に対応する機能実行部として、OS切り替
えユーザインタフェース(UI)412、422、43
2がロードされている。さらに、各OSにおける停止状
態と動作状態とを切り替えるのに各OSがサポートする
サスペンド機能及びレジューム機能を用いることから、
サスペンド制御部413、423、433及びレジュー
ム制御部414、424、434がロードされている。
さらにまた、システム全体としては動作を継続しなが
ら、各OSが個別に単独で終了できるように、仮想シャ
ットダウン制御部415、425、435がロードされ
ている。なお、本実施の形態では、仮想シャットダウン
制御部415、425、435は必須の構成要件ではな
く、各OSを単独で終了させる必要がなければ設けなく
ても良い。
【0046】専用セットアップユーティリティ411、
421、431は、共存させる各OSをロードするメモ
リ領域の位置及びサイズ、各OSを動作させるために最
低限必要なメモリサイズ、各OSを起動するためのブー
トローダの二次記憶装置におけるアドレス、各OSを停
止状態や動作状態に移行させるための手段、動作上必須
のメモリ領域の開始物理アドレスとその長さ、さらに必
要ならば重複メモリ領域を退避するための二次記憶装置
内に確保された退避領域の開始アドレスといったOSの
起動及び切り替えにおいて用いる情報を設定して、メモ
リ論理分割制御部403、OS特性登録部406及びO
Sブートローダ登録部407に登録する。OS切り替え
ユーザインタフェース(UI)412、422、432
は、ランタイムにおけるOSの切り替えのために、切り
替え先のOSを指定して切り替え動作をスタートさせ
る。ユーザインタフェースの種類は、グラフィカルなも
のやキャラクタベースのものなど、OSの形態に合わせ
て任意に設定することができる。さらに例えば、専用ボ
タンの状態変化を検出するデバイスドライバから検出さ
れた状態変化の通知を受けて、そのボタンの現在の状態
に対応したOSに切り替わったり、キーボードのショー
トカットキーを受けてそれに対応するOSに切り替わっ
たりするような単純なユーザインタフェースでも良い。
サスペンド制御部413、423、433及びレジュー
ム制御部414、424、434は、OSがサポートす
る一般的なサスペンド機能及びレジューム機能にて実現
される。仮想シャットダウン制御部415、425、4
35は、上述したように、動作中のシステムにおいて、
自OSのみを単独で終了させる。実際の動作では、使用
中のOSで終了動作を行った場合に、システム全体のシ
ャットダウンか当該OSのみの終了かを選択し、後者を
選択した場合に、仮想シャットダウン制御部415、4
25、435による単一OSの終了が行われる。上述し
たように、仮想シャットダウン制御部415、425、
435は必須の構成要素ではないが、OSの切り替えに
サスペンド機能及びレジューム機能を用いる代わりに、
仮想シャットダウン制御部415、425、435によ
る単一OSの終了を介して、次のOSへの切り替えを実
現することができる。この場合の動作手順については後
述する。
【0047】次に、本実施の形態において、OS#1、
OS#2及びOS#3を共存させたコンピュータシステ
ムを起動させる手順について説明する。図5は当該コン
ピュータシステムの起動の手順を説明するフローチャー
ト、図6は当該起動時の状態遷移を説明する図である。
本実施の形態では、メモリ装置上の独立論理メモリブロ
ック400にマルチOS初期化部401、システム仮想
初期化部402、メモリ論理分割制御部403、仮想ブ
ート制御部404、OS切り替え制御部405、OS特
性登録部406及びOSブートローダ登録部407がロ
ードされることにより、複数OSの共存が実現する。し
たがって、システム起動時の最初の一連の動作の中で、
これらの機能実行部が独立論理メモリブロック400に
ロードされることが必要となる。これらの機能実行部を
ロードする手法としては種々の方法が考えられるが、こ
こでは、特定のOSと共にロードする方法と、最初に独
立論理メモリブロック400へのロードを行う方法とを
例示する。
【0048】まず、特定のOSと共に独立論理メモリブ
ロック400へロードする方法について説明する。この
手法では、システム起動時に最初にブートするOS(以
下、メインOSと称す)を特定しておき、当該OSの関
係ファイルとしてマルチOS初期化部401、システム
仮想初期化部402、メモリ論理分割制御部403、仮
想ブート制御部404、OS切り替え制御部405、O
S特性登録部406及びOSブートローダ登録部407
のプログラムを格納しておく。そして、当該OSをブー
トした際に、一緒にこれらの機能実行部をロードしてし
まう。この場合、2番目以降に起動するOSについて
は、マルチOS初期化部401、システム仮想初期化部
402、メモリ論理分割制御部403、仮想ブート制御
部404、OS切り替え制御部405、OS特性登録部
406及びOSブートローダ登録部407によりメモリ
領域の管理も含めて起動制御を行う。したがって、2番
目以降に起動するOSは、自分に割り当てられているメ
モリ領域をOSが本実施の形態によるOSの共存の仕組
みに対応している必要はない。しかし、最初に起動する
メインOSだけは、独立論理メモリブロック400にマ
ルチOS初期化部401、システム仮想初期化部402
及びメモリ論理分割制御部403がロードされる前に起
動するため、当該メインOSに割り当てられたメモリ領
域と、自OSを起動した後にマルチOS初期化部401
に制御を渡して停止状態に移行する動作手順とを、OS
自身が認識していることが必要である。
【0049】図5及び図6を参照してシステム起動時の
動作を説明する。本動作例では、OS#1をメインOS
として最初に起動する。システム起動時の動作の概略的
な流れを示す図5のフローチャートを参照すると、ま
ず、メインOSをブートした後(ステップ501、50
2)、他にブートするOSがあるか調べる(ステップ5
03、504)。起動するOSがある場合、次にブート
するOSを指定し(ステップ505)、当該OSをロー
ドするための論理メモリブロックを指定する(ステップ
506)。そして、動作中のOSをサスペンドし(ステ
ップ507)、次にブートするOSのブートローダを格
納した二次記憶装置上の位置を特定して(ステップ50
8)、ブートスタートする(ステップ509)。この
後、システム中に共存させる全てのOSをブートするま
でステップ503からステップ509までの動作を繰り
返す。システム中に共存させる全てのOSをブートした
ならば、所定のOSからOS切り替え要求が発行される
か、終了命令が発効されるまで、動作中のOSによる処
理が継続される(ステップ510、511、512)
【0050】次に、図6の状態遷移図を参照して具体的
に説明する。まず、システムの電源を投入してROMの
ブートスタートをすると、ROMコードがMBR(Mast
er Boot Record)をロードしてメインOSであるOS#
1のブートを開始する(参照)。上記のように、メイ
ンOSであるOS#1は、自OSがロードされるべきメ
モリ領域を認識しているので、OS#1に割り当てられ
たメモリ領域(図4のOS#1用論理メモリブロック4
10)に自動的にロードされる。OS#1が起動する
と、上述したように、メインOSであるOS#1のファ
イルとして格納されているマルチOS初期化部401、
システム仮想初期化部402、メモリ論理分割制御部4
03、仮想ブート制御部404、OS切り替え制御部4
05、OS特性登録部406及びOSブートローダ登録
部407のプログラムが独立論理メモリブロック400
にロードされる。したがって、これ以降のOS#2及び
OS#3の起動は、マルチOS初期化部401、システ
ム仮想初期化部402、メモリ論理分割制御部403、
仮想ブート制御部404、OS切り替え制御部405、
OS特性登録部406及びOSブートローダ登録部40
7により制御されることとなる。
【0051】OS#1は、ブートされて動作状態となっ
た後、他のOSを起動させるために制御をマルチOS初
期化部401に渡し、サスペンド制御部413により、
OS#1のサスペンド機能を用いて一時停止状態に移行
する(参照)。マルチOS初期化部401は、ま
ず、次のOS#2の動作環境を設定する際に、その利用
領域がOS#1の利用領域と衝突する物理メモリ(図
1、2の例では論理分割されたメモリ領域101)があ
るかどうかを、OS切り替え制御部405に問い合わせ
る。初期化時にOS特性登録部406からすでに共存す
る全てのOSにおける必須の物理メモリ領域に関する情
報を取得しているOS切り替え制御部405は、そのよ
うな領域があれば、その内容(OS#1のプログラムの
一部)を独立論理メモリブロック400に退避する。こ
こで、退避されるべきデータのサイズは共存させるOS
の種類に応じて個別的に定まる。したがって、独立論理
メモリブロック400のメモリサイズも共存させるOS
に応じて柔軟に設定される。既に述べたように、退避さ
れるべきデータのサイズ及び競合する物理メモリの位置
などの情報は、予めOS特性登録部406に登録されて
いる。なお、以上の動作において、衝突する物理メモリ
の内容の退避先を独立論理メモリブロック400とした
が、独立論理メモリブロック400の代わりに、図2で
記述した、二次記憶装置内に設けられた退避用の記憶領
域を用いても良い。上述したように、当該物理メモリの
内容の退避先は、独立論理メモリブロック400とする
ことも、二次記憶装置内の記憶領域とすることもできる
が、以下の説明においては、独立論理メモリブロック4
00に退避するものとして説明する。
【0052】次に、マルチOS初期化部401は、シス
テム仮想初期化部402にハードウェアの初期化を実行
させる。システム仮想初期化部402は、メモリ及びメ
モリ制御部を除く全てのハードウェアに対して、リブー
トでROMコードがハードウェアの初期設定をするのと
同様の初期化処理を行う。これにより、OS#2がブー
トする際のハードウェアの初期条件を同一にする。この
ようにして他のOSが既にメモリ上に存在しながら次の
OS#2のブートスタートが可能となった状態をシステ
ム仮想初期化状態と呼ぶ(参照)。
【0053】次に、マルチOS初期化部401は、OS
ブートローダ登録部407から2番目に起動するOS#
2のブートローダが格納されている二次記憶装置上のア
ドレスを取得する。そして、仮想ブート制御部404に
制御を渡し、当該アドレスの示す区画にアクセスして当
該ブートローダをメモリに展開させた後、当該ブートロ
ーダに制御を移す(参照)。この際、利用される主
記憶メモリは、OS#2用論理メモリブロック420で
あるが、ブート中のOS#2は、当該メモリ領域が当該
システムの持つ全てのメモリであると認識する。一般
に、OSは、起動時に当該マシンのメモリサイズやメモ
リアドレスが不連続ならば、そのメモリホールを認識す
るために全メモリマップを知る必要がある。通常、特定
のROM BIOSが提供するサービスでそのメモリに
関する情報を取得し、以後、その与えられた物理メモリ
の状況に順応してメモリを使い続ける。したがって、各
OSの起動時に与えられるメモリ情報を、マルチOS初
期化部401が意図的に論理分割したものに置き換える
だけで、同情報を取得した当該OSは、その論理分割メ
モリがマシンの持つすべての有効メモリであると認識す
る。
【0054】以下、同様にして、動作状態となったOS
#2は、サスペンド制御部423により、OS#2のサ
スペンド機能を用いて一時停止状態に移行し、他のOS
を起動させるために制御をマルチOS初期化部401に
渡す(参照)。そして、競合するメモリ領域を検出
してその内容(OS#2のプログラムの一部)を独立論
理メモリブロック400に退避し、ハードウェアをシス
テム仮想初期化状態にする(参照)。この後、OS#
3のブートローダがOS#3用論理メモリブロック43
0に展開され、制御が移される(参照)。これによ
り、3番目のOS#3が動作状態となる(10参照)。以
上の動作の結果、OS#1、OS#2及びOS#3の三
つのOSが全て起動し終わり、マルチOS動作環境が構
築された時点で、先に起動したOS#1及びOS#2が
サスペンド機能による一時停止状態となり、最後に起動
したOS#3が動作状態となる。
【0055】次に、全てのOSに先立って独立論理メモ
リブロック400へのロードを行う方法について説明す
る。この手法では、独立論理メモリブロック400にロ
ードするマルチOS初期化部401、システム仮想初期
化部402、メモリ論理分割制御部403、仮想ブート
制御部404、OS切り替え制御部405、OS特性登
録部406及びOSブートローダ登録部407を含むプ
ログラムパッケージを独立のOSのように扱い、共存さ
せようとする全てのOSに先立ってブートする。したが
って、二次記憶装置上に専用の独立した区画が用意され
る。この場合、全てのOSは、上記メインOSのブート
時に独立論理メモリブロック400へのロードを行う方
法における2番目以降にブートするOSに相当すること
となる。したがって、上記メインOSのように、割り当
てられたメモリ領域と、自OSを起動した後にマルチO
S初期化部401に制御を渡して停止状態に移行する動
作手順とを自ら認識しているようなOSを設ける必要は
ない。
【0056】システム起動時の具体的な動作について
は、図5において、ステップ501、502でメインO
Sの代わりに、マルチOS初期化部401、システム仮
想初期化部402、メモリ論理分割制御部403、仮想
ブート制御部404、OS切り替え制御部405、OS
特性登録部406及びOSブートローダ登録部407を
含むプログラムパッケージをブートする他は、メインO
Sを設定して起動する場合と同様である。また、図6に
おいて、OS#1をブートする前にマルチOS初期化部
401、システム仮想初期化部402、メモリ論理分割
制御部403、仮想ブート制御部404、OS切り替え
制御部405、OS特性登録部406及びOSブートロ
ーダ登録部407を含むプログラムパッケージをブート
してしまうため、ROMのブートスタートの後、独立論
理メモリブロック400へのプログラムのロードが終了
し、システム仮想初期化状態となる。その後、OS#
1、OS#2、OS#3の順にブートを行う。各OSの
ブートの際の状態遷移は、上述したメインOSとしてO
S#1を起動する場合と同様であるため、説明を省略す
る。
【0057】次に、ランタイムにおけるOSの切り替え
動作について説明する。図7はOSの切り替え処理の手
順を説明するフローチャート、図8は当該OS切り替え
時の状態遷移を説明する図である。図5のフローチャー
トにおいて、ステップ511で、所定のOSのOS切り
替えユーザインタフェース412、422、432から
OSの切り替え要求が発行されると、図7の処理へ移行
する。そして、個別制御部20において動作中のOSを
サスペンドした後(ステップ701)、統括制御部10
へ移って当該切り替え要求において指定されたOSを次
に稼働させるOSとし(ステップ702)、当該OSに
対応した論理メモリブロックを指定する(ステップ70
3)。そして、指定されたOSのレジューム制御部41
4、424、434を使って次のOSを動作状態に移行
させる(ステップ704)。なお、OSの切り替えに伴
って衝突する物理メモリがある場合には、その内容を独
立論理メモリブロック400または二次記憶装置内の記
憶領域に退避することとなるが、本動作においても、独
立論理メモリブロック400に退避するものとして説明
する。
【0058】次に、図4のブロック図及び図8の状態遷
移図を参照して説明する。まず、OS#3が動作中であ
る場合を考える。この状況は、前述したマルチOS動作
環境の構築が完了した直後と同じ状態である。この状態
で、例えば、ユーザが、OS#3のOS切り替えユーザ
インタフェース432によりOS#1への切り替えを要
求したものとする。すると、OS#3で動作するサスペ
ンド制御部433に実行権が移り、OS#3はサスペン
ド状態へ遷移する。続いて統括制御部10へ移って、O
S切り替えユーザインタフェース432において切り替
え先として指定されたOSは、独立論理メモリブロック
400のOS切り替え制御部405に伝達される。サス
ペンド処理によりシステムのハードウェアコンテキスト
が保存されると、OS切り替え制御部405は、OS#
1の状態をレジュームへ遷移させるためにOS#1のレ
ジューム制御部414に実行権を移す。レジューム制御
部414は、ハードウェアコンテキストを、OS#1が
サスペンドする際に保存した状態に回復する。サスペン
ドされていたOS#1のメモリコンテキストは、OS#
3の動作中もそのまま保存され続けている。したがっ
て、ハードウェアコンテキストが回復して、OS#1が
以前にサスペンドに遷移したときに実行していた最後の
アドレスの直後からその実行を再開すれば、OS#1に
とっては単なるサスペンドからのレジュームと同様にし
て稼働を再開することができる。動作状態に復帰したO
S#1は、レジューム処理において時刻情報を調整した
り、サスペンド以前にネットワークに接続していた場合
にはネットワークリンクをその時の接続状態に回復した
りする。以上のように、OSをリブートすることなく、
サスペンド機能及びレジューム機能を用いてOSの切り
替えを行うため、きわめて高速にOSの切り替えを行う
ことができる。
【0059】次に、システム終了時の動作について説明
する。上述したように、OS#1用論理メモリブロック
410、OS#2用論理メモリブロック420及びOS
#3用論理メモリブロック430のそれぞれに仮想シャ
ットダウン制御部415、425、435がロードされ
ている場合、動作中のOSを終了させる際に当該OSの
みを終了させるのかシステム全体を終了させるのかを選
択することができる。
【0060】図9は、この場合の動作手順を説明するフ
ローチャートである。図5のフローチャートにおいて、
ステップ512で、動作中のOSを終了させる要求が発
行されると、図9の処理へ移行する。そして、終了の種
類(当該OSのみの終了またはシステム全体の終了)を
ユーザに選択させるためのダイアログボックスを表示す
る(ステップ901)。当該OSのみを終了させる選択
がなされた場合、当該OSを終了して(ステップ90
2、903)、他のOSを動作状態に移行させる(ステ
ップ904)。ここで、動作状態に移行させるOSは、
終了処理の中で選択させても良いし、予め設定しておい
ても良い。予め設定しておく場合は、固定的に特定のO
Sを動作状態に移行させることもできるし、OS#1を
終了させたときはOS#2を、OS#2を終了させたと
きはOS#3を、OS#3を終了させたときはOS#1
を動作状態に移行させるというように、終了させるOS
との関係で相対的に次に動作状態となるOSが定まるよ
うにすることもできる。また、システム全体を終了させ
る選択がなされた場合、次にリブートが要求されればR
OMのブートエントリへ飛んでシステム全体を再起動す
る(ステップ905、906)。一方、リブートが要求
されなかったならば、そのままコンピュータの電源を遮
断する(ステップ905、907)。
【0061】図10は、本実施の形態を実現する論理分
割されたメモリ装置における論理メモリブロックの他の
構成例を説明する図である。図10に示すメモリ装置
は、図4と同様に、OS#1用論理メモリブロック41
0と、OS#2用論理メモリブロック420と、OS#
3用論理メモリブロック430と、OSから独立した独
立論理メモリブロック400とを備え、OS#1、OS
#2及びOS#3の三つのOSを共存させる。また、図
示しないが、OS#1、OS#2及びOS#3に共有さ
れる論理メモリブロックを備えることも同様である。た
だし、OS#2はサスペンド機能及びレジューム機能を
備えていないものとする。
【0062】図10を参照すると、独立論理メモリブロ
ック400は、統括制御部10のOS起動制御手段11
に対応する機能実行部として、マルチOS初期化部40
1、システム仮想初期化部402、メモリ論理分割制御
部403及び仮想ブート制御部404がロードされてい
る。また、OS切り替え制御手段12に対応する機能実
行部としてOS切り替え制御部405がロードされてい
る。さらに、共用情報格納手段13に対応する機能実行
部としてOS特性登録部406及びOSブートローダ登
録部407がロードされている。
【0063】また、OS#1用論理メモリブロック41
0、OS#2用論理メモリブロック420及びOS#3
用論理メモリブロック430には、それぞれ、個別制御
部20のOS情報設定手段21に対応する機能実行部と
して、専用セットアップユーティリティ411、42
1、431がロードされている。また、OS切り替えイ
ンタフェース手段22に対応する機能実行部として、O
S切り替えユーザインタフェース(UI)412、42
2、432がロードされている。さらに、OS#1用論
理メモリブロック410及びOS#3用論理メモリブロ
ック430には、OS#1及びOS#2が各OSにおけ
る停止状態と動作状態とを切り替えるのに各OSがサポ
ートするサスペンド機能及びレジューム機能を用いるこ
とから、サスペンド制御部413、433及びレジュー
ム制御部414、434がロードされている。OS#2
用論理メモリブロック420においては、OS#2がサ
スペンド機能及びレジューム機能を有さないため、サス
ペンド制御部及びレジューム制御部はロードされていな
い。
【0064】さらにまた、システム全体としては動作を
継続しながら、各OSが個別に単独で終了できるよう
に、仮想シャットダウン制御部415、425、435
がロードされている。上述したように、OS#1及びO
S#3においては、仮想シャットダウン制御部415、
435は必須の構成要件ではない。しかし、サスペンド
機能及びレジューム機能を有さないOS#2では、OS
の切り替えにおいて、OS#2を単独で終了し、リブー
トによって動作状態に移行させるため、仮想シャットダ
ウン制御部425をロードすることが必須である。
【0065】次に、本実施の形態において、OS#1、
OS#2及びOS#3を共存させたコンピュータシステ
ムを起動させる手順について説明する。図11は当該コ
ンピュータシステムの起動時の手順を説明するフローチ
ャート、図12は当該起動時の状態遷移を説明する図で
ある。なお、本動作例においても、メモリ装置上の独立
論理メモリブロック400にマルチOS初期化部40
1、システム仮想初期化部402、メモリ論理分割制御
部403、仮想ブート制御部404、OS切り替え制御
部405、OS特性登録部406及びOSブートローダ
登録部407をロードする手法としては種々の方法が考
えられるが、ここでは、上述したメインOSと共に独立
論理メモリブロック400へのロードを行う場合の動作
のみを説明する。
【0066】図11のフローチャートにおいて、ステッ
プ1101からステップ1106までの動作は図5に示
したステップ501からステップ506までの動作と同
様であり、ステップ1111、1112、1113、1
114及び1115の動作は図5に示したステップ50
8、509、510、511及び512の動作と同様で
ある。本動作例では、OS#2がサスペンド機能及びレ
ジューム機能を持たないため、ステップ1106でOS
をロードするための論理メモリブロックを指定した後、
動作中のOSをサスペンド機能にて停止状態にするの
か、当該OSを終了するのかを選択する(ステップ11
07)。そして、OS#1及びOS#3のようにサスペ
ンド機能にて停止状態にする場合は、動作中のOSをサ
スペンドする(ステップ1108)。一方、OS#2の
ようにOSを終了する場合は、当該OSを単独で終了さ
せる(ステップ1109)。続いて、何れの場合でも、
システムをシステム仮想初期化状態にした後(ステップ
1110)、次のブートOSのブートローダの格納位置
を特定する(ステップ1111)。
【0067】次に、図12の状態遷移図を参照して具体
的に説明する。本動作例では、ROMのブートスタート
からメインOSであるOS#1を起動し、さらにOS#
1をサスペンド機能を用いて一時停止状態に移行させた
後、マルチOS初期化部401の制御の下、OS#2を
ブートするまでの動作(〜参照)は、図6に示した
動作と同様なので、詳細な説明を省略する。OS#2の
ブートが完了すると(参照)、OS#2のOS切り替
え用制御コードである仮想シャットダウン制御部425
も実行状態になる。そこで、OS#2は、仮想シャット
ダウン制御部425を用いて単独で終了する。そして、
終了処理の完了時にマルチOS初期化部401に制御を
渡す(参照)。マルチOS初期化部401は、競合
するメモリ領域の内容(OS#2のプログラムの一部)
を独立論理メモリブロック400に退避し、ハードウェ
アをシステム仮想初期化状態にする(参照)。この
後、OS#3のブートローダがOS#3用論理メモリブ
ロック430に展開され、制御が移される(参照)。
これにより、3番目のOS#3が動作状態となる(10参
照)。
【0068】次に、ランタイムにおけるOSの切り替え
動作について説明する。図13はOSの切り替え処理の
手順を説明するフローチャート、図14は当該OS切り
替え時の状態遷移を説明する図である。図11のフロー
チャートにおいて、ステップ1114で、所定のOSの
OS切り替えユーザインタフェース412、422、4
32からOSの切り替え要求が発行されると、図13の
処理へ移行する。まず個別制御部20において、動作中
のOSをサスペンド機能により停止状態とするのか終了
させるのかを判断し、当該動作中のOSをサスペンドま
たは終了させる(ステップ1301、1302、130
3)。次に、統括制御部10に移って、当該切り替え要
求において指定されたOSを次に稼働させるOSとし
(ステップ1304)、当該OSに対応した論理メモリ
ブロックを指定する(ステップ1305)。この後、当
該次に稼働させるOSがサスペンド状態にあるのか終了
しているのかを調べ、サスペンドによる一時停止状態で
あれば、個別制御部20に移って、当該OSのレジュー
ム機能により動作状態に移行させる(ステップ130
6、1307)。一方、当該OSが終了しているなら
ば、当該OSのブートローダを格納した二次記憶装置上
の位置を特定して(ステップ1308)、システムをシ
ステム仮想初期化状態とし(ステップ1309)、ブー
トスタートする(ステップ1310)。
【0069】次に、図14の状態遷移図を参照して説明
する。サスペンド機能及びレジューム機能を用いるOS
#1とOS#3との間の切り替えに関しては、図8を参
照して説明した動作とほぼ同様なので説明を省略する。
まず、OS#2への切り替え動作について説明する。例
えば、OS#1の稼働中に、ユーザが、OS#1のOS
切り替えユーザインタフェース412によりOS#2へ
の切り替えを要求したものとする。すると、OS#3で
動作するサスペンド制御部433に実行権が移り、OS
#3はハードウェアコンテキストが保存され、サスペン
ド状態へ遷移する。続いて統括制御部10に移って、O
S切り替えユーザインタフェース432において切り替
え先として指定されたOSを、独立論理メモリブロック
400のOS切り替え制御部405に伝達する。
【0070】OS切り替え制御部405は、まず、OS
特性登録部406に登録された情報からOS#2がシャ
ットダウンによる切り替えを行うことを判断する。な
お、本動作例では、切り替えの際にサスペンド機能及び
レジューム機能を用いるOS(OS#1、OS#3)
と、シャットダウンを用いるOS(OS#2)とが共存
しているため、次に稼働するOSがどちらを用いている
かの判断を必ず行う。次に、OS切り替え制御部405
は、システム仮想初期化部402に制御を渡して、メモ
リ及びメモリ制御部を除くシステムのハードウェアを、
ROMがOSへその実行権を引き渡す際に設定するよう
に初期化させる。すなわち、OS#2から見ると通常の
ブートであるかのような状況を作り出す。次に、OSブ
ートローダ登録部407からOS#2のブートローダが
格納されている二次記憶装置上のアドレスを取得する。
そして、仮想ブート制御部404に制御を渡し、当該ア
ドレスの示す区画にアクセスして当該ブートローダをメ
モリに展開させた後、当該ブートローダに制御を移す。
これにより、OS#2のブートが開始される。
【0071】OS#2は、ブートが開始されると、BI
OS等にメモリ構成を問い合わせる。BIOSに問い合
わせする場合、当該BIOSは、メモリ論理分割制御部
403にフックしておく。これにより、OS#2に割り
当てられたOS#2用論理メモリブロック420がOS
#2によって認識される。具体的には、仮想ブート制御
部404が、次にブートすべきOSに対応させて、OS
#2用論理メモリブロック420を予めOS特性登録部
406から読み出し、メモリ論理分割制御部403に設
定しておく。OS#2は切り替えをシャットダウンとリ
ブートにより行うので、OS#2が動作していないとき
は、結果としてOS#2用に配分された主記憶メモリは
未使用のまま残されていることになる。OS#2のブー
トが完了するとOS#1からOS#2への切り替えが完
了したことになる。
【0072】次に、OS#2から他のOSへの切り替え
動作について説明する。例えば、OS#2の稼働中に、
ユーザが、OS#2のOS切り替えユーザインタフェー
ス422によりOS#3への切り替えを要求したものと
する。OS#2は、切り替えにサスペンド機能を用いな
いので、OS#2の仮想シャットダウン制御部425
が、OS#2用のOS切り替えユーザインタフェース4
22からの指示を受けて、シャットダウンを開始する。
【0073】OS#2の仮想シャットダウン制御部42
5が、シャットダウンを完了すると、OS切り替え制御
部405に制御が移る。OS切り替え制御部405は、
まず、OS特性登録部406に登録された情報からOS
#3がサスペンド機能及びレジューム機能による切り替
えを行うことを判断する。そこで、OS#3のレジュー
ム制御部434へ実行権を移して、OS#3の状態をレ
ジュームへ遷移させ、ハードウェアコンテキストを、O
S#3がサスペンドする際に保存した状態に回復する。
サスペンドされていたOS#3のメモリコンテキスト
は、OS#2の動作中もそのまま保存され続けている。
したがって、ハードウェアコンテキストが回復して、O
S#3が以前にサスペンドに遷移したときに実行してい
た最後のアドレスの直後からその実行を再開すれば、O
S#3にとっては単なるサスペンドからのレジュームと
同様にして稼働を再開することができる。動作状態に復
帰したOS#3は、レジューム処理において時刻情報を
調整したり、サスペンド以前にネットワークに接続して
いた場合にはネットワークリンクをその時の接続状態に
回復したりする。
【0074】以上のように、サスペンド機能及びレジュ
ーム機能を有さないOSであっても、独立論理メモリブ
ロック400にロードされたマルチOS初期化部40
1、システム仮想初期化部402、メモリ論理分割制御
部403、仮想ブート制御部404、OS切り替え制御
部405、OS特性登録部406及びOSブートローダ
登録部407による統括的な制御と、システム仮想初期
化状態を介するブート処理とにより、ランタイムにおけ
るOSからの操作で共存するOSの切り替えを行うこと
ができる。なお、本動作例におけるOS#2のように、
サスペンド機能及びレジューム機能を有さないOSにお
いてはシャットダウン及びリブートを用いて切り替えを
行うため、サスペンド機能及びレジューム機能を用いる
場合に比べて切り替えに要する時間がかかる。しかしな
がら、常駐プログラムが少ない場合や、ブート及びシャ
ットダウンに要する時間が短いOSであれば、サスペン
ド機能及びレジューム機能を用いるOSと共存させても
それほど利便性が落ちることはない。このことに基づい
て、サスペンド機能及びレジューム機能を有するOSに
おいても、動作状態に復帰した際に、ハードウェアのコ
ンテキストやメモリコンテキストを停止前の状態に戻す
必要がないならば、シャットダウン及びリブートを用い
た切り替えを行うようにしても良い。
【0075】図15は、本発明により論理分割されたメ
モリマップの他の構成例を示す図であり、OS#1とO
S#2の二つのOSを共存させた場合のメモリマップの
構成を示す。図15において、各OSが固定的に使用す
る0〜1MBのメモリ領域101とOSの切り替え等の
作業に用いる独立したメモリ領域104を除くメモリ領
域のうち、空白で示した領域がOS#1に割り当てられ
たメモリ領域102であり、斜線を付した領域がOS#
2に割り当てられたメモリ領域103である。ここで、
メモリ領域102とメモリ領域103との関係は、一方
のOSが、自己のメモリ領域の中から一定の仮想記憶メ
モリを取得して、他方のOSのために保持し続けている
状態である。仮にOS#2がOS#1のために仮想記憶
メモリを保持する場合を考えると、メモリ領域101、
104を除く領域は、初期的にはOS#2のために全て
割り当てられる。そして、OS#2が当該メモリ領域の
中から一定の仮想記憶メモリを取得することによって、
OS#1を動作させるためのメモリ領域を確保してい
る。
【0076】OS#1に割り当てられるメモリ領域10
2は仮想記憶メモリとして取得されるため、物理アドレ
ス空間においては図15に示すようにとびとびの領域と
なる。これに伴って、メモリ領域103も物理アドレス
空間においてとびとびの領域となっている。しかし、各
OSが扱う論理アドレス空間においては、それぞれ連続
した一つのメモリ領域として扱うことができる。
【0077】図16は、本実施の形態における複数のO
Sを共存させたコンピュータシステムのシステム構成を
説明する図である。本実施の形態においても、図3に示
した実施の形態と同様に、システム中に共存する複数の
OSを統括的に制御するための統括制御部10と、OS
ごとに個別に用意される個別制御部20とを備える。ま
た、本実施の形態では、最初にメモリ領域を割り当てら
れるOSにおいて、他のOSに対しメモリ領域として仮
想記憶メモリを取得して割り当てるための仮想記憶メモ
リ管理手段23を備える。仮想記憶メモリ管理手段23
は、メモリ装置におけるメモリ領域のうち統括制御部1
0の機能を実現するプログラムをロードするための独立
のメモリ領域(図15のメモリ領域104)を除く領域
にロードされたOS上で動作し、他のOSをロードする
メモリ領域として仮想記憶メモリを確保する。
【0078】図17は、本実施の形態を実現する論理分
割されたメモリ装置における論理メモリブロックの構成
を説明する図である。図17に示すメモリ装置は、OS
#1、OS#2及びOS#3の三つのOSを共存させ
る。したがって、OS#1用論理メモリブロック410
と、OS#2用論理メモリブロック420と、OS#3
用論理メモリブロック430と、OSから独立した独立
論理メモリブロック400とを備える。また、図示しな
いが、メモリ装置は、OS#1、OS#2及びOS#3
に共有される論理メモリブロックを備える。ただし、こ
の共有される論理メモリブロックは、OS#1、OS#
2及びOS#3のうちのいずれかが動作状態にある時
に、当該動作中のOS用の論理メモリブロックとして用
いられる。さらに、OS#2用論理メモリブロック42
0とOS#3用論理メモリブロック430とは、OS#
1をロードしたメモリ領域において、仮想記憶メモリと
して取得されたメモリ領域にて構成される。
【0079】図17において、独立論理メモリブロック
400には、統括制御部10のOS起動制御手段11に
対応する機能実行部として、マルチOS初期化部40
1、システム仮想初期化部402、メモリ論理分割制御
部403及び仮想ブート制御部404がロードされてい
る。また、OS切り替え制御手段12に対応する機能実
行部としてOS切り替え制御部405がロードされてい
る。さらに、共用情報格納手段13に対応する機能実行
部としてOS特性登録部406及びOSブートローダ登
録部407がロードされている。
【0080】また、OS#1用論理メモリブロック41
0、OS#2用論理メモリブロック420及びOS#3
用論理メモリブロック430には、それぞれ、個別制御
部20のOS情報設定手段21に対応する機能実行部と
して、専用セットアップユーティリティ411、42
1、431がロードされている。また、OS切り替えイ
ンタフェース手段22に対応する機能実行部として、O
S切り替えユーザインタフェース(UI)412、42
2、432がロードされている。
【0081】さらに、OS#1用論理メモリブロック4
10及びOS#3用論理メモリブロック430には、O
S#1及びOS#2が各OSにおける停止状態と動作状
態とを切り替えるのに各OSがサポートするサスペンド
機能及びレジューム機能を用いることから、サスペンド
制御部413、433及びレジューム制御部414、4
34がロードされている。OS#2用論理メモリブロッ
ク420においては、OS#2がサスペンド機能及びレ
ジューム機能を有さないため、サスペンド制御部及びレ
ジューム制御部はロードされていない。
【0082】さらにまた、システム全体としては動作を
継続しながら、各OSが個別に単独で終了できるよう
に、仮想シャットダウン制御部415、425、435
がロードされている。サスペンド機能及びレジューム機
能を有するOS#1及びOS#3においては、仮想シャ
ットダウン制御部415、435は必須の構成要件では
ない。しかし、サスペンド機能及びレジューム機能を有
さないOS#2では、OSの切り替えにおいて、OS#
2を単独で終了し、リブートによって動作状態に移行さ
せるため、仮想シャットダウン制御部425をロードす
ることが必須である。
【0083】また、OS#1用論理メモリブロック41
0には、仮想記憶メモリ管理手段23に対応する機能実
行部として、仮想記憶メモリ取得及び管理部416がロ
ードされている。仮想記憶メモリ取得及び管理部416
は、OS#1上で動作し、OS#1がロードされている
メモリ領域上に、他のOS(OS#2及びOS#3)を
ロードするための一定の領域を、仮想記憶メモリとして
確保する。仮想記憶メモリの取得は、図18に示すよう
に、OS#1のメモリマネージャに対してメモリ取得要
求を発行し、当該メモリマネージャから確保したメモリ
領域の先頭アドレスとそのサイズを受け取ることにより
行われる。また、仮想記憶メモリ取得及び管理部416
は、システム起動時にOS#1のブートに伴ってロード
される。
【0084】仮想記憶メモリは、一定の領域を固定的に
常時確保しておいても良いし、他のOSへ切り替えるた
びに個別に確保しても良い。また、OS#2用には常時
確保しておき、OS#3用の領域はOS#3へ切り替え
るときに確保するようにするというように、OSごとに
別個の方法を取ることも可能である。ただし、OSを切
り替えるたびに個別に確保する場合は、直接OS#1に
戻ったり、他のOSに切り替えた後にOS#1に戻った
りすることによって当該OSの使用を終了した場合に、
確保した仮想記憶メモリを解放する。これにより、当該
OSの使用終了後のOS#1または他のOSにおいて使
用できるメモリサイズが増加するため、メモリ領域を経
済的に使用することができる。仮想記憶メモリの具体的
な取得方法については後述する。
【0085】本実施の形態においても、図17に示した
独立論理メモリブロック400における各機能実行部を
ロードする手段として、特定のOSと共にロードする方
法や、最初に独立論理メモリブロック400へのロード
を行う方法など、種々の方法を取ることができる。ただ
し、本実施の形態では、OS#1は独立論理メモリブロ
ック400を除く全てのメモリ領域を用いてロードする
ので、最初にOS#1をブートし、これに伴って独立論
理メモリブロック400の各機能実行部をロードする手
法を取ることが容易である。この場合、独立論理メモリ
ブロック400の各機能実行部を実現するプログラム
は、初期的にはOS#1のファイルとしてロードされる
ので、OS#1自体はロードされるメモリ領域を全く意
識することなくブートすることができる。
【0086】図19は、仮想記憶メモリ取得及び管理部
416による仮想記憶メモリの取得動作を説明するフロ
ーチャートである。この動作は、OS#1が停止状態に
移行するためにサスペンド制御部413に制御が移った
際に、当該サスペンド制御部413から呼び出される。
図19を参照すると、まず取得する仮想記憶メモリのタ
イプをページャブル(Pagable)メモリに設定する(ス
テップ1901)。次に、切り替え先のOSの使用頻
度、すなわち、今回使用した後しばらく使用しないの
か、または度々切り替えて使用するのかを調べる(ステ
ップ1902)。切り替え先のOSの使用頻度が高い場
合は、さらに、当該切り替え先のOSがOSを切り替え
るための停止状態に移行するためにサスペンド機能を用
いるかどうかを調べる(ステップ1903)。そして、
サスペンド機能を用いる場合は、取得する仮想記憶メモ
リのタイプをノン・ページャブル(Non-pagable)メモ
リに設定し直す(ステップ1904)。切り替え先のO
Sの使用頻度が低い場合や、切り替え先のOSが停止状
態に移行するためにサスペンド機能を用いない場合は、
取得する仮想記憶メモリのタイプはページャブルメモリ
のままとする。
【0087】ここで、初期的に取得する仮想記憶メモリ
のタイプをページャブルメモリとするのは、ページャブ
ルメモリがOSのメモリマネージャにとって比較的確保
しやすいコストの安いメモリ領域だからである。しか
し、ページャブルメモリは、取得元のデバイスドライバ
である仮想記憶メモリ取得及び管理部416が認識しな
いうちに、OSのメモリマネージャによってスワップア
ウトされてしまう可能性がある。つまり、OS切り替え
直前にページャブルメモリを確保して、そのメモリ領域
を他のOSへ与えても、当該OSに戻ってきてしばらく
当該OSで動作中にスワップアウトされてしまう可能性
が高い。そのため、再度同様に以前のOSに切り替わる
際に、以前と同じ物理メモリ領域とは限らないというこ
とである。これに対して、ノン・ページャブルメモリ
は、一旦取得すれば全く他の介入を受けない。そこで、
切り替え先のOSを頻繁に使用し、かつ停止状態とする
際にサスペンド機能を用いて使用していたOSコンテキ
ストを保持したい場合は、取得する仮想記憶メモリのタ
イプをノン・ページャブルメモリに切り替える必要があ
る。さらに、たとえ1回限りの利用のための切り替えの
場合でも、確保しなければならない仮想メモリ領域のサ
イズが大きい場合には、ページャブルメモリとして同サ
イズ分実際のメモリ領域が確保されない場合もある。何
故なら、仮想記憶メモリ管理では一般に、実際に利用す
る段階で他の用途で利用中のメモリをスワップアウトし
て逐次確保する方式が採用されているからである。した
がって、図19においてページャブルメモリの取得とし
て記述されている例であっても、特定の場合(当該マシ
ンの全搭載メモリサイズ、要求する仮想メモリのサイ
ズ、その時点で動作中の他のタスクの状況など様々な要
因)によっては、ノン・ページャブルメモリを要求する
場合もありうる。なお、OSの使用頻度やサスペンド機
能を用いるかどうかといった情報は、各OSの専用セッ
トアップユーティリティ411、421、431におい
て設定し、OS特性登録部406に登録しておくことが
できる。
【0088】取得する仮想記憶メモリのタイプが決まっ
たならば、ロードするOSが必要とする動作メモリのサ
イズをメモリ論理分割制御部403から取得する(ステ
ップ1905)。次に、取得したメモリサイズ分の仮想
記憶メモリをOS#1のメモリマネージャから取得する
(ステップ1906)。そして、取得した仮想記憶メモ
リによる切り替え先のOS用の論理メモリブロックをサ
スペンド制御部413に返す(ステップ1907)。
【0089】上述したように、以上の動作はOS#1が
停止状態に移行する際に、サスペンド制御部413によ
る呼び出しに応じて実行される。すなわち、OS#1の
OS切り替えユーザインタフェース412からの要求で
開始されるOS切り替えイベントに応じて、サスペンド
制御部413によってその都度呼び出されて実行され
る。これは、切り替え先のOSの使用頻度が低く追加的
に呼び出される(切り替えられる)だけで、当該OSの
ためにシステムの起動時から固定的にメモリ領域を確保
しておくことが、メモリの利用効率から見て好ましくな
い場合に適している。これに対し、使用頻度が高く相手
OSがサスペンド機能を使って切り替えを行うと判って
いる場合には、OS#1をブートした際に、仮想記憶メ
モリ取得及び管理部416の初期化ルーチンでノン・ペ
ージャブルメモリの確保を予め行っても良い。これは、
予め所定のOSをOS#1と共存させることが指定され
ている場合、すなわち、OS#1を含む複数のOSの使
用頻度にあまり差がない場合に適している。
【0090】次に、OSをロードするために確保した仮
想記憶メモリを解放する処理について説明する。1回限
りで追加的に呼び出されたOSの利用が終わった場合
や、当該OSがサスペンド機能を持たず切り替え時にシ
ャットダウンとリブートを行う場合は、確保して保持し
ておいても非効率なので、当該OSからOS#1に戻っ
た時点で、当該OSのために確保された仮想記憶メモリ
を解放する。さらに、呼び出されたOS(OS#2やO
S#3)のOS切り替えユーザインタフェース422、
432から当該OSの利用予定が今後ない旨の指示がユ
ーザー自身によって切り替え指示と併せて発行された場
合にも、メモリ論理分割制御部406を経てOS#1に
伝達され、それを受けてOS#1のレジューム制御部4
14の指示により、仮想記憶メモリ取得及び管理部41
6がOS#1のメモリマネージャに仮想記憶メモリの解
放を依頼することにより実行される。
【0091】本実施の形態におけるその他の動作、すな
わち、システム起動時における各OSのブート及び独立
論理メモリブロック400への機能実行部のロードと、
ランタイムにおけるOSの切り替えにおけるサスペンド
制御部413、433、レジューム制御部414、43
4、仮想シャットダウン制御部425、OS切り替え制
御部405等の動作は、図5乃至図9及び図11乃至図
14を参照して説明した動作と同様であるため説明を省
略する。
【0092】なお、上述した各実施の形態においては、
各OSへのメモリ領域の割り当てを、各OSのOS情報
設定手段(専用セットアップユーティリティ)にて設定
し、共用情報格納手段に登録しておいて、各OSのブー
ト時に対応する論理メモリブロック(割り当てられたメ
モリ領域)の情報を参照することとした。ここで、OS
と論理メモリブロックとの対応を取る手法としては種々
の方法を用いることができる。例えば、予めブートの順
番を決定しておき、その順番に対応させて割り振った論
理メモリブロックを固定的に各OSに返すようにしても
良いし、OSのID情報を設定しておき、当該IDを用
いて予め登録してある論理メモリブロックを対応付けて
も良い。また、OSが、本発明によるOSを共存させる
機能を前提として設計されているならば、そのOS自体
が適当な(または最小動作)サイズのメモリ領域をシス
テム側に伝えて要求する方法を取っても良い。
【0093】
【発明の効果】以上説明したように、本発明によれば、
単一システム内に共存させた複数のオペレーティングシ
ステムを高速に切り替えて使用できる環境を提供するこ
とができる。
【0094】また、単一システム内に共存させた複数の
オペレーティングシステムを切り替えた際に、切り替え
前の状態を保存しておき、再度当該オペレーティングシ
ステムに切り替えた際に、切り替え前の状態を復帰でき
るようにすることができる。
【図面の簡単な説明】
【図1】 本発明により論理分割されたメモリマップの
構成例を示す図である。
【図2】 本発明による複数OSの切り替えのイメージ
を説明する概念図である。
【図3】 本実施の形態における複数のOSを共存させ
たコンピュータシステムのシステム構成を説明する図で
ある。
【図4】 本実施の形態を実現する論理分割されたメモ
リ装置における論理メモリブロックの構成を説明する図
である。
【図5】 コンピュータシステムの起動の手順を説明す
るフローチャートである。
【図6】 図5に示すコンピュータシステムの起動時の
状態遷移を説明する図である。
【図7】 OSの切り替え処理の手順を説明するフロー
チャートである。
【図8】 図7に示すOS切り替え時の状態遷移を説明
する図である。
【図9】 システム終了時の動作手順を説明するフロー
チャートである。
【図10】 本実施の形態を実現する論理分割されたメ
モリ装置における論理メモリブロックの他の構成例を説
明する図である。
【図11】 本実施の形態における他のコンピュータシ
ステムの起動時の手順を説明するフローチャートであ
る。
【図12】 図11に示すコンピュータシステムの起動
時の状態遷移を説明する図である。
【図13】 OSの切り替え処理の手順を説明するフロ
ーチャートである。
【図14】 図13に示すOS切り替え時の状態遷移を
説明する図である。
【図15】 本発明により論理分割されたメモリマップ
の他の構成例を示す図である。
【図16】 本実施の形態における複数のOSを共存さ
せたコンピュータシステムのシステム構成を説明する図
である。
【図17】 本実施の形態を実現する論理分割されたメ
モリ装置における論理メモリブロックの構成を説明する
図である。
【図18】 本実施の形態における仮想記憶メモリ取得
及び管理部がOSのメモリマネージャに対してメモリ取
得要求を行う様子を説明する図である。
【図19】 仮想記憶メモリ取得及び管理部による仮想
記憶メモリの取得動作を説明するフローチャートであ
る。
【図20】 サスペンド及びレジューム動作を説明する
図である。
【符号の説明】
10…統括制御部、11…OS起動制御手段、12…O
S切り替え制御手段、13…共用情報格納手段、20…
個別制御部、21…OS情報設定手段、22…OS切り
替えインタフェース手段、23…仮想記憶メモリ管理手
段、101、102、103、104…メモリ領域、4
00…独立論理メモリブロック、401…マルチOS初
期化部、402…システム仮想初期化部、403…メモ
リ論理分割制御部、404…仮想ブート制御部、405
…OS切り替え制御部、406…OS特性登録部、40
7…OSブートローダ登録部、410…OS#1用論理
メモリブロック、411、421、431…専用セット
アップユーティリティ、412、422、432…OS
切り替えユーザインタフェース(UI)、413、42
3、433…サスペンド制御部、414、424、43
4…レジューム制御部、415、425、435…仮想
シャットダウン制御部、416…仮想記憶メモリ取得及
び管理部、420…OS#2用論理メモリブロック、4
30…OS#3用論理メモリブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 下遠野 享 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 Fターム(参考) 5B098 HH01 HH04

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 複数のオペレーティングシステムを搭載
    し、各オペレーティングシステムを切り替えて使用する
    コンピュータシステムにおいて、 メモリ装置のメモリ領域を論理分割して、複数の前記オ
    ペレーティングシステムに個別に対応付けられた複数の
    オペレーティングシステム用メモリ領域と、複数の前記
    オペレーティングシステムのいずれにも対応付けられな
    い独立したメモリ領域とを設け、 前記オペレーティングシステム用メモリ領域に個別にロ
    ードされた前記オペレーティングシステム上で動作し、
    使用するオペレーティングシステムの切り替え指示を発
    行するためのインタフェース手段と、 前記オペレーティングシステム用メモリ領域に個別にロ
    ードされた前記オペレーティングシステム上で動作し、
    前記オペレーティングシステムの動作コンテキストに関
    する情報を自オペレーティングシステムに割り当てられ
    たオペレーティングシステム用メモリ領域に保存して当
    該オペレーティングシステムを一時停止状態にするサス
    ペンド制御手段と、 前記オペレーティングシステム用メモリ領域に個別にロ
    ードされた前記オペレーティングシステム上で動作し、
    一時停止状態にある前記オペレーティングシステムを動
    作状態に移行させると共に、前記オペレーティングシス
    テム用メモリ領域に保存されている自オペレーティング
    システムの動作コンテキストに関する情報に基づいて自
    オペレーティングシステムが一時停止状態に移行する直
    前の動作コンテキストを回復させるレジューム制御手段
    と、 複数の前記オペレーティングシステムのいずれからも独
    立して動作し、前記インタフェース手段からの前記オペ
    レーティングシステムの切り替え指示を受け取り、当該
    切り替え指示を発行したオペレーティングシステムが前
    記サスペンド制御手段により一時停止状態に移行するの
    を待って、当該切り替え指示にて示された切り替え先オ
    ペレーティングシステムのレジューム制御手段に対して
    当該切り替え先オペレーティングシステムを動作状態に
    移行させるオペレーティングシステム切り替え制御手段
    とを備えたことを特徴とするコンピュータシステム。
  2. 【請求項2】 前記オペレーティングシステム切り替え
    制御手段は、 複数の前記オペレーティングシステムが前記メモリ装置
    のメモリ領域のうちの特定の領域を重複して使用する場
    合に、前記切り替え先オペレーティングシステムを動作
    状態に移行させる前に、一時停止状態となった前記オペ
    レーティングシステムが当該特定領域にロードした内容
    を前記独立したメモリ領域または二次記憶装置に退避さ
    せることを特徴とする請求項1に記載のコンピュータシ
    ステム。
  3. 【請求項3】 複数のオペレーティングシステムを搭載
    し、各オペレーティングシステムを切り替えて使用する
    コンピュータシステムにおいて、 メモリ装置のメモリ領域を論理分割して、前記オペレー
    ティングシステムに対応付けられたオペレーティングシ
    ステム用メモリ領域と、複数の前記オペレーティングシ
    ステムのいずれにも対応付けられない独立したメモリ領
    域とを設け、 複数の前記オペレーティングシステムのうちで、前記コ
    ンピュータシステムの起動時に最初に前記オペレーティ
    ングシステム用メモリ領域にブートされるメイン・オペ
    レーティングシステムが、 前記オペレーティングシステム用メモリ領域上に、他の
    前記オペレーティングシステムをロードするためのメモ
    リ領域を仮想記憶メモリとして確保する仮想記憶メモリ
    管理手段と、 前記オペレーティングシステムの動作コンテキストに関
    する情報をオペレーティングシステム用メモリ領域に保
    存して当該オペレーティングシステムを一時停止状態に
    するサスペンド制御手段と、 一時停止状態にある前記オペレーティングシステムを動
    作状態に移行させると共に、オペレーティングシステム
    用メモリ領域に保存されている自オペレーティングシス
    テムの動作コンテキストに関する情報に基づいて自オペ
    レーティングシステムが一時停止状態に移行する直前の
    動作コンテキストを回復させるレジューム制御手段とを
    備え、 前記メイン・オペレーティングシステムから他のオペレ
    ーティングシステムに切り替える際に、当該仮想記憶メ
    モリ管理手段にて切り替え先オペレーティングシステム
    用に仮想記憶メモリによるメモリ領域を確保した後に、
    前記サスペンド制御手段により当該オペレーティングシ
    ステムを一時停止状態にして、当該仮想記憶メモリによ
    るメモリ領域に当該切り替え先オペレーティングシステ
    ムをロードし、 前記他のオペレーティングシステムから前記メイン・オ
    ペレーティングシステムに切り替える際に、前記他のオ
    ペレーティングシステムが停止するのを待って、前記レ
    ジューム制御手段により当該メイン・オペレーティング
    システムを動作状態に移行させることを特徴とするコン
    ピュータシステム。
  4. 【請求項4】 複数のオペレーティングシステムを搭載
    したコンピュータシステム上で、使用するオペレーティ
    ングシステムの切り替えを実行するオペレーティングシ
    ステムの切り替えシステムにおいて、 メモリ装置のメモリ領域を論理分割し、複数の前記オペ
    レーティングシステムに個別に対応付けられた複数のオ
    ペレーティングシステム用メモリ領域と、複数の前記オ
    ペレーティングシステムのいずれにも対応付けられない
    独立したメモリ領域とを設け、 複数の前記オペレーティングシステム用メモリ領域にそ
    れぞれロードされたオペレーティングシステムと、 前記独立したメモリ領域にロードされた前記オペレーテ
    ィングシステムの切り替えを制御するオペレーティング
    システム切り替え制御手段とを備え、 自オペレーティングシステムの動作コンテキストに関す
    る情報を自オペレーティングシステムに割り当てられた
    オペレーティングシステム用メモリ領域に保存して当該
    オペレーティングシステムを一時停止状態にするサスペ
    ンド機能と、一時停止状態にある自オペレーティングシ
    ステムを動作状態に移行させると共に、オペレーティン
    グシステム用メモリ領域に保存されている自オペレーテ
    ィングシステムの動作コンテキストに関する情報に基づ
    いて自オペレーティングシステムが一時停止状態に移行
    する直前の動作コンテキストを回復させるレジューム機
    能とを有するオペレーティングシステムに関して、前記
    オペレーティングシステム切り替え制御手段は、 使用するオペレーティングシステムを前記オペレーティ
    ングシステムから他のオペレーティングシステムに切り
    替えるために当該オペレーティングシステムを停止させ
    る場合に、前記サスペンド機能を用いて当該オペレーテ
    ィングシステムを一時停止状態とし、 使用するオペレーティングシステムを他のオペレーティ
    ングシステムから当該オペレーティングシステムに切り
    替えるために当該オペレーティングシステムを動作状態
    に移行させる場合に、前記レジューム機能を用いて当該
    オペレーティングシステムを動作状態に移行させること
    を特徴とするオペレーティングシステムの切り替えシス
    テム。
  5. 【請求項5】 前記サスペンド機能及び前記レジューム
    機能を有さないオペレーティングシステムに関して、前
    記オペレーティングシステム切り替え制御手段は、 使用するオペレーティングシステムを前記オペレーティ
    ングシステムから他のオペレーティングシステムに切り
    替えるために当該オペレーティングシステムを停止させ
    る場合に、当該オペレーティングシステムを単独でシャ
    ットダウンし、 使用するオペレーティングシステムを他のオペレーティ
    ングシステムから前記オペレーティングシステムに切り
    替えるために当該オペレーティングシステムを動作状態
    に移行させる場合に、当該オペレーティングシステムを
    リブートすることを特徴とする請求項4に記載のオペレ
    ーティングシステムの切り替えシステム。
  6. 【請求項6】 複数のオペレーティングシステムを搭載
    し、各オペレーティングシステムを切り替えて使用する
    コンピュータシステムにおけるオペレーティングシステ
    ムの実装方法において、 メモリ装置の所定のメモリ領域に、複数の前記オペレー
    ティングシステムのブート及び切り替えを統括的に制御
    するプログラムモジュールである統括制御手段をロード
    するステップと、 前記統括制御手段の制御の下、前記メモリ装置において
    複数の前記オペレーティングシステムに個別に対応付け
    られた複数のオペレーティングシステム用メモリ領域
    に、複数の前記オペレーティングシステムを順次ロード
    するステップとを含み、 前記オペレーティングシステムを順次ロードするステッ
    プは、 所定のオペレーティングシステムのブートローダを用い
    て当該オペレーティングシステムを当該オペレーティン
    グシステムに対応付けられた前記オペレーティングシス
    テム用メモリ領域にブートするステップと、 さらにロードすべき他のオペレーティングシステムが存
    在する場合に、ブートした後に前記オペレーティングシ
    ステムを停止状態とするステップと、 ブートしたオペレーティングシステムが停止状態となっ
    た後に、メモリ装置及びメモリ制御装置を除く他のハー
    ドウェアを初期化して前記他のオペレーティングシステ
    ムのロード処理へ移行するステップとを含むことを特徴
    とするオペレーティングシステムの実装方法。
  7. 【請求項7】 前記ブート後にオペレーティングシステ
    ムを停止状態とするステップは、 当該オペレーティングシステムが、自オペレーティング
    システムの動作コンテキストに関する情報を自オペレー
    ティングシステムに割り当てられたオペレーティングシ
    ステム用メモリ領域に保存して当該オペレーティングシ
    ステムを一時停止状態にするサスペンド機能と、一時停
    止状態にある自オペレーティングシステムを動作状態に
    移行させると共に、オペレーティングシステム用メモリ
    領域に保存されている自オペレーティングシステムの動
    作コンテキストに関する情報に基づいて自オペレーティ
    ングシステムが一時停止状態に移行する直前の動作コン
    テキストを回復させるレジューム機能とを有する場合
    に、当該サスペンド機能により当該オペレーティングシ
    ステムを一時停止状態に移行させるステップと、 当該オペレーティングシステムが、前記サスペンド機能
    と前記レジューム機能とを有さない場合に、当該オペレ
    ーティングシステムを単独でシャットダウンするステッ
    プとを含むことを特徴とする請求項6に記載のオペレー
    ティングシステムの実装方法。
  8. 【請求項8】 複数のオペレーティングシステムを搭載
    し、各オペレーティングシステムを切り替えて使用する
    コンピュータシステムにおけるオペレーティングシステ
    ムの実装方法において、 所定のメモリ領域を仮想記憶メモリとして確保する仮想
    記憶メモリ管理機能を有するオペレーティングシステム
    をメモリ装置にブートするステップと、 他のオペレーティングシステムを使用するために、ブー
    トされた前記オペレーティングシステムが、前記仮想記
    憶メモリ管理機能により所定サイズのメモリ領域を仮想
    記憶メモリとして確保するステップと、 仮想記憶メモリとしてメモリ領域を確保した後に、ブー
    トされた前記オペレーティングシステムの動作コンテキ
    ストに関する情報を前記メモリ領域に保存して当該オペ
    レーティングシステムを一時停止状態にするステップ
    と、 前記オペレーティングシステムが一時停止状態となった
    後に、前記仮想記憶メモリとして確保されたメモリ領域
    に他のオペレーティングシステムをブートするステップ
    と、 前記他のオペレーティングシステムの使用を終了した
    後、当該他のオペレーティングシステムを停止させ、一
    時停止状態にある前記オペレーティングシステムを動作
    状態に移行させると共に、メモリ領域に保存されている
    当該オペレーティングシステムの動作コンテキストに関
    する情報に基づいて当該オペレーティングシステムが一
    時停止状態に移行する直前の動作コンテキストを回復さ
    せるステップとを含むことを特徴とするオペレーティン
    グシステムの実装方法。
  9. 【請求項9】 複数のオペレーティングシステムを搭載
    したコンピュータシステム上で、使用するオペレーティ
    ングシステムの切り替えを行うオペレーティングシステ
    ムの切り替え方法において、 メモリ装置のメモリ領域を論理分割して設けられた複数
    のオペレーティングシステム用メモリ領域に個別に対応
    付けられてロードされている複数の前記オペレーティン
    グシステムのうちで、動作状態にあるオペレーティング
    システムから他のオペレーティングシステムへの切り替
    え要求を発行するステップと、 前記切り替え要求を発行したオペレーティングシステム
    を停止状態に移行させるステップと、 切り替え先のオペレーティングシステムを動作状態に移
    行させるステップとを含み、 前記オペレーティングシステムを停止状態に移行させる
    ステップは、 前記切り替え要求を発行したオペレーティングシステム
    が、自オペレーティングシステムの動作コンテキストに
    関する情報を自オペレーティングシステムに割り当てら
    れたオペレーティングシステム用メモリ領域に保存して
    当該オペレーティングシステムを一時停止状態にするサ
    スペンド機能を有する場合に、当該サスペンド機能によ
    り当該オペレーティングシステムを一時停止状態に移行
    させるステップを含み、 前記オペレーティングシステムを動作状態に移行させる
    ステップは、 前記切り替え先のオペレーティングシステムが、サスペ
    ンド機能により一時停止状態にある自オペレーティング
    システムを動作状態に移行させると共に、オペレーティ
    ングシステム用メモリ領域に保存されている自オペレー
    ティングシステムの動作コンテキストに関する情報に基
    づいて自オペレーティングシステムが一時停止状態に移
    行する直前の動作コンテキストを回復させるレジューム
    機能を有する場合に、当該レジューム機能を用いて当該
    切り替え先のオペレーティングシステムを動作状態に移
    行させるステップを含むことを特徴とするオペレーティ
    ングシステムの切り替え方法。
  10. 【請求項10】 複数のオペレーティングシステムを搭
    載したコンピュータシステム上で、使用するオペレーテ
    ィングシステムの切り替えを行うオペレーティングシス
    テムの切り替え方法において、 メモリ装置のメモリ領域を論理分割して設けられた複数
    のオペレーティングシステム用メモリ領域に個別に対応
    付けられてロードされている複数の前記オペレーティン
    グシステムのうちで、動作状態にあるオペレーティング
    システムから他のオペレーティングシステムへの切り替
    え要求を発行するステップと、 前記切り替え要求を発行したオペレーティングシステム
    を停止状態に移行させるステップと、 切り替え先のオペレーティングシステムを動作状態に移
    行させるステップとを含み、 前記オペレーティングシステムを停止状態に移行させる
    ステップは、 前記切り替え要求を発行したオペレーティングシステム
    が、自オペレーティングシステムの動作コンテキストに
    関する情報を自オペレーティングシステムに割り当てら
    れたオペレーティングシステム用メモリ領域に保存して
    当該オペレーティングシステムを一時停止状態にするサ
    スペンド機能を有さない場合に、当該オペレーティング
    システムを単独でシャットダウンすることにより停止状
    態に移行させるステップを含み、 前記オペレーティングシステムを動作状態に移行させる
    ステップは、 前記切り替え先のオペレーティングシステムが、サスペ
    ンド機能により一時停止状態にある自オペレーティング
    システムを動作状態に移行させると共に、オペレーティ
    ングシステム用メモリ領域に保存されている自オペレー
    ティングシステムの動作コンテキストに関する情報に基
    づいて自オペレーティングシステムが一時停止状態に移
    行する直前の動作コンテキストを回復させるレジューム
    機能を有さない場合に、当該切り替え先のオペレーティ
    ングシステムをリブートすることにより動作状態に移行
    させるステップを含むことを特徴とするオペレーティン
    グシステムの切り替え方法。
  11. 【請求項11】 コンピュータに実行させるプログラム
    を当該コンピュータの入力手段が読取可能に記憶した記
    憶媒体において、 前記プログラムは、 メモリ装置のメモリ領域を論理分割し、複数の前記オペ
    レーティングシステムに個別に対応付けられた複数のオ
    ペレーティングシステム用メモリ領域を設ける処理と、 複数の前記オペレーティングシステム用メモリ領域に、
    対応付けられた前記オペレーティングシステムを順次ロ
    ードする処理として、所定のオペレーティングシステム
    のブートローダを用いて当該オペレーティングシステム
    を当該オペレーティングシステムに対応付けられた当該
    オペレーティングシステム用メモリ領域にブートする処
    理と、さらにロードすべき他のオペレーティングシステ
    ムが存在する場合に、ブートした後に当該オペレーティ
    ングシステムを停止状態とする処理と、ブートしたオペ
    レーティングシステムが停止状態となった後に、メモリ
    装置及びメモリ制御装置を除く他のハードウェアを初期
    化して前記他のオペレーティングシステムのロード処理
    へ移行する処理とを前記コンピュータに実行させること
    を特徴とする記憶媒体。
  12. 【請求項12】 前記プログラムにおける前記ブート後
    にオペレーティングシステムを停止状態とする処理は、 当該オペレーティングシステムが、自オペレーティング
    システムの動作コンテキストに関する情報を自オペレー
    ティングシステムに割り当てられたオペレーティングシ
    ステム用メモリ領域に保存して当該オペレーティングシ
    ステムを一時停止状態にするサスペンド機能と、一時停
    止状態にある自オペレーティングシステムを動作状態に
    移行させると共に、オペレーティングシステム用メモリ
    領域に保存されている自オペレーティングシステムの動
    作コンテキストに関する情報に基づいて自オペレーティ
    ングシステムが一時停止状態に移行する直前の動作コン
    テキストを回復させるレジューム機能とを有する場合
    に、当該サスペンド機能により当該オペレーティングシ
    ステムを一時停止状態に移行させる処理と、 当該オペレーティングシステムが、前記サスペンド機能
    と前記レジューム機能とを有さない場合に、当該オペレ
    ーティングシステムを単独でシャットダウンする処理と
    を含むことを特徴とする請求項11に記載の記憶媒体。
  13. 【請求項13】 コンピュータに実行させるプログラム
    を当該コンピュータの入力手段が読取可能に記憶した記
    憶媒体において、 前記プログラムは、 メモリ装置のメモリ領域を論理分割して設けられた複数
    のオペレーティングシステム用メモリ領域に個別に対応
    付けられてロードされている複数の前記オペレーティン
    グシステムのうちで、動作状態にあるオペレーティング
    システムから他のオペレーティングシステムへの切り替
    え要求を受け付ける処理と、 当該切り替え要求を発行したオペレーティングシステム
    が、自オペレーティングシステムの動作コンテキストに
    関する情報を自オペレーティングシステムに割り当てら
    れたオペレーティングシステム用メモリ領域に保存して
    当該オペレーティングシステムを一時停止状態にするサ
    スペンド機能を有する場合に、当該サスペンド機能によ
    り当該オペレーティングシステムを一時停止状態に移行
    させる処理と、 切り替え先のオペレーティングシステムが、サスペンド
    機能により一時停止状態にある自オペレーティングシス
    テムを動作状態に移行させると共に、オペレーティング
    システム用メモリ領域に保存されている自オペレーティ
    ングシステムの動作コンテキストに関する情報に基づい
    て自オペレーティングシステムが一時停止状態に移行す
    る直前の動作コンテキストを回復させるレジューム機能
    を有する場合に、当該レジューム機能を用いて当該切り
    替え先のオペレーティングシステムを動作状態に移行さ
    せる処理とを前記コンピュータに実行させることを特徴
    とする記憶媒体。
  14. 【請求項14】 コンピュータに、 メモリ装置のメモリ領域を論理分割し、複数の前記オペ
    レーティングシステムに個別に対応付けられた複数のオ
    ペレーティングシステム用メモリ領域を設ける処理と、
    複数の前記オペレーティングシステム用メモリ領域に、
    対応付けられた前記オペレーティングシステムを順次ロ
    ードする処理として、所定のオペレーティングシステム
    のブートローダを用いて当該オペレーティングシステム
    を当該オペレーティングシステムに対応付けられた当該
    オペレーティングシステム用メモリ領域にブートする処
    理と、さらにロードすべき他のオペレーティングシステ
    ムが存在する場合に、ブートした後に当該オペレーティ
    ングシステムを停止状態とする処理と、ブートしたオペ
    レーティングシステムが停止状態となった後に、メモリ
    装置及びメモリ制御装置を除く他のハードウェアを初期
    化して前記他のオペレーティングシステムのロード処理
    へ移行する処理とを実行させるプログラムを記憶する記
    憶手段と、 前記記憶手段から前記プログラムを読み出して当該プロ
    グラムを送信する送信手段とを備えたことを特徴とする
    プログラム伝送装置。
  15. 【請求項15】 前記プログラムにおける前記ブート後
    にオペレーティングシステムを停止状態とする処理は、 当該オペレーティングシステムが、自オペレーティング
    システムの動作コンテキストに関する情報を自オペレー
    ティングシステムに割り当てられたオペレーティングシ
    ステム用メモリ領域に保存して当該オペレーティングシ
    ステムを一時停止状態にするサスペンド機能と、一時停
    止状態にある自オペレーティングシステムを動作状態に
    移行させると共に、オペレーティングシステム用メモリ
    領域に保存されている自オペレーティングシステムの動
    作コンテキストに関する情報に基づいて自オペレーティ
    ングシステムが一時停止状態に移行する直前の動作コン
    テキストを回復させるレジューム機能とを有する場合
    に、当該サスペンド機能により当該オペレーティングシ
    ステムを一時停止状態に移行させる処理と、 当該オペレーティングシステムが、前記サスペンド機能
    と前記レジューム機能とを有さない場合に、当該オペレ
    ーティングシステムを単独でシャットダウンする処理と
    を含むことを特徴とする請求項14に記載のプログラム
    伝送装置。
  16. 【請求項16】 コンピュータに、 メモリ装置のメモリ領域を論理分割して設けられた複数
    のオペレーティングシステム用メモリ領域に個別に対応
    付けられてロードされている複数の前記オペレーティン
    グシステムのうちで、動作状態にあるオペレーティング
    システムから他のオペレーティングシステムへの切り替
    え要求を受け付ける処理と、当該切り替え要求を発行し
    たオペレーティングシステムが、自オペレーティングシ
    ステムの動作コンテキストに関する情報を自オペレーテ
    ィングシステムに割り当てられたオペレーティングシス
    テム用メモリ領域に保存して当該オペレーティングシス
    テムを一時停止状態にするサスペンド機能を有する場合
    に、当該サスペンド機能により当該オペレーティングシ
    ステムを一時停止状態に移行させる処理と、切り替え先
    のオペレーティングシステムが、サスペンド機能により
    一時停止状態にある自オペレーティングシステムを動作
    状態に移行させると共に、オペレーティングシステム用
    メモリ領域に保存されている自オペレーティングシステ
    ムの動作コンテキストに関する情報に基づいて自オペレ
    ーティングシステムが一時停止状態に移行する直前の動
    作コンテキストを回復させるレジューム機能を有する場
    合に、当該レジューム機能を用いて当該切り替え先のオ
    ペレーティングシステムを動作状態に移行させる処理と
    を実行させるプログラムを記憶する記憶手段と、 前記記憶手段から前記プログラムを読み出して当該プロ
    グラムを送信する送信手段とを備えたことを特徴とする
    プログラム伝送装置。
JP2000054064A 2000-02-29 2000-02-29 コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置 Pending JP2001256066A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000054064A JP2001256066A (ja) 2000-02-29 2000-02-29 コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置
US09/793,038 US20010018717A1 (en) 2000-02-29 2001-02-26 Computer system, operating system switching system, operating system mounting method, operating system switching method, storage medium, and program transmission apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000054064A JP2001256066A (ja) 2000-02-29 2000-02-29 コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置

Publications (1)

Publication Number Publication Date
JP2001256066A true JP2001256066A (ja) 2001-09-21

Family

ID=18575369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000054064A Pending JP2001256066A (ja) 2000-02-29 2000-02-29 コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置

Country Status (2)

Country Link
US (1) US20010018717A1 (ja)
JP (1) JP2001256066A (ja)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005052769A1 (ja) * 2003-11-28 2005-06-09 Matsushita Electric Industrial Co.,Ltd. データ処理装置
JP2005182774A (ja) * 2003-11-28 2005-07-07 Matsushita Electric Ind Co Ltd データ処理装置
EP1703385A2 (en) 2005-03-18 2006-09-20 Fujitsu Limited Operating system switchover method
JP2007073025A (ja) * 2005-09-07 2007-03-22 Mitac Technology Corp 複数のオペレーションシステムを具えたコンピュータ装置におけるオペレーションシステムの急速切り換え方法
JP2007087088A (ja) * 2005-09-21 2007-04-05 Fujitsu Ltd 情報処理装置、情報処理復旧方法及び情報処理復旧プログラム
US7203804B2 (en) 2002-06-07 2007-04-10 International Business Machines Corporation Process, apparatus, and system for passing data between partitions in a storage device
KR100714677B1 (ko) * 2004-05-21 2007-05-07 삼성전자주식회사 운영 시스템 전환을 수행하는 컴퓨터 시스템 및 전환 방법
JP2009223713A (ja) * 2008-03-18 2009-10-01 Fujitsu Ltd メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
JP2010055641A (ja) * 2009-12-07 2010-03-11 Fuji Xerox Co Ltd 情報処理装置及びプログラム
JP2010066842A (ja) * 2008-09-09 2010-03-25 Hitachi Ltd ストレージ装置及びストレージ装置の制御方法
US7797507B2 (en) 2006-07-26 2010-09-14 Nec Corporation Virtual machine system and operating method thereof
KR101026397B1 (ko) 2006-11-16 2011-04-07 삼성전자주식회사 디스플레이장치 및 그 제어방법
JP2011526714A (ja) * 2008-07-02 2011-10-13 ヒューレット・パッカード・カンパニー ハイパーバイザ・ローディングのためのメモリ管理
US8042117B2 (en) 2006-07-25 2011-10-18 Ntt Docomo, Inc. Operating system switching control device and computer system
KR101096362B1 (ko) * 2005-07-05 2011-12-20 주식회사 팬택 운영 체제 순차 실행 기능을 가지는 무선통신 단말기 및 그방법
WO2013035141A1 (ja) * 2011-09-05 2013-03-14 Suginaka Junko 情報処理装置、その起動制御方法、その起動制御プログラム及び外部デバイス
US8812829B2 (en) 2010-06-24 2014-08-19 Fujitsu Limited Information processing apparatus and start-up method
US8843742B2 (en) 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
JP2014531099A (ja) * 2011-10-28 2014-11-20 インテル・コーポレーション 動作コンテキストの切り替え
JP2016021220A (ja) * 2014-07-14 2016-02-04 レノボ・シンガポール・プライベート・リミテッド 退避ファイルの一貫性を検証する方法、コンピュータおよびコンピュータ・プログラム
CN105993001A (zh) * 2014-03-20 2016-10-05 英特尔公司 用于在操作系统之间切换的技术
US9483278B2 (en) 2013-05-11 2016-11-01 Lenovo (Singapore) Pte. Ltd. Arrangement for secure independent operating environments in a computer
JP2017507417A (ja) * 2014-03-06 2017-03-16 インテル・コーポレーション マルチオペレーティングシステムデバイスのための動的な再割り当て
US9753739B2 (en) 2013-04-22 2017-09-05 Lenovo (Singapore) Pte. Ltd. Operating system management of second operating system
US9880791B2 (en) 2015-12-14 2018-01-30 Konica Minolta, Inc. Image formation apparatus and non-transitory computer-readable storage medium having stored thereon a program executable on image formation apparatus
US9910677B2 (en) 2014-07-07 2018-03-06 Lenovo (Singapore) Pte. Ltd. Operating environment switching between a primary and a secondary operating system

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259155A (ja) * 2001-02-26 2002-09-13 Hitachi Ltd 多重系計算機システム
US7783727B1 (en) * 2001-08-30 2010-08-24 Emc Corporation Dynamic host configuration protocol in a storage environment
JP2003087238A (ja) * 2001-09-11 2003-03-20 Hitachi Ltd 家庭内ネットワークにおけるセキュリティ実現方式
US7356677B1 (en) * 2001-10-19 2008-04-08 Flash Vos, Inc. Computer system capable of fast switching between multiple operating systems and applications
JP2003196096A (ja) * 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
EP1347373A3 (en) * 2002-03-20 2005-02-02 Seiko Epson Corporation Apparatus for processing instructions of different instruction set architectures
US20030204708A1 (en) * 2002-04-24 2003-10-30 Colin Hulme Portable computer having hierarchical operating systems
JP2004127040A (ja) * 2002-10-03 2004-04-22 Internatl Business Mach Corp <Ibm> 情報処理装置、制御方法、プログラム、及び記録媒体
US20050071665A1 (en) * 2003-09-30 2005-03-31 Zimmer Vincent J. Methods and apparatus to associate boot objects with trust credentials
CN1658185A (zh) * 2004-02-18 2005-08-24 国际商业机器公司 相互独立地共存多个操作系统的计算机系统与其切换方法
KR100673681B1 (ko) * 2004-03-25 2007-01-24 엘지전자 주식회사 개인용 컴퓨터에서의 인스턴트 온 기능 실행방법
US7886136B2 (en) * 2004-05-21 2011-02-08 Samsung Electronics Co., Ltd. Computer system, method, and medium for switching operating system
US7827558B2 (en) * 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
US20090138865A1 (en) * 2004-12-10 2009-05-28 Furbee Richard L Performing an operating system upgrade without multiple system interruptions
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
CN100383744C (zh) * 2004-12-24 2008-04-23 联想(北京)有限公司 一种计算机多操作系统的切换方法
CN101963929B (zh) * 2004-12-31 2016-07-06 钟巨航 保存/恢复工作现场的方法
US7509530B2 (en) * 2005-01-19 2009-03-24 Sonic Solutions Method and system for use in restoring an active partition
US7719132B2 (en) 2005-09-28 2010-05-18 L3 Communications Corporation Ruggedized mobile computing device
US20070104340A1 (en) * 2005-09-28 2007-05-10 Knowles Electronics, Llc System and Method for Manufacturing a Transducer Module
US7405949B2 (en) * 2005-12-09 2008-07-29 Samsung Electronics Co., Ltd. Memory system having point-to-point (PTP) and point-to-two-point (PTTP) links between devices
US7950020B2 (en) * 2006-03-16 2011-05-24 Ntt Docomo, Inc. Secure operating system switching
US7797555B2 (en) * 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
US7647509B2 (en) * 2006-05-12 2010-01-12 Intel Corporation Method and apparatus for managing power in a processing system with multiple partitions
US20070280208A1 (en) * 2006-05-31 2007-12-06 Smith Wesley H Partitioned voice communication components of a computing platform
JP5028904B2 (ja) * 2006-08-10 2012-09-19 ソニー株式会社 電子機器、および起動方法
US7689820B2 (en) * 2006-09-27 2010-03-30 L3 Communications Corporation Rapid-boot computing device with dual operating systems
US8819483B2 (en) 2006-09-27 2014-08-26 L-3 Communications Corporation Computing device with redundant, dissimilar operating systems
US7877592B2 (en) * 2006-12-04 2011-01-25 Ntt Docomo, Inc. System and methods for efficient and cooperative operating system switching
US20080162866A1 (en) * 2006-12-28 2008-07-03 Siddiqi Faraz A Apparatus and method for fast and secure memory context switching
US7772987B2 (en) * 2007-11-08 2010-08-10 Dell Products L.P. Lighting control framework
WO2009073011A1 (en) * 2007-12-06 2009-06-11 Ntt Docomo, Inc. System and methods for efficient and cooperative operating system switching
CN101546365B (zh) * 2008-03-25 2011-01-26 联想(北京)有限公司 硬件安全单元逻辑切换方法、系统及硬件安全单元
US20100115254A1 (en) * 2008-10-30 2010-05-06 Thomas Deng Synchronization in Multiple Environments
US8239667B2 (en) * 2008-11-13 2012-08-07 Intel Corporation Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory
US20100125554A1 (en) * 2008-11-18 2010-05-20 Unisys Corporation Memory Recovery Across Reboots of an Emulated Operating System
US8775780B2 (en) * 2009-02-27 2014-07-08 Keicy Chung System for multi-boot of a central processing unit using internal registers that direct an operating system to boot into disjoint memory spaces
US8327174B2 (en) * 2009-03-20 2012-12-04 Hewlett-Packard Development Company, L.P. Loading operating systems using memory segmentation and ACPI based context switch
TW201106271A (en) * 2009-08-14 2011-02-16 Insyde Software Corp Method of switching different operating systems in computer
US8686955B2 (en) * 2010-03-11 2014-04-01 Apple Inc. Device, method, and graphical user interface for performing character entry
US8433889B2 (en) * 2010-04-28 2013-04-30 Acer Cloud Technology, Inc. Operating system context switching
US9010641B2 (en) 2010-12-07 2015-04-21 Hand Held Products, Inc. Multiple platform support system and method
CN102135910B (zh) * 2011-03-03 2014-05-14 威盛电子股份有限公司 切换操作系统的方法及使用此方法的电子装置
JP5491675B2 (ja) * 2011-03-03 2014-05-14 富士通株式会社 情報処理装置及び情報処理装置制御方法
GB201105222D0 (en) * 2011-03-29 2011-05-11 Becrypt Ltd Dual environment computing system and method and system for providing a dual environment computing system
TW201248499A (en) * 2011-05-18 2012-12-01 Asustek Comp Inc Method of swapping between operating systems applied to computer system
WO2012163275A1 (zh) * 2011-05-30 2012-12-06 联想(北京)有限公司 控制方法、控制装置以及计算机系统
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
KR101780052B1 (ko) * 2011-08-24 2017-09-19 한국전자통신연구원 정보처리 시스템에서 운영체제 전환방법
US9588576B2 (en) 2011-09-12 2017-03-07 Microsoft Technology Licensing, Llc Managing processes within suspend states and execution states
US8621494B2 (en) 2011-09-12 2013-12-31 Microsoft Corporation Managing processes within suspend states and execution states
US9952897B2 (en) 2011-09-12 2018-04-24 Microsoft Technology Licensing, Llc Managing processes within suspend states and execution states
TWI476693B (zh) * 2012-01-09 2015-03-11 Asustek Comp Inc 在電子裝置之多個作業系統間進行資訊交換之方法
CN103309737A (zh) * 2012-03-07 2013-09-18 联想(北京)有限公司 一种切换操作系统的方法及设备
CN103544057B (zh) * 2012-07-09 2017-08-18 腾讯科技(深圳)有限公司 数据业务系统的切换方法和切换系统
CN102880513B (zh) * 2012-08-10 2015-05-13 小米科技有限责任公司 一种移植rom的方法及装置
CN103970600B (zh) * 2013-01-31 2018-04-03 阿里巴巴集团控股有限公司 一种通用通知系统、程序调度的通知发送方法及调度方法
US9563457B2 (en) 2013-11-18 2017-02-07 Bitdefender IPR Management Ltd. Enabling a secure environment through operating system switching
US10789082B2 (en) * 2014-12-18 2020-09-29 Unisys Corporation Execution of multiple operating systems without rebooting
EP3113092B1 (en) * 2015-07-03 2021-12-01 Huawei Technologies Co., Ltd. Method and apparatus for managing virtual execution environments using contextual information fragments
CN105183551B (zh) * 2015-09-10 2019-12-10 电子科技大学 基于Linux容器技术的多Android系统之间切换方法
CN105630595B (zh) * 2015-12-21 2019-03-08 联想(北京)有限公司 一种信息处理方法及电子设备
US10146940B2 (en) 2016-01-13 2018-12-04 Gbs Laboratories, Llc Multiple hardware-separated computer operating systems within a single processor computer system to prevent cross-contamination between systems
US10474396B2 (en) 2016-10-25 2019-11-12 Sandisk Technologies Llc System and method for managing multiple file systems in a memory
US10108800B1 (en) 2017-01-10 2018-10-23 Gbs Laboratories, Llc ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods
US10565162B2 (en) 2017-08-02 2020-02-18 Mastercard International Incorporated Systems and methods for customized operating system conversion
US10599523B2 (en) * 2017-11-02 2020-03-24 Dell Products L.P. Systems and methods for enhanced ROM access resiliency
KR102538222B1 (ko) 2018-06-26 2023-06-01 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU551032B2 (en) * 1981-03-31 1986-04-17 British Telecommunications Public Limited Company Safety arrangement in computer control system
JPH0814795B2 (ja) * 1986-01-14 1996-02-14 株式会社日立製作所 マルチプロセッサ仮想計算機システム
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
EP0472861B1 (en) * 1990-08-31 1995-09-20 International Business Machines Corporation Method and apparatus for cross-partition control in a partitioned process environment
JP2677474B2 (ja) * 1992-01-14 1997-11-17 富士通株式会社 仮想計算機の制御情報収集装置および方法
JP3300407B2 (ja) * 1992-05-15 2002-07-08 富士通株式会社 仮想計算機システム
JP2900767B2 (ja) * 1993-09-20 1999-06-02 株式会社日立製作所 仮想計算機システムの仮想計算機走行時間間隔制御方式
JP3657665B2 (ja) * 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
JP3196004B2 (ja) * 1995-03-23 2001-08-06 株式会社日立製作所 障害回復処理方法
US6601081B1 (en) * 1995-06-30 2003-07-29 Sun Microsystems, Inc. Method and apparatus for context maintenance in windows
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6260140B1 (en) * 1998-11-30 2001-07-10 Micron Electronics, Inc. Operating system multi boot integrator

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203804B2 (en) 2002-06-07 2007-04-10 International Business Machines Corporation Process, apparatus, and system for passing data between partitions in a storage device
JP4629416B2 (ja) * 2003-11-28 2011-02-09 パナソニック株式会社 データ処理装置
WO2005052769A1 (ja) * 2003-11-28 2005-06-09 Matsushita Electric Industrial Co.,Ltd. データ処理装置
US7788487B2 (en) 2003-11-28 2010-08-31 Panasonic Corporation Data processing apparatus
JP2005182774A (ja) * 2003-11-28 2005-07-07 Matsushita Electric Ind Co Ltd データ処理装置
KR100714677B1 (ko) * 2004-05-21 2007-05-07 삼성전자주식회사 운영 시스템 전환을 수행하는 컴퓨터 시스템 및 전환 방법
EP1703385A2 (en) 2005-03-18 2006-09-20 Fujitsu Limited Operating system switchover method
KR101096362B1 (ko) * 2005-07-05 2011-12-20 주식회사 팬택 운영 체제 순차 실행 기능을 가지는 무선통신 단말기 및 그방법
JP2007073025A (ja) * 2005-09-07 2007-03-22 Mitac Technology Corp 複数のオペレーションシステムを具えたコンピュータ装置におけるオペレーションシステムの急速切り換え方法
JP2007087088A (ja) * 2005-09-21 2007-04-05 Fujitsu Ltd 情報処理装置、情報処理復旧方法及び情報処理復旧プログラム
JP4640071B2 (ja) * 2005-09-21 2011-03-02 富士通株式会社 情報処理装置、情報処理復旧方法及び情報処理復旧プログラム
US8042117B2 (en) 2006-07-25 2011-10-18 Ntt Docomo, Inc. Operating system switching control device and computer system
US7797507B2 (en) 2006-07-26 2010-09-14 Nec Corporation Virtual machine system and operating method thereof
KR101026397B1 (ko) 2006-11-16 2011-04-07 삼성전자주식회사 디스플레이장치 및 그 제어방법
JP2009223713A (ja) * 2008-03-18 2009-10-01 Fujitsu Ltd メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
US9286080B2 (en) 2008-07-02 2016-03-15 Hewlett-Packard Development Company, L.P. Memory management for hypervisor loading
JP2011526714A (ja) * 2008-07-02 2011-10-13 ヒューレット・パッカード・カンパニー ハイパーバイザ・ローディングのためのメモリ管理
US8843742B2 (en) 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
JP2010066842A (ja) * 2008-09-09 2010-03-25 Hitachi Ltd ストレージ装置及びストレージ装置の制御方法
JP2010055641A (ja) * 2009-12-07 2010-03-11 Fuji Xerox Co Ltd 情報処理装置及びプログラム
US8812829B2 (en) 2010-06-24 2014-08-19 Fujitsu Limited Information processing apparatus and start-up method
WO2013035141A1 (ja) * 2011-09-05 2013-03-14 Suginaka Junko 情報処理装置、その起動制御方法、その起動制御プログラム及び外部デバイス
JP2014531099A (ja) * 2011-10-28 2014-11-20 インテル・コーポレーション 動作コンテキストの切り替え
US9753739B2 (en) 2013-04-22 2017-09-05 Lenovo (Singapore) Pte. Ltd. Operating system management of second operating system
US9483278B2 (en) 2013-05-11 2016-11-01 Lenovo (Singapore) Pte. Ltd. Arrangement for secure independent operating environments in a computer
JP2017507417A (ja) * 2014-03-06 2017-03-16 インテル・コーポレーション マルチオペレーティングシステムデバイスのための動的な再割り当て
US9830178B2 (en) 2014-03-06 2017-11-28 Intel Corporation Dynamic reassignment for multi-operating system devices
CN105993001A (zh) * 2014-03-20 2016-10-05 英特尔公司 用于在操作系统之间切换的技术
JP2017508204A (ja) * 2014-03-20 2017-03-23 インテル・コーポレーション オペレーティングシステム間のスイッチ技術
US9910677B2 (en) 2014-07-07 2018-03-06 Lenovo (Singapore) Pte. Ltd. Operating environment switching between a primary and a secondary operating system
JP2016021220A (ja) * 2014-07-14 2016-02-04 レノボ・シンガポール・プライベート・リミテッド 退避ファイルの一貫性を検証する方法、コンピュータおよびコンピュータ・プログラム
US10032029B2 (en) 2014-07-14 2018-07-24 Lenovo (Singapore) Pte. Ltd. Verifying integrity of backup file in a multiple operating system environment
US9880791B2 (en) 2015-12-14 2018-01-30 Konica Minolta, Inc. Image formation apparatus and non-transitory computer-readable storage medium having stored thereon a program executable on image formation apparatus

Also Published As

Publication number Publication date
US20010018717A1 (en) 2001-08-30

Similar Documents

Publication Publication Date Title
JP2001256066A (ja) コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置
US7930371B2 (en) Deployment method and system
JP4842210B2 (ja) フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
JP5018252B2 (ja) デバイス割り当て変更方法
JP3593241B2 (ja) 計算機の再起動方法
US9223596B1 (en) Virtual machine fast provisioning based on dynamic criterion
US20090150463A1 (en) Method of migration between virtual machine and physical machine and machine system thereof
US8930685B2 (en) Deployment of a software image on multiple targets with streaming technique
JP2000330806A (ja) 計算機システム
JPH11149385A (ja) マルチos構成方法
JPH10283210A (ja) 仮想計算機システム間の仮想計算機移動制御方式
US20180260257A1 (en) Pld management method and pld management system
JP2004355153A (ja) シングルプロセッサ向けosによる並列処理システムにおける電源管理システム及び電源管理プログラム
JP2005301639A (ja) Osの障害対応方法およびそのプログラム
JP2002132741A (ja) プロセッサ追加方法、計算機及び記録媒体
JP4026667B2 (ja) マルチos構成方法
CN115168869A (zh) 基于多操作系统的车载系统及其控制方法
JP2011060225A (ja) オペレーティングシステム起動方法
JP2000259434A (ja) 論理区画式計算機システム
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
JP2001290665A (ja) プロセッサシステム
JP5131269B2 (ja) マルチプロセッシングシステム
JP4817115B2 (ja) コンピュータシステム、並列初期化方法、及びブートプログラム
JP2001236237A (ja) マルチos構成方法
JP2001216172A (ja) マルチos構成方法