JP2001100983A - コンピュータの制御方法、コンピュータ及び記録媒体 - Google Patents

コンピュータの制御方法、コンピュータ及び記録媒体

Info

Publication number
JP2001100983A
JP2001100983A JP27386099A JP27386099A JP2001100983A JP 2001100983 A JP2001100983 A JP 2001100983A JP 27386099 A JP27386099 A JP 27386099A JP 27386099 A JP27386099 A JP 27386099A JP 2001100983 A JP2001100983 A JP 2001100983A
Authority
JP
Japan
Prior art keywords
computer
information
storage device
booting
program
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.)
Granted
Application number
JP27386099A
Other languages
English (en)
Other versions
JP3330569B2 (ja
Inventor
Hiroshi Ito
浩 伊藤
Naotaka Kato
直孝 加藤
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 JP27386099A priority Critical patent/JP3330569B2/ja
Priority to US09/671,499 priority patent/US6795912B1/en
Publication of JP2001100983A publication Critical patent/JP2001100983A/ja
Application granted granted Critical
Publication of JP3330569B2 publication Critical patent/JP3330569B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • 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)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 コンピュータ上でブートさせるOSの切り替
えを容易に実現できる汎用的な方法を提供する。 【解決手段】 コンピュータ上で第1のOSが稼動して
いる状態で、第2のOSをブートさせるための情報を、
ホームページの閲覧や電子メールの受信等によってダウ
ンロードし(130)、パスワード照合後にデバイスドライ
バを起動し、OS終了のフックを要求する(134〜138)。
デバイスドライバは、要求に応じてOS終了をフックす
る処理を行い、ダウンロードしたブートイメージファイ
ル等をメインメモリにロードした後に処理を中断する(1
44〜148)。OSが終了するとデバイスドライバの処理が
再開され、プロセッサのモードを変更(150,152)した後
にパッチプログラムを起動する。これにより、各種の前
処理が行われた後に、メインメモリにロードしたブート
イメージファイルにより第2のOSがブートされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータの制御
方法、コンピュータ及び記録媒体に係り、特に、コンピ
ュータ上で通常ブートされる第1のOSと異なる第2の
OSをブートさせるコンピュータの制御方法、前記制御
方法が適用されたコンピュータ、及びコンピュータによ
って前記制御方法を実現するためのプログラムが記録さ
れた記録媒体に関するに関する。
【0002】
【従来の技術】コンピュータのオペレーティング・シス
テム(Operating System、以下「OS」という)として
は、現在、多種多様なOSが存在しており、それぞれの
OSは互いに異なる特徴を有している。このため、起動
時に特定のOSが固定的にブートされるように設定され
たコンピュータであっても、他のOSをブートする必要
が生ずることがある。例えばBIOS等のファームウェ
アを更新(アップデート)するアプリケーション・プロ
グラムは、複数のタスクを並列に実行可能な機能を備え
たOS(例えば米マイクロソフト社の”Window
s”等)が稼動している環境下で実行するよりも、単一
のタスクのみ実行可能なOS(例えばDOS(Disk Ope
rating System))が稼動している環境下で実行すること
が望ましい。
【0003】コンピュータの起動時に、通常ブートされ
るOS(以下、便宜的に第1のOSという)と異なるO
S(以下、便宜的に第2のOSという)をブートさせる
ための方法の1つとして、第2のOSをブートさせるた
めのブート・イメージ(先頭から順に読み出して実行す
ることでOSがブートされる一連の命令コード)をフロ
ッピー(登録商標)ディスク(FD)に記憶しておき、
該FDをフロッピーディスク・ドライブ(FDD)にセ
ットしてコンピュータ・システムを起動することで第2
のOSをブートさせる方法が知られている。
【0004】また、他の方法として、コンピュータに接
続されているネットワーク・アダプタ内蔵のファームウ
ェアが、OSと無関係にネットワークを介してサーバと
通信を行って第2のOSをブートさせるための情報をサ
ーバから取得し、コンピュータ上で第2のOSをリモー
トでブートさせる技術も知られている。
【0005】
【発明が解決しようとする課題】しかしながら、FDを
FDDにセットする方法はFDDが設けられていないコ
ンピュータには適用できないという欠点がある。また、
第2のOSを起動するためのFDを作成したり、作成し
たFDをFDDにセットしたり等の作業も煩雑であり、
作業対象のコンピュータの数が多くなるに従って作業の
煩雑さは非常に顕著となる。
【0006】また、ネットワーク・アダプタ内蔵のファ
ームウェアがサーバと通信を行ってサーバから情報を取
得する方法では、ファームウェアとサーバとの通信が、
ブートを行うことを前提とした特別なブート・ストラッ
プ・プロトコル(例えばIETF(Internet Engineerin
g Task Force)が規定しているRFC951(InternetRe
quest For Comments 951)におけるブート・ストラップ
・プロトコル等)によって実現されるので、サーバが前
記特別なプロトコルをサポートしている必要があると共
に、ファイヤウォールやルータ等のネットワーク構成要
素の影響により、ブートさせるための情報の取得に制限
があり、汎用性に乏しいという問題がある。
【0007】また、第2のOSをブートさせる他の方法
として、ハードディスク等の記憶領域を複数のパーティ
ションに分割し、各パーティションに、互いに異なるO
Sをブートさせるためのブート・イメージを記憶してお
き、コンピュータの起動時に何れのパーティションにア
クセスしてブートするかを定めたマスタ・ブート・レコ
ードを書き替えた後にコンピュータを起動することによ
って、複数種のOSを選択的にブートさせる方法も考え
られる。
【0008】しかしながら、この方法では第2のOSを
ブートするためのブート・イメージがハードディスク等
の記憶領域内に常駐することになるので、第2のOSの
使用頻度が低い場合であっても、複数のパーティション
のうちの1つが第2のOSによって占有されてしまい、
ハードディスク等の記憶領域を有効に利用することがで
きないという問題や、第1のOSがインストールされた
後は第2のOS用のパーティションをつくるのが容易で
はないという問題がある。
【0009】また、ハードディスクに第2のOSのブー
ト・イメージを記憶する方法では、第2のOSの制御下
で実行すべきアプリケーション・プログラム等も併せて
記憶することが一般的である(FDに記憶させる方法も
同様)が、例えばOSを切り替えて実行すべき処理の一
例であるファームウェアの更新は、ファームウェアのバ
ージョン・アップ等がある毎に、バージョン・アップ後
の最新のファームウェアへ更新するための最新のアプリ
ケーション・プログラムを入手して行う必要があるの
で、このようなアプリケーション・プログラムをハード
ディスクに常駐させておいてもメリットは殆どない。ま
た、アプリケーション・プログラムを実行した後にハー
ドディスクから消去することも考えられるが、消去する
作業が煩雑であるという問題もある。また、一般的に第
1のOSと第2のOSでファイル・システムが異なる場
合には、第1のOS上のアプリケーションから第2のO
Sパーティション上のアプリケーションの更新並びに消
去が困難となる。
【0010】本発明は上記事実を考慮して成されたもの
で、コンピュータ上でブートさせるOSを切り替えるこ
とを容易に実現でき、汎用性に優れたコンピュータの制
御方法を得ることを目的とする。
【0011】更に、既存のコンピュータにハードウェア
やファームウェアの変更を加えることなく、ブートさせ
るOSを切り替える方法を提供することを目的とする。
【0012】また本発明は、ブートさせるOSを容易に
切り替え可能なコンピュータ及び記録媒体を得ることを
目的とする。
【0013】
【課題を解決するための手段】本発明に係るコンピュー
タの制御方法は、コンピュータ上で第1のOSが稼動し
ている状態で、第1のOSと異なる第2のOSをブート
させるための情報を第1のOSの制御下で取得する。こ
のように、情報の取得を第1のOSの制御下で行うこと
により、取得した情報は第1のOSによってファイルと
して認識され、第1のOSのファイル・システムによっ
て管理されることになる。
【0014】なお、第2のOSをブートさせるための情
報は、例えば第2のOSをブートさせるためのブート・
イメージ・ファイル(ブート・イメージを表すデータか
ら成るファイル)を含んで構成することができる。ま
た、第2のOSをブートさせるための情報をコンピュー
タの主記憶装置に書き込むためのプログラム(このプロ
グラムはコンピュータに固定的に記憶されていてもよ
い)や、第2のOSをブートした後に実行すべきプログ
ラムも含まれていてもよい。
【0015】また、第2のOSをブートさせるための情
報は、具体的には、例えば第1のOSの制御下で、通信
回線を介してコンピュータの外部よりファイルとして受
信することにより取得することができる。この場合、サ
ーバとの間の通信が第1のOSの制御下で行われるの
で、第2のOSをブートさせるための情報を、リモート
でブートさせるための特別なプロトコルに依存すること
なく、第1のOSの制御下で利用可能な汎用的な通信形
態により容易に取得することができる(例えばWebブラ
ウザによりWebサーバ(ネットワーク・ドライブ)から
ファイルとしてダウンロードしたり、電子メールの添付
ファイルとして受信する等)。
【0016】なお、第2のOSをブートさせるための情
報を通信回線を介して外部よりファイルとして受信する
ことにより取得する場合、取得した情報はメモリ等から
成るコンピュータの主記憶装置に直ちに記憶するように
してもよいが、ハードディスク等から成るコンピュータ
の二次記憶装置に一旦記憶するようにすれば、前記取得
した情報を後に主記憶装置に書き込む迄の期間に、主記
憶装置の記憶領域が圧迫されることを回避することがで
きる。
【0017】また、第2のOSをブートさせるための情
報がコンピュータの二次記憶装置に事前に書き込まれて
いる場合には、第2のOSをブートさせるための情報
を、第1のOSの制御下で、二次記憶装置から読み出す
ことにより取得するようにしてもよい。この態様におい
て、第2のOSをブートさせるための情報を二次記憶装
置に事前に書き込んでおくための前記情報の入手は、通
信回線を介して外部より前記情報を受信することで入手
してもよいし、FD等の情報記憶媒体のドライブがコン
ピュータに設けられている場合には、前記情報が書き込
まれた情報記憶媒体から前記情報を読み出すことで入手
することも可能である。
【0018】また本発明では、取得した情報をコンピュ
ータの主記憶装置に書き込み、第1のOSの終了を検知
すると、前記主記憶装置に書き込んだ情報を消去するこ
となく、前記主記憶装置に書き込んだ情報によりコンピ
ュータ上で第2のOSをブートさせる。コンピュータを
再起動させるような場合には主記憶装置に記憶されてい
る情報が消去されるが、本発明は主記憶装置に書き込ん
だ情報が消去されることはないので、主記憶装置に書き
込んだ情報により第2のOSをブートさせることができ
る。
【0019】また、主記憶装置に書き込んだ情報は、次
にコンピュータを再起動したときには消去されるので、
第2のOSをブートさせるために、例えば二次記憶装置
の記憶領域を複数のパーティションに分割し、特定のパ
ーティションに固定的に情報を記憶することで二次記憶
装置の記憶領域が圧迫されたり、マスタ・ブート・レコ
ードを書き替える、或いはFDをセットしてコンピュー
タを起動する等の煩雑な作業を行う必要もない。また、
コンピュータにFDDが設けられていない場合にも実施
可能である。
【0020】従って、本発明によれば、コンピュータ上
でブートさせるOSを、第1のOSから第1のOSと異
なる第2のOSへ切り替えることを容易に実現すること
ができると共に、リモートでブートさせるための特別な
プロトコルに依存することなく本発明を実施できるので
汎用性にも優れている。
【0021】ところで、第2のOSをブートさせるため
の情報に、第2のOSのブート・イメージ・ファイルが
含まれている場合、コンピュータ上で第2のOSをブー
トさせることは、第2のOSのブート・イメージ・ファ
イルをコンピュータの主記憶装置に書き込み、第1のO
Sが終了した後に、ファームウェアのブート・ストラッ
プ・コードによって主記憶装置の第2のOSのブート・
イメージ・ファイルを書き込んだ領域がアクセスされる
ようにすることによって実現できる。
【0022】また、ファームウェアのブート・ストラッ
プ・コードによって主記憶装置の第2のOSのブート・
イメージ・ファイルを書き込んだ領域がアクセスされる
ようにすることは、二次記憶装置I/Oサービス・コー
ドをフックすること(ジャンプ先が登録されたテーブル
を参照してテーブルに登録されているジャンプ先へジャ
ンプする間接ジャンプにおいて、テーブルを書き替えて
ジャンプ先を変更すること)により実現できる。これに
より、ファームウェアのブート・ストラップ・コードを
変更することなく第2のOSをブートすることができ
る。
【0023】また、主記憶装置の各記憶領域をどのよう
な用途に用いるかはOSによって異なっている。このた
め、本発明において、例えば第1のOSの終了を検知す
る前等の時期には、第2のOSをブートさせるための情
報を、主記憶装置の記憶領域のうち第1のOSの制御下
で上書きされない領域に一旦書き込んでおき、例えば第
1のOSの終了を検知しかつ第2のOSをブートさせる
前等のタイミングで、前記書き込んだ情報の一部又は全
部(少なくとも現時点以降の処理で使用される情報)
を、主記憶装置の記憶領域のうち少なくとも第2のOS
のブートによって上書きされない領域に再配置すること
が好ましい。上記のように情報の再配置を行うことによ
り、再配置した情報が第2のOSのブートによって上書
きされて破壊されることを回避することができ、第2の
OSを正常にブートすることができる。
【0024】なお、情報を再配置する領域は、主記憶装
置の記憶領域のうち、第2のOSのブートによって上書
きされず、かつ第2のOSがブートされた後の第2のO
Sの制御下でも上書きされない領域であってもよいし、
第2のOSがブートされた後には前記再配置する情報を
用いない場合には、第2のOSのブートによって上書き
されず、第2のOSがブートされた後の第2のOSの制
御下で上書きされる領域に前記情報を再配置するように
してもよい。
【0025】また本発明において、コンピュータ上で第
2のOSをブートさせた後に、第2のOSが稼動してい
る状態で実行させるべき処理(プログラム)としては、
例えばファームウェアを更新するプログラム、特別なプ
ロトコルを必要とするネットワーク・ブートを行うプロ
グラム、セットアップを行うプログラム、コンピュータ
・システムの診断を行うプログラム、第1のOSの稼動
状態では動作が保証されない、或いは実行に適さない処
理を行うプログラムが挙げられる。
【0026】また、本発明において、第1のOSが、例
えば自動プログラム起動機能や自動ログオン機能等を備
えている場合には、これらの機能を利用することによ
り、コンピュータ上での第1のOSのブートから、少な
くともコンピュータ上での第2のOSのブートに至る一
連の処理(又は第2のOSがブートした後に実行すべき
処理の実行も含んだ一連の処理)を自動的に連続して行
なわせることも可能である。これにより、コンピュータ
に一連の処理を行なわせるための利用者の作業を省力化
することができる。
【0027】また本発明は、コンピュータ上でブートさ
せるOSを2種類のOSの中で切り替えることに限定さ
れるものではなく、例えばOS#1が稼動している状態
のコンピュータに対して本発明を適用し、前記コンピュ
ータ上でOS#2をブートさせた後に、OS#2が稼動
している状態の前記コンピュータに対し、OS#2を本
発明に係る第1のOSとして本発明を適用し、前記コン
ピュータ上でOS#3をブートさせることも可能であ
り、上記を繰り返すことにより、コンピュータ上でブー
トさせるOSを3種類以上のOSの中で切り替えること
も可能である。
【0028】また、コンピュータ上でブートさせるOS
を3種類以上のOSの中で切り替えることは、例えば第
1のOSと異なる第2のOSをブートさせるための情報
として、互いに異なる複数種のOSをブートさせるため
の情報を各々取得し、OSの終了(第1のOS又は他の
OSの終了)を検知する毎に、前記複数種のOSのうち
ブート未実行のOSを前記コンピュータ上でブートさせ
ることによっても実現できる。
【0029】更に本発明において、第2のOSをブート
させるための情報を取得する前、又は取得した後に、コ
ンピュータの利用者が第2のOSの正当な利用者か否か
を確認することが好ましい。正当な利用者か否かの確認
は、例えば利用者にパスワードを入力させ、入力された
パスワードを予め登録されたパスワードと照合すること
で行うことができる。これにより、正当な利用者以外の
他者が、第2のOSをブートさせるための情報を取得し
てコンピュータ上で第2のOSをブートしたり、第2の
OSが稼動している状態で所望の処理を実行させる等の
ように、コンピュータを不正に使用することを防止する
ことができる。
【0030】更に、第2のOSのアプリケーション・プ
ログラムの中に、システムの構成によって動作させるこ
とができないものを含むことがある。そのような場合
に、システム構成の一部又は識別ID等のシステムに関
連する情報を利用者に入力させるか、システムから自動
的に取得し、第2のOSのアプリケーション・プログラ
ムと照合することにより、第2のOSのアプリケーショ
ン・プログラムを含む第2のOSのブート・イメージが
コンピュータ上で誤ってブートされ、実行されてしまう
ことを防止することができる。
【0031】また、第2のOSをブートさせるための情
報が不正に改ざんされた情報でないことを認証するプロ
トコルを実施した後に第2のOSをブートすることによ
り、正当な利用者以外の他者がコンピュータを第2のO
Sの下で不正に使用することを防止することができる。
【0032】また、本発明に係るコンピュータは、第1
のOSが稼動している状態で、第1のOSと異なる第2
のOSをブートさせるための情報が第1のOSの制御下
で取得手段によって取得され、取得手段によって取得さ
れた情報が書込手段によってコンピュータの主記憶装置
に書き込まれ、第1のOSの終了を検知すると、ブート
制御手段により、書込手段によって主記憶装置に書き込
まれた情報が消去されることなく、前記主記憶装置に書
き込まれた情報によりコンピュータ上で第2のOSがブ
ートされるので、ブートさせるOSを容易に切り替え可
能となる。
【0033】また、本発明に係る記録媒体には、コンピ
ュータ上で第1のOSが稼動している状態で、第1のO
Sと異なる第2のOSをブートさせるための情報を第1
のOSの制御下で取得する第1のステップ、取得した情
報をコンピュータの主記憶装置に書き込む第2のステッ
プ、第1のOSの終了を検知すると、主記憶装置に書き
込んだ情報を消去することなく、主記憶装置に書き込ん
だ情報によりコンピュータ上で第2のOSをブートさせ
る第3のステップを含む処理、すなわち本発明に係るコ
ンピュータの制御方法をコンピュータによって実現する
ためのプログラムが記録されているので、コンピュータ
が前記記録媒体に記録されたプログラムを読み出して実
行することにより、コンピュータ上でブートさせるOS
を切り替えることを容易に実現できる。
【0034】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態の一例を詳細に説明する。図1には、本発明を実
現するのに適した典型的なパーソナル・コンピュータ
(PC)から成るコンピュータ・システム10のハード
ウェア構成がサブシステム毎に模式的に示されている。
本発明を実現するPCの一例は、OADG(PC Open Ar
chitecture Developer's Group)仕様に準拠し、オペレ
ーティング・システム(OS)として米マイクロソフト
社の”Windows98又はNT”又は米IBM社
の”OS/2”を搭載したノートブック型のPC12
(図2参照)である。以下、コンピュータ・システム1
0の各部について説明する。
【0035】コンピュータ・システム10全体の頭脳で
あるCPU14は、OSの制御下で、各種プログラムを
実行する。CPU14は、例えば米インテル社製のCP
Uチップ”Pentium”、”MMXテクノロジPe
ntium”、”Pentium Pro”や、AMD
社等の他社製のCPUでも良いし、IBM社製の”Po
werPC”でも良い。CPU14は、頻繁にアクセス
するごく限られたコードやデータを一時格納すること
で、メイン・メモリ16への総アクセス時間を短縮する
ための高速動作メモリであるL2(レベル2)−キャッ
シュを含んで構成されている。L2−キャッシュは、一
般にSRAM(スタティックRAM)チップで構成さ
れ、その記憶容量は例えば512kB又はそれ以上であ
る。
【0036】CPU14は、自身の外部ピンに直結され
たプロセッサ直結バスとしてのFSB18、高速のI/
O装置用バスとしてのPCI(Peripheral Component I
nterconnect)バス20、及び低速のI/O装置用バス
としてのISA(Industry Standard Architecture)バ
ス等から成るI/Oバス22という3階層のバスを介し
て、後述の各ハードウェア構成要素と相互接続されてい
る。
【0037】FSB18とPCIバス20は、一般にメ
モリ/PCI制御チップ24と呼ばれるブリッジ回路
(ホスト−PCIブリッジ)によって連絡されている。
本実施形態のメモリ/PCI制御チップ24は、メイン
・メモリ16へのアクセス動作を制御するためのメモリ
・コントローラ機能や、FSB18とPCIバス20の
間のデータ転送速度の差を吸収するためのデータ・バッ
ファ等を含んだ構成となっており、例えばインテル社製
の440EXや440GX等を用いることができる。
【0038】メイン・メモリ16は、CPU14の実行
プログラムの読み込み領域として、或いは実行プログラ
ムの処理データを書き込む作業領域として利用される書
き込み可能メモリである。メイン・メモリ16は、一般
には複数個のDRAM(ダイナミックRAM)チップで
構成され、例えば32MBを標準装備し256MBまで
増設可能である。近年では、更に高速化の要求に応える
べく、DRAMは高速ページDRAM、EDO DRA
M、シンクロナスDRAM(SDRAM)、バーストE
DO DRAM、RDRAM等へと変遷している。
【0039】なお、ここでいう実行プログラムには、W
indows98等のOS、周辺機器類をハードウェア
操作するための各種デバイス・ドライバ、特定業務に向
けられたアプリケーション・プログラムや、フラッシュ
ROM56(詳細は後述)に格納されたBIOS(Basi
c Input/Output System:キーボードやフロッピーディ
スク・ドライブ等の各ハードウェアの入出力操作を制御
するためのプログラム)等のファームウェアが含まれ
る。
【0040】PCIバス20は、比較的高速なデータ伝
送が可能なタイプのバス(例えばバス幅32/64ビッ
ト、最大動作周波数33/66/100MHZ、最大デ
ータ転送速度132/264MBps)であり、カード
バス・コントローラ30のような比較的高速で駆動する
PCIデバイス類がこれに接続される。なお、PCIア
ーキテクチャは、米インテル社の提唱に端を発したもの
であり、いわゆるPnP(プラグ・アンド・プレイ)機
能を実現している。
【0041】ビデオ・サブシステム26は、ビデオに関
連する機能を実現するためのサブシステムであり、CP
U14からの描画命令を実際に処理し、処理した描画情
報をビデオメモリ(VRAM)に一旦書き込むと共に、
VRAMから描画情報を読み出して液晶ディスプレイ
(LCD)28(図2参照)に描画データとして出力す
るビデオ・コントローラを含む。また、ビデオ・コント
ローラは、付設されたデジタル−アナログ変換器(DA
C)によってデジタルのビデオ信号をアナログのビデオ
信号へ変換することができる。アナログのビデオ信号
は、信号線を介してCRTポート(図示省略)へ出力さ
れる。
【0042】また、PCIバス20にはカードバス・コ
ントローラ30、オーディオ・サブシステム32及びモ
デム・サブシステム34が各々接続されている。カード
バス・コントローラ30は、PCIバス20のバス・シ
グナルをPCIカードバス・スロット36のインタフェ
ース・コネクタ(カードバス)に直結させるための専用
コントローラである。カードバス・スロット36には、
例えばPC12本体の壁面に配設され、PCMCIA
(Personal Computer Memory Association)/JEID
A(Japan Electronic Industry Development Associat
ion)が策定した仕様(例えば”PC Card standard 9
5”)に準拠したPCカード(図示せず)が装填され
る。
【0043】また、モデム・サブシステム34にはLA
Nや電話回線等の通信回線が接続される。コンピュータ
・システム10はこれらの通信回線を介してインターネ
ットに接続可能とされている。
【0044】PCIバス20とI/Oバス22は多機能
PCIデバイス38によって相互に接続されている。多
機能PCIデバイス38は、PCIバス20とI/Oバ
ス22とのブリッジ機能、DMAコントローラ機能、プ
ログラマブル割り込みコントローラ(PIC)機能、及
びプログラマブル・インターバル・タイマ(PIT)機
能、IDE(Integrated Drive Electronics)インタフ
ェース機能、USB(Universal Serial Bus)機能、S
MB(System Management Bus)インタフェース機能を
備えており、例えばインテル社製のPIIX4というデ
バイスを用いることができる。
【0045】なお、DMAコントローラ機能は、周辺機
器(たとえばFDD)とメイン・メモリ16との間のデ
ータ転送をCPU14の介在なしに実行するための機能
である。またPIC機能は、周辺機器からの割り込み要
求(IRQ)に応答して所定のプログラム(割り込みハ
ンドラ)を実行させる機能である。また、PIT機能は
タイマ信号を所定周期で発生させる機能であり、その発
生周期はプログラマブルである。
【0046】また、IDEインタフェース機能によって
実現されるIDEインタフェースには、IDEハードデ
ィスク・ドライブ(HDD)40が接続される他、ID
ECD−ROMドライブ42がATAPI(AT Attachm
ent Packet Interface)接続される。また、IDE C
D−ROMドライブ42の代わりに、DVD(Digital
Video Disc又はDigital Versatile Disc)ドライブのよ
うな他のタイプのIDE装置が接続されていても良い。
HDD40やCD−ROMドライブ42等の外部記憶装
置は、例えばPC12本体内の「メディア・ベイ」又は
「デバイス・ベイ」と呼ばれる収納場所に格納される。
これら標準装備された外部記憶装置は、FDDやバッテ
リ・パックのような他の機器類と交換可能かつ排他的に
取り付けられる場合もある。
【0047】なお、メイン・メモリ16は本発明に係る
主記憶装置に対応しており、HDD40は本発明に係る
二次記憶装置に対応している。
【0048】また、多機能PCIデバイス38にはUS
Bポートが設けられており、このUSBポートは、例え
ばPC12本体の壁面等に設けられたUSBコネクタ4
4と接続されている。USBは、電源投入のまま新しい
周辺機器(USBデバイス)を抜き差しする機能(ホッ
ト・プラギング機能)や、新たに接続された周辺機器を
自動認識しシステム・コンフィギュレーションを再設定
する機能(プラグ・アンド・プレイ)機能)をサポート
している。1つのUSBポートに対して、最大63個の
USBデバイスをディジーチェーン接続することができ
る。USBデバイスの例は、キーボード、マウス、ジョ
イスティック、スキャナ、プリンタ、モデム、ディスプ
レイモニタ、タブレットなど様々である。
【0049】更に、多機能PCIデバイス38にはSM
バスを介してEEPROM50が接続されている。EE
PROM50はユーザによって登録されたパスワードや
スーパーバイザー・パスワード、製品シリアル番号等の
情報を保持するためのメモリであり、不揮発性で記憶内
容を電気的に書き替え可能とされている。
【0050】I/Oバス22は、PCIバス20よりも
データ転送速度が低いバスであり(例えばバス幅16ビ
ット、最大データ転送速度4MBps)、Super
I/Oコントローラ46、電源コントローラ48、EE
PROM等から成るフラッシュROM56、CMOS5
8に加え、リアルタイム・クロック(RTC)や、キー
ボード/マウス・コントローラのような比較的低速で動
作する周辺機器類(何れも図示省略)を接続するのに用
いられる。
【0051】Super I/Oコントローラ46には
I/Oポート52が接続されており、フロッピーディス
ク・ドライブ(FDD)の駆動、パラレル・ポートを介
したパラレル・データの入出力(PIO)、シリアル・
ポートを介したシリアル・データの入出力(SIO)を
制御するための周辺コントローラである。
【0052】電源コントローラ48は主にコンピュータ
・システム10のパワー・マネージメントやサーマル・
マネージメントを行うものであり、MPU,RAM,R
OM及びタイマ等を備えたシングルチップ・マイコンで
構成することができる。ROMにはパワー・マネージメ
ントやサーマル・マネージメントを実行するのに必要な
プログラム及び参照テーブルが格納されている。電源コ
ントローラ48にはパワー・サプライ・コントローラ5
4が接続されている。パワー・サプライ・コントローラ
54には、バッテリを充電するための充電器、コンピュ
ータ・システム10で使用される5V,3.3V等の直
流定電圧を生成するためのDC/DCコンバータが含ま
れ、電源コントローラ48の下で電力制御を行う。
【0053】フラッシュROM56は、BIOSやブー
ト・ストラップ・コード等のファームウェアのプログラ
ムを保持するためのメモリであり、不揮発性で記憶内容
を電気的に書き替え可能とされている。また、CMOS
58は揮発性の半導体メモリがバックアップ電源に接続
されて構成されており、不揮発性でかつ高速の記憶手段
として機能する。
【0054】なお、コンピュータ・システム10を構成
するためには、図1に示した以外にも多くの電気回路が
必要である。但し、これらは当業者には周知であり、ま
た、本発明の要旨を構成するものではないので、本明細
書中では説明を省略する。また、図面の錯綜を回避する
ため、図中の各ハードウェアブロック間の接続も一部し
か図示していないことを付記しておく。
【0055】次に本実施形態の作用として、まず、コン
ピュータ・システム10の電源スイッチがオンされるこ
とによって実行される第1のOSのブートについて、図
3のフローチャートを参照して説明する。なお、第1の
OSとしては、例えば米マイクロソフト社の”Wind
ows98又はNT”や米IBM社の”OS/2”のよ
うなファイル・システムを備えたOSを適用することが
できる。
【0056】電源スイッチがオンされると、フラッシュ
ROM56の記憶領域のうち、BIOSの一部であるP
OST(Power On Self Test)のプログラムが記憶され
ている領域がアクセスされ、POSTのプログラムが実
行される。これにより、図3に「システムテスト・初期
化コード」として示すように、コンピュータ・システム
10の各ハードウェアがテストされると共にメイン・メ
モリ16の初期化(記憶内容のクリア)が行われ(ステ
ップ100)、続いてコンピュータ・システム10のハ
ードウェア環境の初期化(具体的には外部ハードウェア
割り込みベクタの初期化、外部ハードウェアの初期化、
ソフトウェア割り込みベクタの初期化等)が行われる
(ステップ102)。
【0057】また、メイン・メモリ16には、POST
等を含むBIOS、ブート・ストラップ・コード、二次
記憶装置I/Oサービス等のファームウェアを記憶する
ための領域(システムBIOS領域:例として図9参
照)が設けられている。POSTは、これらのファーム
ウェアをフラッシュROM56からメイン・メモリ16
のシステムBIOS領域にコピーした後に、図3に「ブ
ートストラップコードへジャンプ」と記されているよう
に、メイン・メモリ16上のシステムBIOS領域のう
ち、ブート・ストラップ・コードが記憶されている領域
へジャンプする。
【0058】これにより、ブート・ストラップ・コード
が実行され、まず予め定められた優先順位に従って複数
のブート・ドライブ(OSのブート・イメージが格納さ
れている可能性のある二次記憶装置のドライブ(FDD
やHDD40等):通常Aドライブ(FDD)が最優
先)が順にアクセスされ、ブートすべきOSのブート・
イメージが探索される。本実施形態では第1のOSのブ
ート・イメージがHDD40に記憶されており、FDD
にFDがセットされていなければ、ブートすべきOSの
ブート・イメージとして、HDD40に記憶されている
第1のOSのブート・イメージが発見される。そして、
第1のOSのブート・イメージのうち、第1のOSをメ
イン・メモリ16にロードするための一連の命令コード
(第1のOSのローダ:第1のOSのブート・イメージ
の先頭に位置している)が、HDD40からメイン・メ
モリ16へロードされる(ステップ106)。
【0059】ブート・ストラップ・コードによる処理が
終了すると、図3に「第1のOSのローダへジャンプ」
と記されているように、メイン・メモリ16の記憶領域
のうち第1のOSのローダをロードした領域の先頭へジ
ャンプし、第1のOSのローダのプログラム(一連の命
令コード)が実行される。これにより、第1のOSのブ
ート・イメージのうち、第1のOS本体に相当する一連
の命令コードが、HDD40からメイン・メモリ16へ
ロードされる(ステップ110)。
【0060】第1のOSのローダによる処理が終了する
と、図3に「第1のOSのスタートへジャンプ」と記さ
れているように、メイン・メモリ16の記憶領域のうち
ローダとOSによって予め取り決められた第1のOSの
スタート番地へジャンプし、第1のOSのプログラム
(一連の命令コード)が実行される。これにより第1の
OSがブートされ、コンピュータ・システム10上で第
1のOSが稼動している状態となる。
【0061】次に、第1のOSが稼動している状態か
ら、第1のOSと異なる第2のOSをブートさせ、第2
のOSの制御下で所定のアプリケーションを実行させる
一連の処理について、図4(及び図5)のフローチャー
トを参照して説明する。なお、以下では第2のOSの一
例として、DOSを適用した場合について説明する。
【0062】図4(及び図5)に示す一連の処理は、シ
ステム又はユーザがOS切り替え起動プログラムを起動
することにより実行を開始する。なお、OS切り替え起
動プログラムは、例えば後述するステップ130と同様
にしてサーバからダウンロードすることで取得すること
ができる。また、OS切り替え起動プログラムは、第1
のOSの制御下で実行されるアプリケーション・プログ
ラムとして予めHDD40等にインストールされていて
もよい。
【0063】ステップ130では、第2のOSをブート
し第2のOSの制御下で所定のアプリケーションを実行
するための情報を、第1のOSの制御下で、ネットワー
ク(例えばインターネット)を経由してサーバからダウ
ンロードする。なお、本実施形態において、第2のOS
をブートするための情報は、第2のOSのブート・イメ
ージ・ファイル、デバイス・ドライバ、及び二次記憶装
置I/Oパッチ・プログラムから構成されており、第2
のOSのブート・イメージ・ファイルには、第2のOS
のローダ、第2のOS本体、及び第2のOSの制御下で
実行すべき所定のアプリケーション・プログラムが含ま
れている。
【0064】ダウンロードの方法としては種々の方法が
あり、例えばコンピュータ・システム10の利用者が閲
覧ソフト(ブラウザ)等を起動し、サーバによって提供
されるダウンロードを行うためのホームページを閲覧す
ることでダウンロードする方法がある。一例として図6
に示すホームページでは、第2のOSの制御下で実行可
能でダウンロード可能な複数種のアプリケーション・プ
ログラム(図6の例ではコンピュータ・システム10に
対してベンチマーク・テストを行うためのプログラム、
BIOSの更新を行うためのプログラム、及びコンピュ
ータ・システム10の自己診断を行うためのプログラム
の3種類)の名称が各々表示されている。
【0065】この場合、一例として複数種のアプリケー
ション・プログラムの名称の中から、利用者が実行を所
望しているアプリケーション・プログラムの名称が利用
者によって選択されると、まずOS切り替え起動プログ
ラムがサーバからコンピュータ・システム10にバイナ
リ・ファイルとしてダウンロードされ、コンピュータ・
システム10上でOS切り替え起動プログラムが起動さ
れてステップ130が実行されることにより、選択され
たアプリケーション・プログラムを含む第2のOSのブ
ート・イメージ・ファイル、デバイス・ドライバ、二次
記憶装置I/Oパッチ・プログラムが順にバイナリ・フ
ァイルとしてダウンロードされるようにすることができ
る。
【0066】また、他のダウンロードの方法として、例
として図7に示すように、第2のOSのブート・イメー
ジ・ファイル、デバイス・ドライバ、二次記憶装置I/
Oパッチ・プログラム(及びOS切り替え起動プログラ
ム)を電子メールの添付ファイルとして受信する方法が
ある。
【0067】図7の例では、送信者により、OS切り替
え起動プログラム(図7では「doboot.exe」と表記)、
デバイス・ドライバ(図7では「dosboot.sys」及び「D
OSBOOT.vxd」と表記)、二次記憶装置I/Oパッチ・プ
ログラム(図7では「dosboot.com」と表記)、及びB
IOSを更新するアプリケーション・プログラムを含む
第2のOSのブート・イメージ・ファイル(図7では
「biosupdt.img」と表記)がバイナリ・ファイルとして
各々添付されて送信された電子メールがコンピュータ・
システム10で受信され、受信した電子メールを開いた
状態の画面イメージが示されている。これらのバイナリ
・ファイルを一旦二次記憶装置の仮のディレクトリにダ
ウンロードし、「doboot.exe」と表記されたOS切り替
え起動プログラムのアイコンをクリックすればOS切り
替え起動プログラムがメイン・メモリ16にロードされ
て次のステップ132以降の処理が実行されることにな
る。
【0068】なお、上述した各種のダウンロードは、何
れも第1のOSの制御下で行われるダウンロードであ
り、リモートでブートさせるための特別なプロトコルに
依存することなく、汎用的なプロトコルによってダウン
ロードを行うことができる。また、ダウンロードされた
デバイス・ドライバ、二次記憶装置I/Oパッチ・プロ
グラム、及び第2のOSのブート・イメージ・ファイル
は、第1のOSによってファイルとして認識され、第1
のOSのファイル・システムの管理下でHDD40に一
旦記憶される。
【0069】次のステップ132では、例として図8に
示すようなパスワード入力画面をLCD28に表示する
等により、利用者に対してパスワードの入力が要請され
る。パスワードが一致していなかった場合には、ステッ
プ134の判定が否定されてOS切り替え起動プログラ
ムによる処理を終了する。この場合、次のステップ13
6以降の処理は行われず、第2のOSがブートされるこ
とはないので、正当な利用者以外の他者によるコンピュ
ータ・システム10の不正使用を防止することができ
る。なお、正当な使用者か否かの確認は上記のタイミン
グで行うことに限定されるものではなく、例えば第1の
OSのファイル・システムによって管理されているデバ
イス・ドライバや二次記憶装置I/Oパッチ・プログラ
ム、第2のOSのブート・イメージ・ファイルがアクセ
スされたときに行うようにしてもよい。
【0070】また、パスワードが一致していた場合に
は、ステップ134の判定が肯定されてステップ136
へ移行し、HDD40にファイルとして記憶されている
デバイス・ドライバ(一連の命令コードから成るバイナ
リ・ファイル)をメイン・メモリ16に常駐コードとし
てロード(詳しくは、第1のOSの終了時にフックした
コードから制御を受け取る(詳細は後述)ために、二次
記憶装置に退避されない常にメイン・メモリ16に存在
するコードとしてロードする)した後に、デバイス・ド
ライバを起動させる。起動されたデバイス・ドライバ
は、OS切り替え起動プログラムからOS終了のフック
が要求される迄待機する(ステップ144)。
【0071】OS切り替え起動プログラムは、デバイス
・ドライバを起動させると、次のステップ138でデバ
イス・ドライバに対してOS終了のフックを要求する。
これにより、デバイス・ドライバは第1のOSの終了を
フックする処理を行う。すなわち、第1のOSは、例え
ばコンピュータ・システム10の再起動や電源オフのた
めに終了処理の実行が指示されると、起動されているア
プリケーション・プログラムを全て終了させ、開かれて
いる全てのファイルをクローズし、必要に応じてデータ
を保存する一連のOS終了処理を行い、OS終了処理が
完了した後にコンピュータ・システムの再起動又は電源
オフを行うプログラム(これもOSの一部)にジャンプ
し、コンピュータ・システムの再起動又は電源オフを行
う。
【0072】コンピュータ・システムの再起動(又は電
源オフ)を行うプログラムへのジャンプは、ジャンプ先
が登録されたテーブルを参照して、テーブルに登録され
ているジャンプ先にジャンプする間接ジャンプである。
デバイス・ドライバは、前記テーブルに登録されている
ジャンプ先を書き替えることによって第1のOSの終了
をフックし、OS終了処理が完了した後に、CPU14
の制御がコンピュータ・システムの再起動(又は電源オ
フ)を行うプログラムへジャンプする代わりに、メイン
・メモリ16の記憶領域のうちデバイス・ドライバがロ
ードされている領域にジャンプし、自ら(デバイス・ド
ライバ)に移るようにする。
【0073】また、デバイス・ドライバは第1のOSの
終了をフックする処理を行うと、次のステップ148に
おいて、第1のOSに対してメイン・メモリ16の記憶
領域にワーク領域を確保するよう依頼し、HDD40に
ファイルとして記憶されている二次記憶装置I/Oパッ
チ・プログラム、第2のOSのブート・イメージ・ファ
イル(何れも一連の命令コードから成るバイナリ・ファ
イル)を、第1のOSによって確保されたワーク領域
(第1のOSの制御下で上書きされない領域)にロード
する(図9(A)の「二次記憶装置I/Oパッチプログ
ラム」及び「DOSブートイメージ」を参照)。そして
デバイス・ドライバは、ステップ148を実行後に処理
を中断する。
【0074】一方、OS切り替え起動プログラムでは、
デバイス・ドライバに対してOS終了のフックを要求す
ると、次のステップ140において、第1のOSに対し
てOS終了を要求する。このOS終了要求は、OS切り
替え起動プログラム自身が第1のOSの終了を指示する
OSのサービスを呼び出すか、又は利用者のインタラク
ティブな操作によって第1のOSの終了が指示される
(例えば利用者に対し「現在稼動中のOSの終了を指示
すれば、ダウンロードしたアプリケーションが実行され
ます」等の案内メッセージをLCD28に表示し、この
案内メッセージに従って利用者がOSの終了を指示する
等)ことによって行われる。上記のようにOSの終了を
要求すると、OS切り替え起動プログラムは処理を終了
する。
【0075】稼動中の第1のOSは、OS終了要求が有
る(ステップ158の判定が肯定される)迄の間は通常
の処理(ステップ156)を行うが、OS切り替え起動
プログラムからOS終了が指示されるとステップ158
の判定が肯定され、通常の手順でコンピュータ・システ
ム10の再起動や電源オフが指示された場合と同様に、
起動されているアプリケーション・プログラムを全て終
了させ、開かれている全てのファイルをクローズし、必
要に応じてデータを保存する一連のOS終了処理を行う
(ステップ160)。
【0076】ここで、通常の手順でコンピュータ・シス
テム10の再起動や電源オフが指示された場合には、O
S終了のフック(ステップ146)が行われていない
(ステップ162の判定が否定)ので、コンピュータ・
システムの再起動又は電源オフを行うプログラムにジャ
ンプし、コンピュータ・システムの再起動又は電源オフ
が行われる。しかし、OS終了のフックが行われていた
場合(ステップ162の判定が肯定される)には、OS
終了処理が完了するとCPU14の制御がデバイス・ド
ライバに移ることでデバイス・ドライバの処理が再開さ
れる。
【0077】ところで、本実施形態において第2のOS
として用いているDOSは、プロセッサ(CPU14)
のモードがリアル・モードの状態で動作するのに対し、
第1のOSとして適用可能な他のOS(本実施形態にお
いて第1のOSの一例として挙げた”Windows9
8又はNT”や”OS/2”、或いはその他のOS)は
プロセッサのモードがリアル・モード以外のモードにな
っている状態で動作する。このため、第2のOSをブー
トするにあたってはプロセッサのモードを変更する必要
がある。しかし、プロセッサのモードを変更すると、プ
ロセッサの仮想記憶機構が有効になったり無効になった
りすることがある(一例としてプロセッサのモード
を、”Windows”等のOSが動作可能なモードか
らリアル・モードへ変更した場合、仮想記憶機構は有効
→無効に変化する)。
【0078】従って、再起動されたデバイス・ドライバ
は、次のステップ150において、プロセッサのモード
を変更するための前処理として、プロセッサのモードを
第2のOSが動作可能なモード(本実施形態ではリアル
・モード)へ変更するための一連のプログラム・コード
(プロセッサのモードを遷移させる一連の命令コード)
を、メイン・メモリ16の記憶領域のうち、仮想アドレ
スと物理アドレスが同一の領域(仮想記憶機構が有効→
無効(又はその逆)に変化しても同一の領域として認識
される領域)にロードする。
【0079】また、メイン・メモリ16に既にロードし
た二次記憶装置I/Oパッチ・プログラム及び第2のO
Sのブート・イメージ・ファイルについても、第2のO
Sが動作するモードでアクセス可能である必要がある。
このため、ステップ150では、メイン・メモリ16の
記憶領域上で物理的に連続している領域を確保し、二次
記憶装置I/Oパッチ・プログラム及び第2のOSのブ
ート・イメージ・ファイルを前記確保した領域に転送
(再配置)する。
【0080】上記の処理を行うと、メイン・メモリ16
の記憶領域のうち、ステップ150で一連のプログラム
・コードをロードした領域にジャンプし、前記一連のプ
ログラム・コードを実行する。これにより、プロセッサ
自身のモードが第2のOSが動作可能なモード(リアル
・モード)へ遷移する(ステップ152)。なお、プロ
セッサのモードを遷移させる一連のプログラム・コード
は仮想アドレスと物理アドレスが同一の領域にロードさ
れているので、プロセッサのモードの遷移に拘わらず、
一連のプログラム・コードを最後まで正常に実行するこ
とができる。
【0081】一連のプログラム・コードを最後まで実行
し、プロセッサのモードの変更が完了すると、図4に
「パッチプログラムへジャンプ」と記されているよう
に、メイン・メモリ16の記憶領域のうち、先のステッ
プ150で二次記憶装置I/Oパッチ・プログラムを転
送した領域へジャンプし、二次記憶装置I/Oパッチ・
プログラムが起動される。以下、二次記憶装置I/Oパ
ッチ・プログラムによって実現される処理について、図
5のフローチャートを参照して説明する。
【0082】ステップ170では、あたかもコンピュー
タ・システム10のファームウェアが第2のOSを直接
ロードしたかのように(第2のOSが第1のOSとして
ロードされるかのように)、BIOSの一部であるPO
STに代わってハードウェア環境の初期化(具体的には
外部ハードウェア割り込みベクタの初期化、外部ハード
ウェアの初期化、ソフトウェア割り込みベクタの初期化
等)を行う。なお、ソフトウェア割り込みベクタの一部
である二次記憶装置I/Oサービス割り込みベクタにつ
いては、後述するように再初期化される。
【0083】また、第2のOSをブートするためには、
メイン・メモリ16への第2のOS本体のロードによ
り、メイン・メモリ16に記憶されている第2のOSの
ブート・イメージ・ファイル及び二次記憶装置I/Oパ
ッチ・プログラムが破壊(上書き)されないようにする
必要がある。このため、次のステップ172では、第2
のOSのブート・イメージ・ファイル及び二次記憶装置
I/Oパッチ・プログラム自身を、第2のOSのロード
によって上書きされない領域(第2のOS本体がロード
されず、第2のOSのワーク領域として使用されること
もない領域)へ転送する。
【0084】具体的には、例えば第2のOSとしてのD
OSの制御下では、図9に示すように、メイン・メモリ
16の記憶領域のうち、アドレスE0000h(「h」は1
6進数表示であることを表す)を先頭とする所定サイズ
の領域はPOST等を含むBIOS、ブート・ストラッ
プ・コード、二次記憶装置I/Oサービス等のファーム
ウェアの命令コードを記憶するための領域(システムB
IOS領域)として用いられ、アドレス400hを先頭と
する所定サイズの領域は前記ファームウェアのデータを
記憶するための領域(BDA:BIOSデータ領域)と
して用いられる。
【0085】また、メイン・メモリ16の記憶領域に
は、BIOSデータ領域と別に、ファームウェアのデー
タを記憶するための第2の領域(EBDA=Extended B
IOS Data Area:拡張BIOSデータ領域)も設けられ
ている。この拡張BIOSデータ領域の先頭アドレスは
BIOSデータ領域の中のアドレス40Eh,40Fhにデー
タとして記憶されている(アドレス40Eh,40Fhに記憶
されているデータは通常はセグメントXを指している:
図9(A)参照)。
【0086】このためステップ172では、拡張BIO
Sデータ領域がセグメントXよりも低アドレス(詳しく
は二次記憶装置I/Oパッチ・プログラムを記憶するの
に必要なサイズ分だけ低アドレス)のセグメントYから
始まるように、BIOSデータ領域のアドレス40Eh,4
0Fhに記憶されているデータを書き替え(これにより拡
張BIOSデータエリアのサイズが拡大される)、サイ
ズを拡大した拡張BIOSデータエリアの末尾側の空き
領域に二次記憶装置I/Oパッチ・プログラム自身を転
送する(図9(B)参照)。
【0087】また、BIOSデータ領域の中のアドレス
413h,414hには、メイン・メモリ16の記憶領域のう
ち、アドレス0hから1Mバイトの間の領域における空
き領域のサイズを表すデータが格納されており、上記の
ように拡張BIOSデータエリアのサイズを拡大したこ
とに伴い、アドレス413h,414hに記憶されているデー
タも書き替える。これにより、拡大した拡張BIOSデ
ータ領域(二次記憶装置I/Oパッチ・プログラム自身
を転送した領域を含む)にDOS本体がロードされる等
により、二次記憶装置I/Oパッチ・プログラムが上書
きされて破壊されることを防止できる。
【0088】なお、第2のOSのブート・イメージ・フ
ァイルについては、メイン・メモリ16の先頭から例え
ば4Mバイト以上隔たった高位アドレスの領域に転送す
る。この領域は、搭載メモリサイズ・クエリー・ソフト
ウェア(memory size query software)割り込みハンドラ
のフック(詳細は後述する)により、DOS本体がロー
ドされたりDOSのワーク領域として使用されることは
ないので、第2のOSのブート・イメージ・ファイルが
上書きされて破壊されることも防止することができる。
【0089】また、メイン・メモリ16のアドレス0h
を先頭とする所定サイズの領域には、ソフトウェア割り
込み等が発生したときのジャンプ先が割り込み要因毎に
記憶されたテーブル(割り込みベクタ)が記憶されてい
る。割り込みベクタは、各種のソフトウェア割り込みの
うち二次記憶装置I/Oサービス割り込み(割り込み要
因=INT13hの割り込み)が発生した場合に、システ
ムBIOS領域に記憶されているファームウェア(二次
記憶装置I/Oサービス(INT13hハンドラ))へジャ
ンプするように初期化され、ファームウェアの二次記憶
装置I/Oサービスを経由して指定された二次記憶装置
がアクセスされる。
【0090】これに対し、次のステップ174では、二
次記憶装置I/Oサービス割り込みが発生した場合に、
二次記憶装置I/Oパッチ・プログラムの一部であるI
NT13hハンドラへジャンプするように割り込みベクタ
を書き替えることで、二次記憶装置I/Oサービス・ソ
フトウェア割り込みハンドラをフックする。
【0091】二次記憶装置I/Oパッチ・プログラムの
INT13hハンドラは、割り込みベクタからジャンプす
ることで起動されると、まずプロセッサ内部のDLレジ
スタの値(DLレジスタの値はアクセスする二次記憶装
置のドライブ番号を表す)をチェックする。そして、D
Lレジスタの値が、優先順位が最も高い二次記憶装置の
ドライブ(通常はFDD)からの読み出しサービスを表
す値(DL=0)のときには、図10に示すように、メイ
ン・メモリ16の記憶領域のうち第2のOSのブート・
イメージ・ファイルが記憶されている領域がアクセスさ
れて読み出されるように制御する。
【0092】一方、DLレジスタの値が他の値(DL≠
0)のときには、ファームウェアの二次記憶装置I/O
サービスへジャンプするように制御する。この場合、図
10に示すように、DLレジスタによって指定された二
次記憶装置のドライブがアクセスされることになる。
【0093】また、一般にコンピュータ・システムは、
OSやOSで実行されるプログラムにより、搭載メモリ
(メイン・メモリ16)のサイズを問い合わせるソフト
ウェア割り込み(割り込み要因=INT15hの割り込
み)が発生されると、搭載メモリのサイズを通知するサ
ービス(搭載メモリサイズのクエリー)を提供してい
る。OSやOSで実行されるプログラムの中には、初期
化時に搭載メモリサイズ・クエリー・ソフトウェア割り
込みを発生させて搭載メモリサイズを取得し、搭載メモ
リの上限アドレスまで領域を自身のワーク領域として使
用することを要求するものがある。
【0094】このため、次のステップ176では、搭載
メモリサイズ・クエリー・ソフトウェア割り込みが発生
した場合に、二次記憶装置I/Oパッチ・プログラムの
一部であるINT15hハンドラへジャンプするように割
り込みベクタを書き替えることで、搭載メモリサイズ・
クエリー・ソフトウェア割り込みハンドラをフックす
る。
【0095】二次記憶装置I/Oパッチ・プログラムの
INT15hハンドラは、割り込みベクタからジャンプす
ることで起動されると、割り込み発生元に対して通知さ
れる搭載メモリサイズを、第2のOSのブート・イメー
ジ・ファイルが記憶されている領域よりも低位のアドレ
ス(例えばメイン・メモリ16の先頭から4Mバイト隔
てた領域のアドレス)迄しか搭載メモリの記憶領域が存
在しないことを意味する値に変更する。これにより、割
り込み発生元(OSやOSで実行されるプログラム)か
らは、第2のOSのブート・イメージ・ファイルが記憶
されている領域が実装されていないように見えることに
なり、第2のOSのブート・イメージ・ファイルが上書
きされることが防止される。
【0096】上記により二次記憶装置I/Oパッチ・プ
ログラムによる処理が終了し、図5に「ブートストラッ
プコードへジャンプ」と記されているように、メイン・
メモリ16のシステムBIOS記憶領域のうち、ブート
・ストラップ・コードが記憶されている領域へジャンプ
し、ブート・ストラップ・コードが実行される。
【0097】これにより、まず優先順位が最も高いブー
ト・ドライブにブートすべきOSのブート・イメージが
存在しているか否かを確認するために、DLレジスタの
値が0にされて二次記憶装置I/Oサービス割り込み
(INT13hの割り込み)が発生されるが、先に説明し
たように、二次記憶装置I/Oサービス割り込みは割り
込みベクタの書き替えによってフックされているので、
二次記憶装置I/Oパッチ・プログラムのINT13hハ
ンドラを経由して、メイン・メモリ16の記憶領域のう
ち第2のOSのブート・イメージ・ファイルが記憶され
ている領域がアクセスされ、ブートすべきOSのブート
・イメージとして第2のOSのブート・イメージが発見
される。
【0098】そして、第2のOSのブート・イメージの
うち、第2のOS本体をメイン・メモリ16にロードす
るための一連の命令コード(第2のOSのローダ:第2
のOSのブート・イメージの先頭に位置している)が、
メイン・メモリ16上の所定の領域にロードされる(ス
テップ180)。
【0099】また、第2のOSのブート・イメージ・フ
ァイルの先頭番地は二次記憶装置I/Oパッチ・プログ
ラムにとって自明であるので、ブート・ストラップ・コ
ードが実行する第2のOSのローダのロード(ステップ
180)を、二次記憶装置I/Oパッチ・プログラムが
直接メイン・メモリ16上の第2のOSのブート・イメ
ージ・ファイルの領域をアクセスし、メイン・メモリ1
6の所定の領域に転送することによって実現してもよ
い。このようにすれば、ブート・ストラップ・コードの
優先順位に拘わらず第2のOSをブートすることができ
る。
【0100】ブート・ストラップ・コードによる処理が
終了すると、図5に「第2のOSのローダへジャンプ」
と記されているように、メイン・メモリ16の記憶領域
のうち第2のOSのローダをロードした領域の先頭へジ
ャンプし、第2のOSのローダのプログラム(一連の命
令コード)が実行される。これにより、第2のOSのブ
ート・イメージのうち、第2のOS本体に相当する一連
の命令コードが、メイン・メモリ16上の所定の領域
(図9及び図10に「DOS本体及びワークエリア」と
表記している領域)にロードされる(ステップ18
2)。
【0101】第2のOSのローダによる処理が終了する
と、図5に「第2のOSのスタートへジャンプ」と記さ
れているように、メイン・メモリ16の記憶領域のうち
ローダとOSによって予め取り決められた第2のOSの
スタート番地へジャンプし、第2のOSのプログラム
(一連の命令コード)が実行される。これにより第2の
OSがブートされ、コンピュータ・システム10上で第
2のOSが稼動している状態となる。
【0102】また、第2のOSのブート・イメージ・フ
ァイルには、第2のOSの制御下で実行すべき所定のア
プリケーション・プログラムが含まれており、第2のO
Sがブートされると、所定のアプリケーション・プログ
ラムがメイン・メモリ16の所定の領域にロードされて
実行され、所定の処理(例えばコンピュータ・システム
10に対するベンチマーク・テスト、BIOSの更新、
コンピュータ・システム10の自己診断等)が行われる
(ステップ186)。なお、このアプリケーション・プ
ログラムのロード及び実行は、自動的に行うようにして
もよいし、利用者による指示に応じて行うようにしても
よい。
【0103】このように、本実施形態では、第2のOS
をブートし第2のOSの制御下で所定のアプリケーショ
ンを実行するための情報をダウンロードすると共にOS
切り替え起動プログラムを起動すれば、後は自動的に第
2のOSがブートされて所定のアプリケーションが実行
されるので、コンピュータ上でブートさせるOSを切り
替えを容易に実現できる。また、第1のOSの制御下で
前記情報のダウンロードを行うので、リモートでブート
させるための特別なプロトコルに依存することなく、汎
用的なプロトコルによってダウンロードを行うことがで
き、汎用性に優れている。
【0104】また、本実施形態における第2のOSのブ
ートは、第2のOSのブート・イメージ・ファイルやそ
の他のプログラムをメイン・メモリ16に記憶して行う
ものであるので、コンピュータ・システム10にFDD
が実装されていない場合にも適用可能であると共に、ハ
ードディスク等の記憶領域を複数のパーティションに分
割したり、マスタ・ブート・レコードを書き替える等の
煩雑な作業も不要である。
【0105】更に、本実施形態では、第2のOSの制御
下で所定のアプリケーション・プログラムを実行する際
に、前記所定のアプリケーション・プログラムを含む情
報をダウンロードするので、前記所定のアプリケーショ
ン・プログラムとして、最新のバージョンのプログラム
を容易に入手することができる。
【0106】また、本実施形態では、所定のアプリケー
ションの実行が完了し、第2のOSが稼動している状態
で、コンピュータ・システム10の再起動を指示した
り、或いはコンピュータ・システム10の電源をオフし
た後に再度電源をオンする等の操作を行った場合には図
3に示した通常のシーケンスが実行されるので、何ら特
別な操作を行うことなく自動的に第1のOSを再ブート
させることができる。
【0107】なお、上記では第1のOSが稼動している
状態から第2のOSをブートさせる場合について説明し
たが、本発明は上記に限定されるものではなく、3種類
以上のOSを順にブートさせることも可能である。3種
類以上のOSを順にブートさせる方法としては2つの方
法が考えられる。
【0108】第1の方法は、順にブートする各OSがネ
ットワークを介して通信を行う機能を各々有している場
合に適用可能な方法であり、図11に示すように、N番
目のOSが稼動している状態で、次(N+1番目)のO
Sのブートに必要な情報をダウンロードし、N+1番目
のOSをブートすることを繰り返す方法である。この第
1の方法では、N番目のOSからN+1番目のOSへの
切り替えの際に、N−1番目以前のOSによってダウン
ロードされた情報(この情報はローカルディスクやN−
1番目以前のOSの管理下にあるメモリ領域に格納され
ている可能性もある)にアクセスする必要がないので、
順にブートするOSが異なるファイル・システムを備え
ていたり、メモリアドレス空間が分離されていて複数の
OSの間で共通の情報格納場所を確保できない環境であ
る等の場合にも適用できるという利点がある。
【0109】また、第2の方法は、複数のOSの間で共
通の情報格納場所を確保できる場合に適用可能な方法で
あり、図12に示すように、N番目のOSが稼動してい
る状態で、N+1番目以降の複数のOSのブートに必要
な情報を一括してダウンロードして二次記憶装置に各々
記憶しておき、OSの切り替え時に必要な情報を二次記
憶装置から読み出す方法である(なお、図12はN=1
の場合を示す)。この第2の方法では、順にブートする
各OSの中にネットワークを介して通信を行う機能を備
えていないOSが含まれている場合(但し第1のOS以
外)にも適用できるという利点がある。
【0110】また、上記では第2のOSの制御下で実行
可能な複数種のアプリケーション・プログラムのうち、
単一のアプリケーション・プログラム(詳しくは単一の
アプリケーション・プログラムのみを含む第2のOSの
ブート・イメージ・ファイル)をダウンロードする例を
説明したが、これに限定されるものではなく、例えば第
2のOSのブート・イメージ・ファイル、デバイス・ド
ライバ、二次記憶装置I/Oパッチ・プログラムと別
に、複数種のアプリケーション・プログラムを全てダウ
ンロードし、第2のOSが稼動している状態で、ダウン
ロードした複数種のアプリケーション・プログラムの中
から、実行すべきアプリケーションを利用者に選択させ
るようにしてもよい。
【0111】更に、上記では正当な使用者か否かの確認
をダウンロード後に行っていたが、これに限定されるも
のではなく、例えばホームページを閲覧して必要な情報
をダウンロードする態様において、ダウンロードが要求
された場合にサーバ側でパスワードやIPアドレスの照
合等を行い、正当な使用者であることを確認した場合に
のみダウンロードを許可するようにしてもよい。また、
ホームページを閲覧して必要な情報をダウンロードする
態様において、例えばBIOSの更新を行うアプリケー
ションのダウンロードが要求された場合に、要求元のコ
ンピュータの機種や製造年月、或いはBIOSのバージ
ョンをサーバが確認し、BIOSの更新が必要と判断し
たコンピュータからのダウンロード要求のみを許可する
ようにしてもよい。
【0112】また、上記では本発明を実施するためのプ
ログラム(OS切り替え起動プログラム、デバイス・ド
ライバ、及び二次記憶装置I/Oパッチ・プログラム)
をネットワーク経由でダウンロードする態様を説明した
が、本発明はこれに限定されるものではなく、本発明を
実施するための全てのプログラムをフロッピーディスク
やCD−ROM等の記録媒体に記録しておき、前記記録
媒体(本発明に係る記録媒体に相当)から前記プログラ
ムをコンピュータにインストールするようにしてもよ
い。これにより、前記プログラムをインストールしたコ
ンピュータに対して本発明に係るコンピュータの制御方
法を適用することが可能となる(前記コンピュータを本
発明に係るコンピュータとして機能させることが可能と
なる)。
【0113】また、上記では本発明に係るコンピュータ
の一例としてノートブック型のPC12を例に説明した
が、これに限定されるものではなく、デスクトップ型の
PCや他のコンピュータであってもよいことは言うまで
もない。また、本発明に係る第2のOSもDOSに限定
されるものではなく、公知の様々なOSを第2のOSと
して採用可能であることは言うまでもない。
【0114】
【発明の効果】以上説明したように本発明は、コンピュ
ータ上で稼動している第1のOSと異なる第2のOSを
ブートさせるための情報を第1のOSの制御下で取得
し、取得した情報を前記コンピュータの主記憶装置に書
き込み、第1のOSの終了を検知すると、主記憶装置に
書き込んだ情報を消去することなく、主記憶装置に書き
込んだ情報により第2のOSをブートさせるようにした
ので、コンピュータ上でブートさせるOSを切り替える
ことを容易に実現でき、汎用性に優れている、という優
れた効果を有する。
【0115】更に、既存のコンピュータにハードウェア
やファームウェアの変更を加えることなく、ブートさせ
るOSを容易に切り替えることができ、利用範囲が広い
という効果を有する。
【図面の簡単な説明】
【図1】 本実施形態に係るコンピュータ・システムの
概略構成を示すブロック図である。
【図2】 ノートブック型PCの外観を示す斜視図であ
る。
【図3】 第1のOSをブートさせる処理の内容を示す
フローチャートである。
【図4】 第1のOSが稼動している状態から第2のO
Sをブートさせるための前処理(OS切り替え起動プロ
グラム及びデバイス・ドライバによる処理)の内容を示
すフローチャートである。
【図5】 図4の処理に続いて、第2のOSをブートさ
せて所定のアプリケーションを実行させる一連の処理
(二次記憶装置I/Oパッチ・プログラム等による処
理)の内容を示すフローチャートである。
【図6】 ホームページを閲覧して、第2のOSをブー
トして所定のアプリケーション・プログラムを実行する
ための情報をダウンロードする場合の画面イメージの一
例を示す図である。
【図7】 第2のOSをブートして所定のアプリケーシ
ョン・プログラムを実行するための情報を電子メールの
添付ファイルとして受信する場合の画面イメージの一例
を示す図である。
【図8】 パスワードによって利用者を確認する際の画
面イメージの一例を示す図である。
【図9】 (A)は二次記憶装置I/Oパッチ・プログ
ラム及び第2のOSのブート・イメージ・ファイルを転
送する前、(B)は前記プログラム及びファイルを転送
し第2のOSをブートした後のメイン・メモリのメモリ
マップを示すイメージ図である。
【図10】 二次記憶装置I/Oサービス・ソフトウェ
ア割り込みのフック、搭載メモリサイズ・クエリー・ソ
フトウェア割り込みのフックを説明するためのイメージ
図である。
【図11】 3種類以上のOSを順にブートする場合の
ブート・イメージのダウンロード及びブートの方法の一
例を示すイメージ図である。
【図12】 3種類以上のOSを順にブートする場合の
ブート・イメージのダウンロード及びブートの方法の他
の例を示すイメージ図である。
【符号の説明】
10 コンピュータ・システム 12 PC 14 CPU 16 メイン・メモリ 40 HDD
───────────────────────────────────────────────────── フロントページの続き (72)発明者 加藤 直孝 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 Fターム(参考) 5B076 BA02 BB06 5B098 GA02 GC12

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ上で第1のOSが稼動して
    いる状態で、前記第1のOSと異なる第2のOSをブー
    トさせるための情報を第1のOSの制御下で取得し、 前記取得した情報を前記コンピュータの主記憶装置に書
    き込み、 第1のOSの終了を検知すると、前記主記憶装置に書き
    込んだ情報を消去することなく、前記主記憶装置に書き
    込んだ情報により前記コンピュータ上で第2のOSをブ
    ートさせるコンピュータの制御方法。
  2. 【請求項2】 前記第2のOSをブートさせるための情
    報を、前記第1のOSの制御下で、通信回線を介して前
    記コンピュータの外部よりファイルとして受信すること
    により取得することを特徴とする請求項1記載のコンピ
    ュータの制御方法。
  3. 【請求項3】 前記取得した情報を前記コンピュータの
    二次記憶装置に一旦記憶することを特徴とする請求項2
    記載のコンピュータの制御方法。
  4. 【請求項4】 前記第2のOSをブートさせるための情
    報は前記コンピュータの二次記憶装置に事前に書き込ま
    れており、 前記第2のOSをブートさせるための情報を、前記第1
    のOSの制御下で、前記二次記憶装置から読み出すこと
    により取得することを特徴とする請求項1記載のコンピ
    ュータの制御方法。
  5. 【請求項5】 前記第2のOSをブートさせるための情
    報には、前記第2のOSのブート・イメージ・ファイル
    が含まれており、 前記第2のOSのブート・イメージ・ファイルを前記コ
    ンピュータの主記憶装置に書き込み、前記第1のOSの
    終了を検知した後に、ファームウェアのブート・ストラ
    ップ・コードによって前記主記憶装置の前記第2のOS
    のブート・イメージ・ファイルを書き込んだ領域がアク
    セスされるようにすることで、前記コンピュータ上で前
    記第2のOSをブートさせることを特徴とする請求項1
    記載のコンピュータの制御方法。
  6. 【請求項6】 前記第2のOSのブート・イメージ・フ
    ァイルが、二次記憶装置用に作成されたものであること
    を特徴とする請求項5記載のコンピュータの制御方法。
  7. 【請求項7】 ファームウェアのブート・ストラップ・
    コードによって前記主記憶装置の前記第2のOSのブー
    ト・イメージ・ファイルを書き込んだ領域がアクセスさ
    れるようにすることを、二次記憶装置I/Oサービス・
    コードをフックすることにより行うことを特徴とする請
    求項5記載のコンピュータの制御方法。
  8. 【請求項8】 前記第2のOSをブートさせるための情
    報を、前記主記憶装置の記憶領域のうち第1のOSの制
    御下で上書きされない領域に一旦書き込んだ後に、前記
    書き込んだ情報の一部又は全部を、前記主記憶装置の記
    憶領域のうち少なくとも第2のOSのブートによって上
    書きされない領域に再配置することを特徴とする請求項
    1記載のコンピュータの制御方法。
  9. 【請求項9】 前記コンピュータ上で第2のOSをブー
    トさせた後に、第2のOSが稼動している状態で、ファ
    ームウェアを更新するプログラム、特別なプロトコルを
    必要とするネットワーク・ブートを行うプログラム、セ
    ットアップを行うプログラム、コンピュータ・システム
    の診断を行うプログラム、第1のOSの稼動状態では動
    作が保証されない、或いは実行に適さない処理を行うプ
    ログラム、の少なくとも1つを実行させることを特徴と
    する請求項1記載のコンピュータの制御方法。
  10. 【請求項10】 コンピュータ上での第1のOSのブー
    トから、少なくとも前記コンピュータ上での第2のOS
    のブートに至る一連の処理を自動的に連続して行なわせ
    ることを特徴とする請求項1記載のコンピュータの制御
    方法。
  11. 【請求項11】 前記第1のOSと異なる第2のOSを
    ブートさせるための情報として、互いに異なる複数種の
    OSをブートさせるための情報を各々取得し、 OSの終了を検知する毎に、前記複数種のOSのうちブ
    ート未実行のOSを前記コンピュータ上でブートさせる
    ことを特徴とする請求項1記載のコンピュータの制御方
    法。
  12. 【請求項12】 第2のOSをブートさせるための情報
    を取得する前、又は後に、第1のOS上で、コンピュー
    タの利用者が第2のOSの正当な利用者か否か、又は第
    2のOSが正当なOSであるか否かを確認することを特
    徴とする請求項1記載のコンピュータの制御方法。
  13. 【請求項13】 第1のOSが稼動している状態で、前
    記第1のOSと異なる第2のOSをブートさせるための
    情報を第1のOSの制御下で取得する取得手段と、 前記取得手段によって取得された情報を前記コンピュー
    タの主記憶装置に書き込む書込手段と、 第1のOSの終了を検知すると、前記書込手段によって
    主記憶装置に書き込まれた情報を消去することなく、前
    記主記憶装置に書き込まれた情報により前記コンピュー
    タ上で第2のOSをブートさせるブート制御手段と、 を含むコンピュータ。
  14. 【請求項14】 コンピュータ上で第1のOSが稼動し
    ている状態で、前記第1のOSと異なる第2のOSをブ
    ートさせるための情報を第1のOSの制御下で取得する
    第1のステップ、 前記取得した情報を前記コンピュータの主記憶装置に書
    き込む第2のステップ、 第1のOSの終了を検知すると、前記主記憶装置に書き
    込んだ情報を消去することなく、前記主記憶装置に書き
    込んだ情報により前記コンピュータ上で第2のOSをブ
    ートさせる第3のステップを含む処理をコンピュータに
    実行させるためのプログラムが記録された記録媒体。
JP27386099A 1999-09-28 1999-09-28 コンピュータの制御方法、コンピュータ及び記録媒体 Expired - Fee Related JP3330569B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP27386099A JP3330569B2 (ja) 1999-09-28 1999-09-28 コンピュータの制御方法、コンピュータ及び記録媒体
US09/671,499 US6795912B1 (en) 1999-09-28 2000-09-27 Method for controlling computer, computer, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27386099A JP3330569B2 (ja) 1999-09-28 1999-09-28 コンピュータの制御方法、コンピュータ及び記録媒体

Publications (2)

Publication Number Publication Date
JP2001100983A true JP2001100983A (ja) 2001-04-13
JP3330569B2 JP3330569B2 (ja) 2002-09-30

Family

ID=17533573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27386099A Expired - Fee Related JP3330569B2 (ja) 1999-09-28 1999-09-28 コンピュータの制御方法、コンピュータ及び記録媒体

Country Status (2)

Country Link
US (1) US6795912B1 (ja)
JP (1) JP3330569B2 (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003029975A (ja) * 2001-07-18 2003-01-31 Toshiba It Solution Corp Os立上げ方法、os立上げシステム及びos立上げのためのプログラム
JP2003196096A (ja) * 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
JP2003280914A (ja) * 2002-03-22 2003-10-03 Toshiba Corp 情報機器、記憶媒体、及び初期状態復元方法
EP1594052A2 (en) * 2004-04-30 2005-11-09 Microsoft Corporation VEX - Virtual extension framework
JP2006127040A (ja) * 2004-10-27 2006-05-18 Sharp Corp 情報処理システム及び情報処理装置
KR100667096B1 (ko) 2005-01-21 2007-01-12 삼성전자주식회사 디브이디레코더의 부팅방법
JP2007128136A (ja) * 2005-11-01 2007-05-24 Giga-Byte Technology Co Ltd 模擬ハードディスクの装置とその方法
JP2007164492A (ja) * 2005-12-14 2007-06-28 Lenovo Singapore Pte Ltd デバイス・コントローラの設定方法およびコンピュータ・システム
JP2007183708A (ja) * 2006-01-04 2007-07-19 Toshiba Corp サーバ装置、サーバ融通方法およびサーバ融通プログラム
US7281164B2 (en) 2002-08-30 2007-10-09 Fujitsu Limited Information processing device and recovery method thereof
JP2008276546A (ja) * 2007-04-27 2008-11-13 Toshiba Corp 情報処理装置、および情報処理システム
JP2009176113A (ja) * 2008-01-25 2009-08-06 Nec Electronics Corp 半導体集積回路
WO2009113394A1 (ja) * 2008-03-14 2009-09-17 三菱電機株式会社 マルチオペレーティングシステム(os)起動装置及びマルチos起動プログラム及び記録媒体及びマルチos起動方法
JP2010160809A (ja) * 2001-06-30 2010-07-22 Netac Technology Co Ltd 多機能半導体記憶装置
WO2011145199A1 (ja) 2010-05-20 2011-11-24 Suginaka Junko 外部ブートデバイス、外部ブート方法、情報処理装置及びネットワーク通信システム
JP2012118947A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 組み込み機器、暗号化・復号方法、プログラム
JP2012128841A (ja) * 2010-12-14 2012-07-05 Internatl Business Mach Corp <Ibm> ブート・ブロックの再配置によって複数のソフトウェア・イメージを管理するための方法、コンピュータ・プログラムおよびシステム
JP2013175112A (ja) * 2012-02-27 2013-09-05 Hitachi Ltd 認証装置、および、認証方法
JP2014203441A (ja) * 2013-04-10 2014-10-27 富士ゼロックス株式会社 電子機器、画像形成装置、制御装置及びプログラム
JP2016018555A (ja) * 2014-07-07 2016-02-01 レノボ・シンガポール・プライベート・リミテッド 動作環境の切換方法、コンピュータ、およびコンピュータ・プログラム

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10050604A1 (de) * 2000-10-12 2002-04-25 Siemens Ag Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
JP2002215398A (ja) * 2001-01-17 2002-08-02 Nec Corp 情報処理装置、その使用方法及びプログラム
US7072950B2 (en) * 2001-01-23 2006-07-04 Sony Corporation Method and apparatus for operating system and application selection
JPWO2002095556A1 (ja) * 2001-05-18 2004-09-09 富士通株式会社 待機モードを有する装置、プログラム、及び待機モードを有する装置の制御方法
EP1283464A1 (en) * 2001-08-06 2003-02-12 Hewlett-Packard Company A boot process for a computer, a boot ROM and a computer having a boot ROM
US7093124B2 (en) * 2001-10-30 2006-08-15 Intel Corporation Mechanism to improve authentication for remote management of a computer system
US20030097552A1 (en) * 2001-11-19 2003-05-22 Lewis Robert E. Resilient boot prom loader
US6857069B1 (en) * 2003-03-24 2005-02-15 Cisco Technology, Inc. Modified operating system boot sequence for iSCSI device support
US7376943B2 (en) * 2003-12-18 2008-05-20 Lsi Corporation Safe method for upgrading firmware of optical disk product
US20050138409A1 (en) * 2003-12-22 2005-06-23 Tayib Sheriff Securing an electronic device
US9357031B2 (en) 2004-06-03 2016-05-31 Microsoft Technology Licensing, Llc Applications as a service
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
US7664834B2 (en) * 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
US7373446B2 (en) * 2004-11-05 2008-05-13 Microsoft Corporation Method and system for dynamically patching an operating system's interrupt mechanism
US8539213B2 (en) * 2004-12-31 2013-09-17 Intel Corporation Manageability extension mechanism for system firmware
CN100426228C (zh) * 2005-05-20 2008-10-15 鸿富锦精密工业(深圳)有限公司 切换计算机启动顺序的系统及方法
US7523269B2 (en) * 2005-07-22 2009-04-21 Microsoft Corporation Preparing memory to allow access to data when primary operating system is unavailable
US8432899B2 (en) 2007-02-22 2013-04-30 Aylus Networks, Inc. Systems and methods for enabling IP signaling in wireless networks
US9026117B2 (en) 2006-05-16 2015-05-05 Aylus Networks, Inc. Systems and methods for real-time cellular-to-internet video transfer
US8898319B2 (en) 2006-05-24 2014-11-25 Maxsp Corporation Applications and services as a bundle
US8811396B2 (en) 2006-05-24 2014-08-19 Maxsp Corporation System for and method of securing a network utilizing credentials
US20080005611A1 (en) * 2006-05-31 2008-01-03 Microsoft Corporation Providing A Restore Operating System With New Or Updated Software Components
US8302091B2 (en) * 2006-06-05 2012-10-30 International Business Machines Corporation Installation of a bootable image for modifying the operational environment of a computing system
CN101093446B (zh) * 2006-06-21 2011-06-22 鸿富锦精密工业(深圳)有限公司 操作系统引导装置、方法及其应用的电脑系统
US20090083375A1 (en) * 2006-07-10 2009-03-26 Chong Benedict T Installation of a Virtualization Environment
US20090199132A1 (en) * 2006-07-10 2009-08-06 Devicevm, Inc. Quick access to virtual applications
US7441113B2 (en) * 2006-07-10 2008-10-21 Devicevm, Inc. Method and apparatus for virtualization of appliances
KR100801014B1 (ko) * 2006-08-21 2008-02-04 삼성전자주식회사 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체
US9317506B2 (en) 2006-09-22 2016-04-19 Microsoft Technology Licensing, Llc Accelerated data transfer using common prior data segments
US7743242B2 (en) * 2006-10-16 2010-06-22 Scalent Systems Inc. Method and system for automatic generation of operating system boot images
US7844686B1 (en) 2006-12-21 2010-11-30 Maxsp Corporation Warm standby appliance
US20090089396A1 (en) * 2007-09-27 2009-04-02 Yuxi Sun Integrated Method of Enabling a Script-Embedded Web Browser to Interact with Drive-Based Contents
US8307239B1 (en) 2007-10-26 2012-11-06 Maxsp Corporation Disaster recovery appliance
US8175418B1 (en) 2007-10-26 2012-05-08 Maxsp Corporation Method of and system for enhanced data storage
US8645515B2 (en) 2007-10-26 2014-02-04 Maxsp Corporation Environment manager
JP4384243B1 (ja) * 2008-06-30 2009-12-16 株式会社東芝 情報処理装置および起動方法
US20100262919A1 (en) * 2009-04-09 2010-10-14 Peter Spezza Method of remotely providing a computer service
US9804857B2 (en) * 2010-12-17 2017-10-31 Intel Corporation Method and apparatus for multi-mode mobile computing devices and peripherals
TW201314574A (zh) * 2011-09-26 2013-04-01 Phoenix Tech Ltd 用於電腦系統之基本輸入輸出系統程式更新方法及更新裝置
US10007552B2 (en) * 2013-10-23 2018-06-26 Insyde Software Corp. System and method for dual OS memory switching
JP7129296B2 (ja) * 2018-09-26 2022-09-01 キヤノン株式会社 画像処理装置、画像処理装置の制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04134527A (ja) * 1990-09-26 1992-05-08 Sharp Corp オペレーティングシステム選択切換方法
JPH05224894A (ja) * 1991-11-19 1993-09-03 Hitachi Ltd オペレーティングシステムの切替え方式
JPH11249900A (ja) * 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムのブート方法および記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60136833A (ja) * 1983-12-26 1985-07-20 Hitachi Ltd オペレ−テイングシステムの切替え方式
US4799145A (en) * 1985-04-03 1989-01-17 Honeywell Bull Inc. Facility for passing data used by one operating system to a replacement operating system
JPH03103931A (ja) * 1989-09-18 1991-04-30 Nec Corp Os切替え方式
JPH064310A (ja) * 1992-06-24 1994-01-14 Nec Software Ltd 複数オペレーティングシステム切換え方式
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
US6327653B1 (en) * 1995-11-07 2001-12-04 Samsung Electronics Co., Ltd. Technique for easily changing operating systems of a digital computer system using at least two pushbuttons
US6128734A (en) * 1997-01-17 2000-10-03 Advanced Micro Devices, Inc. Installing operating systems changes on a computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04134527A (ja) * 1990-09-26 1992-05-08 Sharp Corp オペレーティングシステム選択切換方法
JPH05224894A (ja) * 1991-11-19 1993-09-03 Hitachi Ltd オペレーティングシステムの切替え方式
JPH11249900A (ja) * 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムのブート方法および記録媒体

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160809A (ja) * 2001-06-30 2010-07-22 Netac Technology Co Ltd 多機能半導体記憶装置
JP2003029975A (ja) * 2001-07-18 2003-01-31 Toshiba It Solution Corp Os立上げ方法、os立上げシステム及びos立上げのためのプログラム
US7328333B2 (en) 2001-12-07 2008-02-05 Lenovo (Singapore) Pte. Ltd. Apparatus, method and program product for selectively starting one of a plurality of operating systems and secondary storage according to whether or not a predetermined peripheral is connected to the system
JP2003196096A (ja) * 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
JP2003280914A (ja) * 2002-03-22 2003-10-03 Toshiba Corp 情報機器、記憶媒体、及び初期状態復元方法
US7281164B2 (en) 2002-08-30 2007-10-09 Fujitsu Limited Information processing device and recovery method thereof
EP1594052A2 (en) * 2004-04-30 2005-11-09 Microsoft Corporation VEX - Virtual extension framework
EP1594052A3 (en) * 2004-04-30 2006-02-01 Microsoft Corporation VEX - Virtual extension framework
KR100961349B1 (ko) 2004-04-30 2010-06-07 마이크로소프트 코포레이션 Vex - 가상 확장물을 고립시키는 방법
US8327390B2 (en) 2004-04-30 2012-12-04 Microsoft Corporation VEX—virtual extension framework
US7574709B2 (en) 2004-04-30 2009-08-11 Microsoft Corporation VEX-virtual extension framework
JP4647281B2 (ja) * 2004-10-27 2011-03-09 シャープ株式会社 情報処理システム及び情報処理装置
JP2006127040A (ja) * 2004-10-27 2006-05-18 Sharp Corp 情報処理システム及び情報処理装置
KR100667096B1 (ko) 2005-01-21 2007-01-12 삼성전자주식회사 디브이디레코더의 부팅방법
JP2007128136A (ja) * 2005-11-01 2007-05-24 Giga-Byte Technology Co Ltd 模擬ハードディスクの装置とその方法
JP4616763B2 (ja) * 2005-12-14 2011-01-19 レノボ・シンガポール・プライベート・リミテッド デバイス・コントローラの設定方法およびコンピュータ・システム
JP2007164492A (ja) * 2005-12-14 2007-06-28 Lenovo Singapore Pte Ltd デバイス・コントローラの設定方法およびコンピュータ・システム
JP2007183708A (ja) * 2006-01-04 2007-07-19 Toshiba Corp サーバ装置、サーバ融通方法およびサーバ融通プログラム
JP2008276546A (ja) * 2007-04-27 2008-11-13 Toshiba Corp 情報処理装置、および情報処理システム
JP2009176113A (ja) * 2008-01-25 2009-08-06 Nec Electronics Corp 半導体集積回路
US8484452B2 (en) 2008-03-14 2013-07-09 Mitsubishi Electric Corporation Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method
JPWO2009113394A1 (ja) * 2008-03-14 2011-07-21 三菱電機株式会社 マルチオペレーティングシステム(os)起動装置及びマルチos起動プログラム及び記録媒体及びマルチos起動方法
WO2009113394A1 (ja) * 2008-03-14 2009-09-17 三菱電機株式会社 マルチオペレーティングシステム(os)起動装置及びマルチos起動プログラム及び記録媒体及びマルチos起動方法
WO2011145199A1 (ja) 2010-05-20 2011-11-24 Suginaka Junko 外部ブートデバイス、外部ブート方法、情報処理装置及びネットワーク通信システム
CN102906698A (zh) * 2010-05-20 2013-01-30 杉中顺子 外部启动设备、外部启动方法、信息处理装置及网络通信系统
JP2012118947A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 組み込み機器、暗号化・復号方法、プログラム
JP2012128841A (ja) * 2010-12-14 2012-07-05 Internatl Business Mach Corp <Ibm> ブート・ブロックの再配置によって複数のソフトウェア・イメージを管理するための方法、コンピュータ・プログラムおよびシステム
JP2013175112A (ja) * 2012-02-27 2013-09-05 Hitachi Ltd 認証装置、および、認証方法
JP2014203441A (ja) * 2013-04-10 2014-10-27 富士ゼロックス株式会社 電子機器、画像形成装置、制御装置及びプログラム
JP2016018555A (ja) * 2014-07-07 2016-02-01 レノボ・シンガポール・プライベート・リミテッド 動作環境の切換方法、コンピュータ、およびコンピュータ・プログラム
US9910677B2 (en) 2014-07-07 2018-03-06 Lenovo (Singapore) Pte. Ltd. Operating environment switching between a primary and a secondary operating system

Also Published As

Publication number Publication date
JP3330569B2 (ja) 2002-09-30
US6795912B1 (en) 2004-09-21

Similar Documents

Publication Publication Date Title
JP3330569B2 (ja) コンピュータの制御方法、コンピュータ及び記録媒体
US6757821B1 (en) Computer system and its operation environment switching method
US6763458B1 (en) System and method for installing and servicing an operating system in a computer or information appliance
JP3714119B2 (ja) Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム
JP5255703B2 (ja) カスタマイズされたイメージを伴うファームウェアストレージ媒体
US20040230963A1 (en) Method for updating firmware in an operating system agnostic manner
US20060206702A1 (en) Operating system boot from external media
US20100275205A1 (en) Computer machine and access control method
JP2004151785A (ja) 着脱式デバイス及びプログラムの起動方法
JP2000511313A (ja) 取り外し可能メディアのディスク・ドライブをコンピュータ・システムに統合化するための方法
JPH05289854A (ja) 外部記憶装置のアクセス装置
WO2004088515A1 (en) Portable operating system and method to load the same
JP2000293474A (ja) コンピュータシステムおよびその使用方法
US20030005259A1 (en) System and method for device support
JP2002530739A (ja) ディスク・ドライブを構成し、ブートする方法および装置
JP3947526B2 (ja) コンピュータシステムおよびインターフェースカード
JPH06332716A (ja) リモートブートシステム
JP3448244B2 (ja) コンピュータの不正使用防止方法、及びコンピュータ
JP3707410B2 (ja) コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
US20030182456A1 (en) Portable peripheral apparatus with an embedded storage module
JP2002082810A (ja) 情報処理装置及び方法、並びに半導体メモリ装置
JP2002366501A (ja) 周辺デバイス、コンピュータシステム、及びインストーラプログラム
US8850174B1 (en) Method for dedicated netboot
JP4616763B2 (ja) デバイス・コントローラの設定方法およびコンピュータ・システム
US20020138680A1 (en) Apparatus and methods for controlling removable media devices using a BIOS abstraction layer

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees