JP2002082808A - プログラム制御方法 - Google Patents

プログラム制御方法

Info

Publication number
JP2002082808A
JP2002082808A JP2000271580A JP2000271580A JP2002082808A JP 2002082808 A JP2002082808 A JP 2002082808A JP 2000271580 A JP2000271580 A JP 2000271580A JP 2000271580 A JP2000271580 A JP 2000271580A JP 2002082808 A JP2002082808 A JP 2002082808A
Authority
JP
Japan
Prior art keywords
program
context
loader
control method
information
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.)
Withdrawn
Application number
JP2000271580A
Other languages
English (en)
Inventor
Eiji Nakatani
英司 中谷
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000271580A priority Critical patent/JP2002082808A/ja
Publication of JP2002082808A publication Critical patent/JP2002082808A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 OSの再起動の高速化や安全な終了処理がで
きるプログラム制御方法を提供する。 【解決手段】 本発明のプログラム制御方法は、OS起
動時にジャンプコードを検索し(ステップ101、10
2)、ジャンプコードがない場合には、ハードウェアを
初期化してローダ処理を行い(ステップ103〜10
6)、ジャンプコードがある場合には、ハードウェアの
初期化をせずにローダ処理を行い(109〜121)、
ローダ処理後、起動させるプログラムの初期化を行う
(ステップ107)。これにより、OSの再起動の高速
化や安全な終了処理ができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータにお
いて、オペレーティングシステム(以下、単に「OS」
ともいう)などのプログラム(ソフトウェア)を起動す
るプログラム制御方法に関する。特には、OSなどのプ
ログラム(ソフトウェア)の再起動の高速化や安全な終
了処理ができるプログラム制御方法に関する。
【0002】
【従来の技術】今日では、パーソナルコンピュータ、携
帯用情報端末、コンピュータゲーム装置などの情報処理
装置が普及しており、広く利用されている。
【0003】図3は、一般的な情報処理装置の一形態を
示す図である。図3において、この情報処理装置には、
プログラムを実行するCPU(Central Processing Uni
t)21と、起動時等に必要となるプログラムが記憶さ
れているROM(Read OnlyMemory)23と、プログラ
ムを実行するときにプログラムデータを展開するための
RAM(Random Access Memory)25と、CPU21等
に接続され、OS等のプログラムが格納されているHD
D(Hard Disk Drive)27と、CPU21等に接続さ
れ、画像などの出力制御を行うビデオコントローラ29
と、を備えている。
【0004】図4は、図3に示した情報処理装置におけ
るOS起動時のプログラム制御方法の一形態を示すフロ
ーチャートである。以下、図3に示したような構成の情
報処理装置における具体的なプログラム制御方法を、図
3及び図4を用いて説明する。
【0005】図3及び図4において、リセットボタン
(図示せず)などからのリセット信号がCPU21に入
力されると、ROM23内のリセットベクタに従ってリ
セット処理が行われる(ステップ201)。リセットベ
クタにはジャンプコード(ジャンプ先アドレス)があ
り、それに基づいてPOSTを起動する。POSTで
は、H/W(ハードウェア)の初期化が行われる(ステ
ップ202)。
【0006】次に、POSTからRAM25にあるメモ
リアドレスを参照することにより、ソフトリセットかど
うかを確認する(ステップ203)。
【0007】ソフトリセットではない場合には、RAM
25やレジスタ上に残っている情報を一旦クリアする
(ステップ204)。次に、POSTのブートストラッ
プ処理で、ROM23に記憶されているローダをRAM
25へ読み込んで展開する(ステップ205)。
【0008】そして、HDD27からOSをRAM25
に読み込んで展開し(ステップ206)、RAM25上
でOSを初期化する(ステップ207)。
【0009】このようにして、OSが起動され、その
後、OS上で各種のアプリケーションを稼動させること
ができ、ビデオコントローラ29等を制御できるように
なる。
【0010】一方、ステップ203でソフトリセットで
あると確認された場合には、RAM25に残っている情
報を用いてローダ処理を実行する(ステップ208)。
このとき、ローダは、RAM25上のこのエリアをスタ
ックに割り当てて使用する。次に、OSの終了処理要求
があるかを確認する(ステップ209)。
【0011】OSの終了処理要求がない場合には、ステ
ップ206からの処理に従い、HDD27からOSをR
AM25に読み込んで展開し(ステップ206)、RA
M25上でOSを初期化する(ステップ207)。この
ようにして、OSが起動され、その後、OS上で各種の
アプリケーションを稼動させることができ、ビデオコン
トローラ29等を制御できるようになる。
【0012】一方、ステップ209で、OSの終了処理
要求がある場合には、OSの終了処理を行うこととなる
(ステップ211)。
【0013】
【発明が解決しようとする課題】しかしながら、OSの
起動及び終了処理をPOSTとローダが担当する情報処
理装置においては、OS動作中にソフトリセットを実行
してOSを再起動した場合、高速な再起動が難しいとい
う問題点がある。これは、POSTにより、電源投入時
にのみ初期化すればよいハードウェアに対しても、再度
初期化を行うからである。そして、その処理が冗長部分
となってOSの高速な再起動を阻害する。
【0014】また、OS自身やローダはOSのクラスタ
情報等を知りうることができるが、POSTは、この情
報を知ることができない。そのため、再起動時に本来ク
リアしなくてもよいメモリやレジスタ等のデータもクリ
アされてしまい、結局最初から処理を始めなければなら
ない。
【0015】さらに、POSTとローダによってOSの
終了処理を行うシステムを構築する場合、ローダの意図
する動作に合わせて、POSTのハードウェアの再初期
化内容を一部カスタマイズしなければならない。例え
ば、ソフトリセット時にはメモリをクリアしないように
すること等をしなければならない。しかし、POSTの
カスタマイズには高度な技術が必要で、ユーザがこれを
行うのは困難である。
【0016】また、POSTのカスタマイズを行うと、
システムが不安定になることがある。このカスタマイズ
の影響と、POSTによるハードウェア初期化の影響
と、また、POSTの処理により全体の処理時間が長く
なり、クリティカルな時間が長くなってしまうことによ
り、OSの終了処理が安全にできない場合もある。
【0017】したがって、上記の点に鑑み、本発明の目
的は、OSの再起動の高速化や安全な終了処理ができる
プログラム制御方法を提供することである。
【0018】
【課題を解決するための手段】上記課題を解決するた
め、本発明のプログラム制御方法は、コンピュータにお
いてオペレーティングシステムなどのプログラムの起動
を制御するプログラム制御方法であって、プログラム起
動時にジャンプコードを検索し、ジャンプコードがない
場合には、ハードウェアを初期化してローダ処理を行
い、ジャンプコードがある場合には、ハードウェアの初
期化をせずにローダ処理を行い、ローダ処理後、起動さ
せるプログラムの初期化を行う、ことを特徴とする。
【0019】ここで、ローダ処理は、コンテキストの有
無を検証し、コンテキストの有りの場合には、ソフトリ
セット処理を行い、コンテキストの無しの場合には、ハ
ードリセット処理を行うことができる。また、ハードリ
セット処理は、コンテキストの作成と、当該コンテキス
トにプログラムのクラスタチェーン情報及びエントリポ
イント情報の記録を行う処理とすることができる。さら
に、コンテキストは、プログラムのクラスタチェーン情
報及びエントリポイント情報が記録されており、ソフト
リセット処理は、コンテキストに記録されているエント
リポイント情報によってプログラムのウォームブートを
行い、コンテキストに記録されているクラスタチェーン
情報によってプログラムのコールドブートを行う、よう
にすることもできる。
【0020】上述した本発明のプログラム制御方法によ
れば、OSのソフトリセット時に、ローダが効率よく動
作し、OSの高速な再起動が可能になる。
【0021】また、OSの動作中にリセットがかかった
ときや特定目的のOSの終了処理を行ったときに、OS
データのバックアップが可能で安全な終了処理ができ
る。特に、Windows CE(Windowsはマ
イクロソフト社の登録商標)のように仮想メモリを使用
しないで、動作に必要なデータを全て実メモリ上に保存
するOSに対しては、再起動及び終了時処理の安全性が
向上する。これは、POSTによるハードウェア初期化
の影響を受けないことと、全体の処理時間が著しく短縮
できるため、クリティカルな時間を短くできることによ
る。
【0022】さらに、上述した本発明のプログラムロー
ディング方式及びそれを使用した情報処理装置によれ
ば、POSTのカスタマイズの必要がなくなるので、ユ
ーザの負担が少なく、システムが不安定にならない。ま
た、ローダがオプションROMの形態で実現できていれ
ば、どのようなBIOSであっても適合するので、対ハ
ードウェアのフレキシビリティが向上する。
【0023】
【発明の実施の形態】以下、本発明のプログラム制御方
法の一形態について図を参照しつつ説明する。
【0024】図1は、本発明のプログラム制御方法を実
行するための情報処理装置の一形態を示す図である。図
1において、この情報処理装置には、プログラムなどを
実行するCPU(Central Processing Unit)11と、
起動時等に必要となるプログラムが記憶されているRO
M(Read Only Memory)13と、プログラムを実行する
ときにプログラムデータを展開するためのRAM(Rand
om Access Memory)15と、CPU11等に接続され、
OS等のプログラムが格納されているHDD(Hard Dis
k Drive)17と、CPU11等に接続され、画像など
の出力制御を行うビデオコントローラ19と、を備えて
いる。
【0025】図2は、図1に示した情報処理装置におけ
るOS起動時の本発明のプログラム制御方法の一形態を
示すフローチャートである。以下、図1に示したような
構成の情報処理装置における具体的なプログラム制御方
法を、図1及び図2を用いて説明する。
【0026】図1及び図2において、リセットボタン
(図示せず)などからのリセット信号がCPU11に入
力されると、ROM13内のリセットベクタに従ってリ
セット処理が行われる(ステップ101)。リセットベ
クタにはジャンプコード(ジャンプ先アドレス)があ
り、そのデータからジャンプ先が選択される(ステップ
102)。
【0027】ハードウェアリセットの場合には、アドレ
スは、例えば、「0」から始まるので、POSTにジャ
ンプする(ステップ102)。POSTでは、HDD1
7等のH/W(ハードウェア)やRAM15やレジスタ
等の初期化が行われる(ステップ103)。
【0028】次に、POSTのブートストラップ処理で
ROM13に記憶されているローダをRAM15へ読み
込んで展開する(ステップ104)。なお、OSのRA
M15への展開が完了したら、暗号コードをI/O入出
力することによって、リセットベクタの示す内容を改変
可能にすることもできる。
【0029】そして、その内容をローダのエントリに変
更した後、ローダがHDD17からOSの動作イメージ
をRAM15に読み込んで展開し(ステップ105)、
RAM15上でOSを初期化する(ステップ107)。
このとき、OSに対して次回のローダ起動時に、OSか
らローダ動作のリクエストができる機構として、OSが
リクエストコードを記録するための手段(例えば、特定
のメモリアドレス)をOSに渡すパラメータに含める形
で通知する。こうして、OSが動作し、OS上のアプリ
ケーションを起動させることができ、ビデオコントロー
ラ19等を制御できるようになる。
【0030】ステップ105から107のOS動作中
に、ローダはコンテキストを作成し(ステップ10
6)、そこに次回の起動に必要なデータを記憶してお
く。必要なデータとは、例えばRAM13、HDD17
等のディスク装置、ビデオコントローラ19のパラメー
タ、OSのエントリーアドレス、OSに渡すパラメー
タ、HDD17等のディスク装置内のOSに関係するO
Sイメージファイルのクラスタ情報、オリジナルのリセ
ットベクタの内容などである。なお、このコンテキスト
にある情報は、OS動作中も常にOSから保護された状
態でメモリに存在する。また、このコンテキストエリア
へはローダのみがアクセスすることができる。
【0031】ソフトリセットの場合には、ジャンプコー
ドの情報を読み取り、ローダにジャンプする(ステップ
102)。続いて、ローダにコンテキストがあるかを確
認する(ステップ109)。
【0032】コンテキストがない場合は、ハードウェア
は初期化されているが、ローダのコンテキスト情報が十
分に記録されていない場合である。そのため、ステップ
105からの処理に従い、HDD17からOSの動作イ
メージをRAM15に読み込んで展開し(ステップ10
5)、RAM15上でOSを初期化する(ステップ10
7)。また、ステップ105から107のOS動作中
に、ローダはコンテキストを作成し(ステップ10
6)、そこに次回の起動に必要なデータを再度記憶して
おく。
【0033】一方、コンテキストがある場合には、次
に、OSの終了要求があるかを確認する(ステップ11
1)。ここで、OSの終了処理要求がある場合には、O
Sの終了処理を行うこととなる(ステップ113)。
【0034】また、OSの終了処理要求がない場合に
は、WARMブートさせるか、COLDブートさせるか
を選択する(ステップ115)。具体的には、OSのエ
ントリポイントを取得できる場合にはオゥーム(WAR
M)ブートさせ、取得できない場合にはコールド(CO
LD)ブートさせる。
【0035】WARMブートの場合には、ローダはコン
テキストからOSのエントリポイントを取得でき、HD
D17からOSを読み込む必要がないので、直接OSに
ジャンプする(ステップ117)。その後はステップ1
07に従い、RAM15上でOSを初期化する。
【0036】COLDブートの場合には、ローダはコン
テキストからOSのエントリポイントを取得できないの
で、コンテキストからOSファイルのクラスタ情報を取
得する(ステップ119)。その情報に従って、HDD
17からOSファイルをRAM15に高速に読み込んで
(ステップ121)展開し、RAM15上でOSを初期
化する(ステップ107)。なお、ステップ119、1
21、107の処理中に、ローダはコンテキストに次回
の起動に必要なデータを確実に記憶しておく。
【0037】以上のようにして、本発明のプログラム制
御方法によって、OSの再起動の高速化や安全な終了処
理ができることとなる。
【0038】
【発明の効果】以上、本発明のプログラム制御方法によ
れば、ソフトウェアリセットの場合には、ジャンプ先が
POSTからローダに変更されるため、POSTによっ
て行われるハードウェア等の初期化が省略でき、OSの
再起動が高速にできるようになった。
【0039】また、ローダはコンテキストを作成し、そ
こに再起動に必要な情報を記録しておくので再起動時の
処理が少なくて済み、OSの再起動が高速にできるよう
になった。
【0040】さらに、コンテキストに情報を記録するこ
とによりPOSTのカスタマイズ等の必要がなくなり、
システムが安定し、OSの終了処理が安全にできるよう
になった。
【図面の簡単な説明】
【図1】本発明の情報処理装置の一形態を示す図であ
る。
【図2】図1に示した従来の情報処理装置によるプログ
ラムローディング方式の一形態を示すフローチャートで
ある。
【図3】従来の情報処理装置の一形態を示す図である。
【図4】図3に示した従来の情報処理装置によるプログ
ラムローディング方式の一形態を示すフローチャートで
ある。
【符号の説明】
11、21 CPU 13、23 ROM 15、25 RAM 17、27 HDD 19、29 ビデオコントローラ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータにおいてオペレーティング
    システムなどのプログラムの起動を制御するプログラム
    制御方法であって、 プログラム起動時にジャンプコードを検索し、 ジャンプコードがない場合には、ハードウェアを初期化
    してローダ処理を行い、 ジャンプコードがある場合には、ハードウェアの初期化
    をせずにローダ処理を行い、 前記ローダ処理後、起動させるプログラムの初期化を行
    う、 ことを特徴とするプログラム制御方法。
  2. 【請求項2】 前記ローダ処理は、コンテキストの有無
    を検証し、前記コンテキストの有りの場合には、ソフト
    リセット処理を行い、前記コンテキストの無しの場合に
    は、ハードリセット処理を行うことを特徴とする請求項
    1記載のプログラム制御方法。
  3. 【請求項3】 前記ハードリセット処理は、コンテキス
    トの作成と、当該コンテキストにプログラムのクラスタ
    チェーン情報及びエントリポイント情報の記録を行う処
    理であることを特徴とする請求項2記載のプログラム制
    御方法。
  4. 【請求項4】 前記コンテキストは、プログラムのクラ
    スタチェーン情報及びエントリポイント情報が記録され
    ており、 前記ソフトリセット処理は、 前記コンテキストに記録されている前記エントリポイン
    ト情報によって前記プログラムのウォームブートを行
    い、 前記コンテキストに記録されている前記クラスタチェー
    ン情報によって前記プログラムのコールドブートを行
    う、 ことを特徴とする請求項2記載のプログラム制御方法。
JP2000271580A 2000-09-07 2000-09-07 プログラム制御方法 Withdrawn JP2002082808A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000271580A JP2002082808A (ja) 2000-09-07 2000-09-07 プログラム制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000271580A JP2002082808A (ja) 2000-09-07 2000-09-07 プログラム制御方法

Publications (1)

Publication Number Publication Date
JP2002082808A true JP2002082808A (ja) 2002-03-22

Family

ID=18757843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000271580A Withdrawn JP2002082808A (ja) 2000-09-07 2000-09-07 プログラム制御方法

Country Status (1)

Country Link
JP (1) JP2002082808A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071522A1 (ja) * 2004-01-27 2005-08-04 Nec Corporation 高速再起動方法および情報処理装置ならびにプログラム
JP2010066869A (ja) * 2008-09-09 2010-03-25 Nec Corp 情報処理装置、その制御方法及びプログラム
JP2010123125A (ja) * 2008-11-19 2010-06-03 Intel Corp プラットフォームの高速リスタートを可能にする方法およびシステム
JP2012243237A (ja) * 2011-05-24 2012-12-10 Lenovo Singapore Pte Ltd 起動時の信頼性とpost時間の短縮を図る方法およびコンピュータ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071522A1 (ja) * 2004-01-27 2005-08-04 Nec Corporation 高速再起動方法および情報処理装置ならびにプログラム
JPWO2005071522A1 (ja) * 2004-01-27 2007-09-13 日本電気株式会社 高速再起動方法および情報処理装置ならびにプログラム
JP4683218B2 (ja) * 2004-01-27 2011-05-18 日本電気株式会社 高速再起動方法および情報処理装置ならびにプログラム
US9298472B2 (en) 2004-01-27 2016-03-29 Nec Corporation High-speed restart method, information processing device, and program
JP2010066869A (ja) * 2008-09-09 2010-03-25 Nec Corp 情報処理装置、その制御方法及びプログラム
JP2010123125A (ja) * 2008-11-19 2010-06-03 Intel Corp プラットフォームの高速リスタートを可能にする方法およびシステム
US8296553B2 (en) 2008-11-19 2012-10-23 Intel Corporation Method and system to enable fast platform restart
JP2012243237A (ja) * 2011-05-24 2012-12-10 Lenovo Singapore Pte Ltd 起動時の信頼性とpost時間の短縮を図る方法およびコンピュータ

Similar Documents

Publication Publication Date Title
RU2439678C2 (ru) Начальная загрузка операционной системы раздельными стадиями
US7934209B2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US20060242398A1 (en) Booting from non-volatile memory
JP2004310775A (ja) 同じものをロードするためのポータブルオペレーティングシステムおよび方法
US20060047938A1 (en) Method and apparatus to initialize CPU
JP2007122653A (ja) 情報処理装置及び起動制御方法
JPH11184703A (ja) 情報処理装置及びそのブート方法
TWI417789B (zh) 電腦系統及啟動方法
US20020083427A1 (en) Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system
JP2009230433A (ja) ネットワークブート装置、プログラム及び方法
JP2005523523A (ja) ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法
US6986034B2 (en) Setting a system indication in response to a user when execution of the system setup program is desired
JP2002082808A (ja) プログラム制御方法
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
JP2003044284A (ja) コンピュータ装置の起動方法および起動用プログラム
JP2001228938A (ja) リモート起動方法
US6915418B2 (en) Interrupt 21h ROM client loader and payload delivery method
JPH08263219A (ja) 記録再生装置の立ち上げ方法
JP2595702B2 (ja) 入出力制御方式
JPH1055280A (ja) カートリッジソフト読み込み方法
JPH05274120A (ja) Osモード切り替え装置
JPH10307714A (ja) Pc/at互換パーソナルコンピュータ
JP3116993B2 (ja) コンピュータシステム
JP2001147814A (ja) 起動処理更新装置
JPH04169929A (ja) ブートプライオリティ変更装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060623