JP2003248580A - Program and information processing device - Google Patents
Program and information processing deviceInfo
- Publication number
- JP2003248580A JP2003248580A JP2002046296A JP2002046296A JP2003248580A JP 2003248580 A JP2003248580 A JP 2003248580A JP 2002046296 A JP2002046296 A JP 2002046296A JP 2002046296 A JP2002046296 A JP 2002046296A JP 2003248580 A JP2003248580 A JP 2003248580A
- Authority
- JP
- Japan
- Prior art keywords
- program
- computer
- context
- standby state
- state
- 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
Links
- 230000010365 information processing Effects 0.000 title claims 8
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000004913 activation Effects 0.000 claims description 7
- 230000007704 transition Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 32
- 230000002093 peripheral effect Effects 0.000 description 18
- 230000007958 sleep Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 APM又はACPIを用いず、OS自体に変
更を加えることなく、既存のブートローダをわずかに修
正することで、コンピュータにおいてスタンバイ状態を
実現することができるプログラム制御方法を提供する。
【解決手段】 OSの起動時にジャンプコードを検索す
るステップ(a)と、ステップ(a)においてジャンプ
コードが得られなかった場合に、ハードウェアを初期化
してローダ処理を行うステップ(b)と、ステップ
(a)においてジャンプコードが得られた場合に、ハー
ドウェアの初期化をせずにローダ処理を行うステップ
(c)と、ステップ(c)の後に、コンピュータ20を
スタンバイ状態にするステップ(d)と、所定のハード
ウェア割り込みが生じた場合に、コンピュータをスタン
バイ状態から動作状態に移行させるステップ(e)と、
ステップ(b)又はステップ(e)の後に、OSの初期
化を行うステップ(f)とを具備する。
PROBLEM TO BE SOLVED: To provide a program control method capable of realizing a standby state in a computer by slightly modifying an existing boot loader without using APM or ACPI and without changing the OS itself. provide. SOLUTION: A step (a) for searching for a jump code at the time of starting an OS, and a step (b) for initializing hardware and performing a loader process when a jump code is not obtained in the step (a); When a jump code is obtained in step (a), a step (c) of performing loader processing without initializing hardware, and a step (d) of setting the computer 20 to a standby state after the step (c) And (e) causing the computer to transition from the standby state to the operating state when a predetermined hardware interrupt occurs;
A step (f) of initializing the OS after the step (b) or the step (e).
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータにお
いて、ディスプレイ、ハードディスク、周辺機器等への
給電を停止し、必要なときに直ぐに動作状態に復帰でき
るように待機する状態であるスタンバイ状態を実現する
プログラム制御方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention realizes, in a computer, a standby state in which power supply to a display, a hard disk, peripheral devices, etc. is stopped and a standby state is set so that the computer can be immediately returned to the operating state when necessary. The present invention relates to a program control method.
【0002】[0002]
【従来の技術】コンピュータにおいて、ディスプレイ、
ハードディスク、周辺機器等への給電を停止し、必要な
ときに直ぐに動作状態に復帰できるように待機する状態
であるスタンバイ状態が実現されている。従来、このス
タンバイ状態は、(i)パワーマネジメント(電力管
理)機能を有するBIOS(Basic Input/Output Syste
m:基本入力/出力システムプログラム)が、OS(Ope
rating System)が認識できないSMI(System Manage
ment Interrupt)と呼ばれる割り込みを利用し、OSの
関与及び認識なしに単独で実現するか、(ii)BIO
Sと他のプログラム(OS、アプリケーションプログラ
ムを含む)との間のインタフェースであって、パワーマ
ネジメントに関するインタフェースの規格であるAPM
(Advanced Power Management)又はACPI(Advance
d Configuration and Power Interface)を用いて、A
PM又はACPIに対応したOSがAPM又はACPI
に対応したBIOSを呼び出すことにより、APM又は
ACPIに対応したOSとAPM又はACPIに対応し
たBIOSが協調することによって実現されていた。2. Description of the Related Art In a computer, a display,
A standby state has been realized in which power supply to a hard disk, peripheral devices, etc. is stopped and a standby state is set so that the operating state can be immediately restored when necessary. Conventionally, this standby state is (i) a BIOS (Basic Input / Output Syste) having a power management function.
m: The basic input / output system program is the OS (Ope
SMI (System Manage) that rating system cannot recognize
ment Interrupt) and realize it independently without the involvement and recognition of the OS, or (ii) BIO
APM which is an interface between S and other programs (including OS and application programs) and which is an interface standard for power management
(Advanced Power Management) or ACPI (Advance
d Configuration and Power Interface)
OS corresponding to PM or ACPI is APM or ACPI
By calling the BIOS corresponding to the above, the OS corresponding to the APM or ACPI and the BIOS corresponding to the APM or ACPI cooperate with each other.
【0003】現在、パワーマネジメント機能を有してい
ないOSが数多く存在している。そのようなパワーマネ
ジメント機能を有していないOSを用いたコンピュータ
では、スタンバイ状態を実現することができないか、ま
たは上記した(i)のように、パワーマネジメント機能
を有するBIOSがパワーマネジメント機能を有してい
ないOSの関与及び認識なしに単独でスタンバイ状態を
実現せざるを得ない。このようにパワーマネジメント機
能を有するBIOSがパワーマネジメント機能を有して
いないOSの関与及び認識なしに単独でスタンバイ状態
を実現する場合には、パワーマネジメント機能を有して
いないOSが、コンピュータがスタンバイ状態になる前
のメモリ等の状態とコンピュータがスタンバイ状態から
動作状態に復帰した後のメモリ等の状態とが同じである
と認識できること(メモリ等の状態がパワーマネジメン
ト機能を有していないOSにとって透過であること)が
必要となる。At present, there are many OSs that do not have a power management function. In a computer using an OS that does not have such a power management function, the standby state cannot be realized, or the BIOS having the power management function has the power management function as described in (i) above. There is no choice but to realize the standby state independently without the involvement and recognition of the OS. In this way, when the BIOS having the power management function realizes the standby state independently without involvement and recognition of the OS not having the power management function, the OS having no power management function causes the computer to stand by. It is possible to recognize that the state of the memory etc. before entering the state is the same as the state of the memory etc. after the computer returns from the standby state to the operating state (for the OS where the state of the memory etc. does not have the power management function). It must be transparent).
【0004】しかしながら、パワーマネジメント機能を
有するBIOSがパワーマネジメント機能を有していな
いOSの関与及び認識なしに単独でスタンバイ状態を実
現する場合には、パワーマネジメント機能を有していな
いOSの計時機能によって管理される時刻にコンピュー
タがスタンバイ状態であった時間を反映させることがで
きない。However, when the BIOS having the power management function realizes the standby state independently without the involvement and recognition of the OS not having the power management function, the timekeeping function of the OS not having the power management function is provided. The time managed by is not able to reflect the time the computer was in standby.
【0005】また、周辺デバイスの構成がコンピュータ
によって異なっており、パワーマネジメント機能を有す
るBIOSが認識できない周辺デバイス(以下、「認識
不可周辺デバイス」という)がコンピュータ内に存在す
る場合には、認識不可周辺デバイスに事前に完璧に対処
するのは事実上不可能である。そのため、パワーマネジ
メント機能を有していないOSが、コンピュータがスタ
ンバイ状態になる前の認識不可周辺デバイスの状態とコ
ンピュータがスタンバイ状態から動作状態に復帰した後
の認識不可周辺デバイスの状態とが同じであると認識で
きるようにすること(認識不可周辺デバイスの状態がパ
ワーマネジメント機能を有していないOSにとって透過
であること)は困難であった。Further, if the peripheral device configuration differs depending on the computer, and there is a peripheral device that cannot be recognized by the BIOS having the power management function (hereinafter referred to as "unrecognizable peripheral device"), it cannot be recognized. It is virtually impossible to deal perfectly with peripheral devices in advance. Therefore, the OS that does not have the power management function has the same state of the unrecognizable peripheral device before the computer goes into the standby state and the state of the unrecognizable peripheral device after the computer returns from the standby state to the operating state. It has been difficult to make it recognizable (the state of the unrecognizable peripheral device is transparent to the OS that does not have the power management function).
【0006】このような場合に、パワーマネジメント機
能を有するBIOS又はOSのプログラム内容を充実さ
せて完成度を高めることも考えられるが、プログラムミ
スによる危険の増大、プログラムコードの肥大化による
リソース消費の増大、処理が複雑化することによるレス
ポンスの低下を招くという問題がある。In such a case, it is possible to enhance the program content of the BIOS or OS having a power management function to improve the degree of completion. However, the risk of a program error increases and the resource consumption is increased due to the enlargement of the program code. There is a problem in that the response is deteriorated due to the increase and the complicated processing.
【0007】一方、上記した(ii)のように、APM
又はACPIに対応したOSとAPM又はACPIに対
応したBIOSが協調してスタンバイ状態を実現する場
合には、APM又はACPIに対応したBIOSの負担
を低減させることができ、コンピュータがスタンバイ状
態になる前とコンピュータがスタンバイ状態から通常状
態に復帰した後のAPM又はACPIに対応したOSの
動作の連続性が高いという長所がある。On the other hand, as described in (ii) above, the APM
Alternatively, when the OS corresponding to ACPI and the BIOS corresponding to APM or ACPI cooperate to realize the standby state, the load on the BIOS corresponding to the APM or ACPI can be reduced, and the computer can be in the standby state. In addition, there is an advantage that the continuity of the operation of the OS corresponding to APM or ACPI is high after the computer returns from the standby state to the normal state.
【0008】しかし、APM又はACPIに対応したO
SとAPM又はACPIに対応したBIOSが協調して
スタンバイ状態を実現する場合においても、アプリケー
ションプログラムが、コンピュータがスタンバイ状態に
なる前のAPM又はACPIに対応したOSの状態とコ
ンピュータがスタンバイ状態から動作状態に復帰した後
のAPM又はACPIに対応したOSの状態とが同じで
あると認識できること(APM又はACPIに対応した
OSの状態がアプリケーションプログラムにとって透過
であること)が必要である。そのため、APM又はAC
PIに対応したOSが、アプリケーションプログラムに
提供する全てのサービスがコンピュータがスタンバイ状
態になる前とコンピュータがスタンバイ状態から動作状
態に復帰した後とでアプリケーションプログラムに対し
て連続になるようなプログラムコードを備えるか、また
はアプリケーションプログラムに対してスタンバイ状態
を認識させること等が必要である。すなわち、基本的な
構図は、パワーマネジメント機能を有するBIOSがパ
ワーマネジメント機能を有しないOSの関与及び認識な
しに単独でスタンバイ状態を実現する場合と変わらな
い。さらに、コンピュータ全体で見たときのパワーマネ
ジメント処理は、益々複雑になってきており、危惧され
る問題も依然として残っている。However, O corresponding to APM or ACPI
Even when S and the BIOS corresponding to APM or ACPI cooperate to realize the standby state, the application program operates the OS state corresponding to the APM or ACPI before the computer enters the standby state and the computer operates from the standby state. It is necessary to recognize that the state of the OS corresponding to APM or ACPI after returning to the state is the same (the state of the OS corresponding to APM or ACPI is transparent to the application program). Therefore, APM or AC
A program code that allows the OS corresponding to PI to be continuous to the application program before all the services provided to the application program are put into the standby state and after the computer is returned from the standby state to the operating state It is necessary to prepare or make the application program recognize the standby state. That is, the basic composition is the same as the case where the BIOS having the power management function realizes the standby state independently without the involvement and recognition of the OS having the power management function. Moreover, the power management process when viewed from the whole computer is becoming more and more complicated, and the problem to be worried still remains.
【0009】ところで、従来のOSの状態として、AC
PI規格においてハイバネーション(Hibernation)と
して規定されている休止状態、スタンバイ状態(サスペ
ンド状態)、コンピュータの電源がオフになっていると
きの終了状態、コンピュータの電源がオンになってお
り、ユーザのログオンを待っている状態等があった。By the way, as a conventional OS state, AC
Hibernation specified in the PI standard as Hibernation, standby state (suspend state), end state when the computer power is off, computer power is on, and user logon There was a state of waiting.
【0010】コンピュータの電源がオフになっておりO
Sが終了状態であるときにコンピュータの電源がオンに
されると、OSの起動に先立って、POSTと呼ばれる
ハードウェアの診断処理がBIOSにより行われ、外部
記憶装置(HDD等)からのOSイメージのメモリへの
展開処理がブートローダにより行われる。しかしなが
ら、ハードウェアの診断処理、外部記憶装置からのOS
イメージのメモリへの展開処理には少なからず時間がか
かるため、OSの起動に時間がかかっていた。The computer is powered off and
When the computer is turned on while S is in the end state, the BIOS performs a hardware diagnostic process called POST by the BIOS prior to booting the OS, and the OS image from the external storage device (HDD, etc.) The boot loader performs the expansion processing to the memory. However, hardware diagnostic processing, OS from external storage device
Since it takes a considerable amount of time to develop the image in the memory, it takes a long time to start the OS.
【0011】ところで、日本国特許出願公開(特開)平
5−242057号公報(以下、「文献1」ともいう)
には、複数の中央処理装置と、各中央処理装置ごとに設
けられた書込み読出しメモリと、各中央処理装置につい
てのオペレーティングシステムを格納するディスク装置
等の二次記憶装置とを備えたマルチプロセッサシステム
において、複数の中央処理装置のうち一の中央処理装置
についてのみ、電源投入時にシステムのブートを行うイ
ニシャルローダプログラムを格納した読出し専用メモリ
を設けるとともに、他の各中央処理装置用のそれぞれの
イニシャルローダプログラムを二次記憶装置に格納して
おき、システム起動に際し、一の中央処理装置は読出し
専用メモリ内のイニシャルローダプログラムを実行する
ことにより、二次記憶装置内のイニシャルローダプログ
ラムをそれぞれ対応する各書込み読出しメモリに転送し
て、各中央処理装置にリセット信号を送出するとととも
に、二次記憶装置から自己用のオペレーティングシステ
ムをロードし、他の中央処理装置は、リセット信号に応
じて対応する書込み読出しメモリに格納されたイニシャ
ルローダプログラムに従い二次記憶装置からそれぞれ自
己用のオペレーティングシステムをロードすることを特
徴とするマルチプロセッサシステムの起動方式が掲載さ
れている。By the way, Japanese Patent Application Publication (JP-A) No. 5-242057 (hereinafter, also referred to as "Reference 1")
Includes a plurality of central processing units, a write / read memory provided for each central processing unit, and a secondary storage device such as a disk device that stores an operating system for each central processing unit. In the above, a read-only memory that stores an initial loader program for booting the system when the power is turned on is provided only for one of the plurality of central processing units, and the respective initial loaders for the other central processing units are provided. The program is stored in the secondary storage device, and when the system is started up, one central processing unit executes the initial loader program in the read-only memory, so that each of the initial loader programs in the secondary storage device corresponds to the corresponding one. Transfer to write / read memory for each central processing unit While sending a reset signal to the secondary storage device, it loads its own operating system from the secondary storage device, and the other central processing units execute secondary storage according to the initial loader program stored in the corresponding write / read memory in response to the reset signal. A booting method for a multiprocessor system, which is characterized by loading an operating system for its own use from each device, is described.
【0012】しかしながら、文献1に掲載されたマルチ
プロセッサシステムの起動方式は、一の中央処理装置に
ついてのみイニシャルローダプログラムを格納した読出
し専用メモリを設け、このイニシャルローダプログラム
を実行した一の中央処理装置が、他の中央処理装置が実
行するイニシャルローダプログラムを二次記憶装置から
書込み読出しメモリに転送し、他の中央処理装置が、書
込み読出しメモリに転送されたイニシャルローダプログ
ラムを実行することにより、イニシャルローダプログラ
ムの格納に要する読出し専用メモリのスペースを削減す
るものであり、システムのスタンバイ状態を実現するも
のではなく、OSの起動に必要な時間を短くするもので
もない。[0012] However, the multiprocessor system start-up method described in Document 1 is provided with a read-only memory storing the initial loader program only for one central processing unit, and the one central processing unit executing this initial loader program. Transfers the initial loader program executed by the other central processing unit from the secondary storage device to the writing / reading memory, and the other central processing unit executes the initial loader program transferred to the writing / reading memory. This is to reduce the space of the read-only memory required for storing the loader program, not to realize the standby state of the system, nor to shorten the time required to boot the OS.
【0013】また、特開平8−98098号公報(以
下、「文献2」ともいう)には、テレビジョン信号を受
信して復調し映像信号を出力する受信手段と、この受信
手段からの映像信号をディジタル信号に変換するアナロ
グディジタル変換手段と、このアナログディジタル変換
手段からのディジタル映像信号を保持する記憶手段と、
この記憶手段に格納されたディジタル映像信号を読出し
て表示画面上に画像を表示する表示手段と、アナログデ
ィジタル変換手段と記憶手段との間でディジタル映像信
号を転送するバスと、バスによるデータの転送を制御す
る転送制御手段と、オペレーティングシステムの起動を
含むブートストラッププログラムを格納するROMと、
電源投入直後に、ROMに格納されたブートストラップ
プログラムに基づいて、転送制御手段を初期化してバス
によるデータ転送を可能にした後にオペレーティングシ
ステムを起動してシステム全体をオペレーティングシス
テムの管理下に移行させるCPUとを具備したテレビジ
ョン受信機が掲載されている。Further, Japanese Laid-Open Patent Publication No. 8-98098 (hereinafter, also referred to as "reference 2") discloses receiving means for receiving a television signal, demodulating it and outputting a video signal, and a video signal from this receiving means. Analog-to-digital conversion means for converting the digital signal into a digital signal, and storage means for holding the digital video signal from the analog-to-digital conversion means,
Display means for reading the digital video signal stored in the storage means and displaying an image on the display screen, a bus for transferring the digital video signal between the analog-digital conversion means and the storage means, and data transfer by the bus A transfer control means for controlling the above, a ROM for storing a bootstrap program including activation of an operating system,
Immediately after the power is turned on, the transfer control means is initialized based on the bootstrap program stored in the ROM to enable data transfer by the bus, and then the operating system is started to shift the entire system to the management of the operating system. A television receiver equipped with a CPU is listed.
【0014】しかしながら、文献2に掲載されたテレビ
ジョン受信機は、ブートストラッププログラムに基づい
てテレビジョン映像を映出した後にオペレーティングシ
ステムを起動することにより、電源投入直後からテレビ
ジョン映像の視聴を可能にするものであり、スタンバイ
状態を実現するものではなく、OSの起動に必要な時間
を短くするものでもない。However, the television receiver disclosed in the reference 2 can watch the television image immediately after the power is turned on by activating the operating system after displaying the television image based on the bootstrap program. However, it does not realize the standby state and does not shorten the time required to start the OS.
【0015】また、特開平11−161385号公報
(以下、「文献3」ともいう)には、動作状態、オフ状
態、およびそれらの中間の複数のスリープ状態を有する
コンピュータシステムにおいて、コンピュータシステム
に対する電源供給状態の変化を検出する手段と、コンピ
ュータシステムが複数のスリープ状態の中のいずれかの
スリープ状態である期間に電源供給状態の変化が検出さ
れたとき、その電源供給状態の変化に応じて、コンピュ
ータシステムのスリープ状態を複数のスリープ状態の間
で遷移させるスリープ状態遷移手段とを具備するコンピ
ュータシステムが掲載されている。Further, Japanese Patent Application Laid-Open No. 11-161385 (hereinafter, also referred to as "Document 3") discloses a power source for a computer system in a computer system having an operating state, an off state, and a plurality of sleep states in between. A means for detecting a change in the power supply state, and when a change in the power supply state is detected during a period in which the computer system is in one of a plurality of sleep states, in response to the change in the power supply state, A computer system including a sleep state transition unit that transitions the sleep state of the computer system among a plurality of sleep states is disclosed.
【0016】しかしながら、文献3に掲載されたコンピ
ュータシステムは、ACPI仕様のS0〜S5の複数の
スリープ状態をとり得るバッテリ駆動のノートPC等に
おいて、スリープ状態の期間における電源供給状態(例
えばACアダプタの挿抜)の変化などに応じて動的にス
リープ状態の深さを切り替えられるようにし、システム
ステートを常に最適なスリープ状態に設定することを可
能にするものである。すなわち、パワーマネジメント機
能を有するBIOSがパワーマネジメント機能を有して
いないOSの関与及び認識なしに単独でスタンバイ状態
を実現する場合に、OSの計時機能によって管理される
時刻にコンピュータがスタンバイ状態であった時間を反
映させること、及びパワーマネジメント機能を有してい
ないOSが、コンピュータがスタンバイ状態になる前の
認識不可周辺デバイスの状態とコンピュータがスタンバ
イ状態から動作状態に復帰した後の認識不可周辺デバイ
スの状態とが同じであると認識できるようにすること
(認識不可周辺デバイスの状態がパワーマネジメント機
能を有していないOSにとって透過であること)を実現
するものではない。However, the computer system described in Document 3 is a battery-powered notebook PC or the like that can take a plurality of sleep states of ACPI specification S0 to S5, and the power supply state during the sleep state (for example, of the AC adapter). (Insertion / removal) allows the depth of the sleep state to be dynamically switched according to changes in the system state, etc., and makes it possible to always set the system state to the optimum sleep state. That is, when the BIOS having the power management function realizes the standby state independently without the involvement and recognition of the OS not having the power management function, the computer is in the standby state at the time managed by the clock function of the OS. The OS that does not have the power management function and the unrecognizable peripheral device before the computer goes into the standby state and the unrecognizable peripheral device after the computer returns from the standby state to the operating state It is not realized to be able to recognize that the state is the same as that of (the state of the unrecognizable peripheral device is transparent to the OS that does not have the power management function).
【0017】また、文献3に掲載されたコンピュータシ
ステムは、APM又はACPIに対応したOSとAPM
又はACPIに対応したBIOSが協調してスタンバイ
状態を実現する場合に、アプリケーションプログラム
が、コンピュータがスタンバイ状態になる前のAPM又
はACPIに対応したOSの状態とコンピュータがスタ
ンバイ状態から動作状態に復帰した後のAPM又はAC
PIに対応したOSの状態とが同じであると認識できる
ようにすること(APM又はACPIに対応したOSの
状態がアプリケーションプログラムにとって透過である
こと)を実現するものでもない。さらに、OSの起動に
必要な時間を短くするものでもない。In addition, the computer system described in Reference 3 uses an OS and APM compatible with APM or ACPI.
Alternatively, when the BIOS corresponding to ACPI cooperates to realize the standby state, the application program restores the OS state corresponding to the APM or ACPI before the computer enters the standby state and the computer from the standby state to the operating state. Later APM or AC
It does not realize that the state of the OS corresponding to the PI can be recognized as being the same (the state of the OS corresponding to APM or ACPI is transparent to the application program). Furthermore, it does not shorten the time required to start the OS.
【0018】[0018]
【発明が解決しようとする課題】そこで、上記の点に鑑
み、本発明は、APM又はACPIを用いることなく、
OS自体に変更を加えることなく、既存のブートローダ
をわずかに修正することで、コンピュータにおいてスタ
ンバイ状態を実現することができるプログラム制御方法
を提供することを第1の目的とする。また、本発明は、
OSの起動に必要な時間を短くすることができるプログ
ラム制御方法を提供することを第2の目的とする。Therefore, in view of the above points, the present invention can be realized without using APM or ACPI.
It is a first object of the present invention to provide a program control method capable of realizing a standby state in a computer by slightly modifying an existing boot loader without changing the OS itself. Further, the present invention is
A second object is to provide a program control method capable of shortening the time required to boot the OS.
【0019】[0019]
【課題を解決するための手段】以上の課題を解決するた
め、本発明の第1の観点に係るプログラムは、コンピュ
ータにおいて、オペレーティングシステムを含むプログ
ラムの起動を制御するプログラム制御方法であって、プ
ログラム起動時にジャンプコードを検索するステップ
(a)と、ステップ(a)においてジャンプコードが得
られなかった場合に、ハードウェアを初期化してローダ
処理を行うステップ(b)と、ステップ(a)において
ジャンプコードが得られた場合に、ハードウェアの初期
化をせずにローダ処理を行うステップ(c)と、ステッ
プ(c)の後に、コンピュータをスタンバイ状態にする
ステップ(d)と、所定のハードウェア割り込みが生じ
た場合に、コンピュータをスタンバイ状態から動作状態
に移行させるステップ(e)と、ステップ(b)又はス
テップ(e)の後に、起動させるプログラムの初期化を
行うステップ(f)とを実行させる。In order to solve the above problems, a program according to a first aspect of the present invention is a program control method for controlling activation of a program including an operating system in a computer. A step (a) of searching for a jump code at the time of startup, a step (b) of initializing the hardware and executing a loader process when the jump code is not obtained in the step (a), and a jump of step (a) When the code is obtained, a step (c) of performing a loader process without initializing the hardware, a step (d) of putting the computer into a standby state after the step (c), and a predetermined hardware Steps to bring the computer from standby to active if an interrupt occurs. And (e), after step (b) or step (e), to perform the steps (f) to initialize the program to be started.
【0020】また、本発明の第2の観点に係るプログラ
ムは、コンピュータにおいて、オペレーティングシステ
ムを含むプログラムの起動を制御するプログラム制御方
法であって、プログラム起動時にジャンプコードを検索
するステップ(a)と、ステップ(a)においてジャン
プコードが得られなかった場合に、ハードウェアを初期
化してローダ処理を行うステップ(b)と、ステップ
(b)の後に、コンピュータをスタンバイ状態にするス
テップ(c)と、所定のハードウェア割り込みが生じた
場合に、コンピュータをスタンバイ状態から動作状態に
移行させるステップ(d)と、ステップ(a)において
ジャンプコードが得られた場合に、ハードウェアの初期
化をせずにローダ処理を行うステップ(e)と、ステッ
プ(c)又はステップ(e)の後に、起動させるプログ
ラムの初期化を行うステップ(f)とを実行させる。A program according to a second aspect of the present invention is a program control method for controlling activation of a program including an operating system in a computer, the method including a step (a) of searching a jump code when the program is activated. , A step (b) of initializing the hardware to perform the loader process when the jump code is not obtained in the step (a), and a step (c) of putting the computer in a standby state after the step (b). , Step (d) of shifting the computer from the standby state to the operating state when a predetermined hardware interrupt occurs, and without the hardware initialization when the jump code is obtained in step (a) Step (e) for performing loader processing and step (c) or step After the (e), to perform the steps (f) to initialize the program to be started.
【0021】ここで、ローダ処理は、コンテキストの有
無を検証し、コンテキストの有りの場合には、ソフトリ
セット処理を実行し、コンテキストの無しの場合には、
ハードリセット処理を実行することができる。また、ハ
ードリセット処理は、コンテキストの作成と、当該コン
テキストにプログラムのクラスタチェーン情報及びエン
トリポイント情報の記録を実行する処理とすることがで
きる。さらに、コンテキストは、プログラムのクラスタ
チェーン情報及びエントリポイント情報が記録されてお
り、ソフトリセット処理は、コンテキストに記録されて
いるエントリポイント情報によってプログラムのウォー
ムブートを実行し、コンテキストに記録されているクラ
スタチェーン情報によってプログラムのコールドブート
を実行する、ようにすることもできる。Here, the loader process verifies the presence / absence of the context, executes the soft reset process if the context exists, and executes the soft reset process if the context does not exist.
A hard reset process can be performed. Further, the hard reset process can be a process of creating a context and recording cluster chain information and entry point information of the program in the context. Further, the context stores the cluster chain information and the entry point information of the program, and the soft reset process executes the warm boot of the program by the entry point information recorded in the context, and the cluster recorded in the context. It is also possible to perform a cold boot of the program by chain information.
【0022】本発明の第1の観点によれば、APM又は
ACPIを用いることなく、OS自体に変更を加えるこ
となく、既存のブートローダをわずかに修正し、ユーザ
からスタンバイ要求があったときにブートローダに通知
するとともに他のアプリケーションプログラムに終了要
求を発行するインタフェースプログラムを用意すること
で、コンピュータにおいてスタンバイ状態を実現するこ
とができる。従って、APM又はACPIに対応してい
ないOSを用いて、コンピュータにおいてスタンバイ状
態を実現することができる。また、工数の増加、及びパ
ワーマネジメント機能追加によるOSのプログラムコー
ドサイズ増加を最小に抑えることができる。さらに、コ
ンピュータにおけるスタンバイ状態を極めてシンプルに
実現することができ、コンピュータの安定性を高くする
ことができ、処理を高速にすることができる。According to the first aspect of the present invention, the existing boot loader is slightly modified without using APM or ACPI, without changing the OS itself, and when the user makes a standby request, the boot loader is modified. A standby state can be realized in the computer by providing an interface program that notifies the application and issues an end request to another application program. Therefore, the standby state can be realized in the computer by using an OS that does not support APM or ACPI. Further, it is possible to minimize the increase in man-hours and the increase in the OS program code size due to the addition of the power management function. Furthermore, the standby state in the computer can be realized very simply, the stability of the computer can be enhanced, and the processing speed can be increased.
【0023】また、OSの計時機能によって管理される
時刻にコンピュータがスタンバイ状態であった時間を反
映させることができないこと、パワーマネジメント機能
を有していないOSが、コンピュータがスタンバイ状態
になる前の認識不可周辺デバイスの状態とコンピュータ
がスタンバイ状態から動作状態に復帰した後の認識不可
周辺デバイスの状態とが同じであると認識できるように
すること(認識不可周辺デバイスの状態がパワーマネジ
メント機能を有していないOSにとって透過であるこ
と)ができないこと、及び、APM又はACPIに対応
したOSとAPM又はACPIに対応したBIOSが協
調してスタンバイ状態を実現する場合に、アプリケーシ
ョンプログラムが、コンピュータがスタンバイ状態にな
る前のAPM又はACPIに対応したOSの状態とコン
ピュータがスタンバイ状態から動作状態に復帰した後の
APM又はACPIに対応したOSの状態とが同じであ
ると認識できるようにすること(APM又はACPIに
対応したOSの状態がアプリケーションプログラムにと
って透過であること)ができないといった問題をなくす
ことができる。In addition, the time when the computer is in the standby state cannot be reflected at the time managed by the timekeeping function of the OS, and the OS that does not have the power management function is used before the computer enters the standby state. To be able to recognize that the state of an unrecognizable peripheral device is the same as the state of the unrecognizable peripheral device after the computer returns from the standby state to the operating state (the state of the unrecognizable peripheral device has a power management function. If the OS that supports APM or ACPI and the BIOS that supports APM or ACPI cooperate to realize the standby state, the application program causes the computer to enter the standby state. APM or A before entering the state To make it possible to recognize that the state of the OS corresponding to PI is the same as the state of the OS corresponding to APM or ACPI after the computer returns from the standby state to the operating state (of the OS corresponding to APM or ACPI. The problem that the state cannot be transparent to the application program can be eliminated.
【0024】また、本発明の第2の観点によれば、OS
自体に変更を加えることなく、且つ一般的なハードウェ
ア構成で高速にOSを起動することができる。According to a second aspect of the present invention, the OS
The OS can be booted at high speed with a general hardware configuration without changing itself.
【0025】[0025]
【発明の実施の形態】以下、図面に基づいて本発明の実
施の形態について説明する。図1は、本発明の実施形態
に係るプログラム制御方法を実施するためのコンピュー
タを示す図である。図1に示すように、コンピュータ2
0は、プログラム(ブートローダ、BIOS(Basic In
put/Output System:基本入出力システムプログラ
ム)、OS(Operating System)、アプリケーションプ
ログラム等を含む)などを実行するCPU(Central Pr
ocessing Unit)11と、起動時等に必要となるプログ
ラム(ブートローダ、BIOS(Basic Input/Output S
ystem)等を含む)が記憶されているROM(Read Only
Memory)13と、プログラムを実行するときにプログ
ラムデータを展開するためのRAM(Random Access Me
mory)15と、CPU11等に接続され、OS、アプリ
ケーションプログラム等が格納されているHDD(Hard
Disk Drive)17と、CPU11等に接続され、画像
などの出力制御を行うビデオコントローラ19とを具備
する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing a computer for carrying out a program control method according to an embodiment of the present invention. As shown in FIG. 1, the computer 2
0 is a program (boot loader, BIOS (Basic In
put / Output System: CPU (Central Pr) that executes basic input / output system programs), OS (Operating System), application programs, etc.)
ocessing unit) 11 and programs (boot loader, BIOS (Basic Input / Output S) required for startup, etc.
ROM (read only)
Memory) 13 and a RAM (Random Access Mem) for expanding the program data when the program is executed.
mory) 15 and an HDD (Hard Disk) that is connected to the CPU 11, etc., and stores the OS, application programs, etc.
A disk drive) 17 and a video controller 19 that is connected to the CPU 11 and controls the output of images and the like.
【0026】図2は、コンピュータのプログラム制御処
理を示すフローチャートである。以下、本実施形態に係
るプログラム制御方法について、図1及び図2を参照し
ながら説明する。CPU11がソフトウェアリセット命
令を実行し(ソフトウェアリセット)、又はリセットボ
タン(図示せず)などからのリセット信号がCPU11
に入力されると(ハードウェアリセット)、CPU11
は、図2の処理を開始する。FIG. 2 is a flow chart showing the program control processing of the computer. Hereinafter, the program control method according to the present embodiment will be described with reference to FIGS. 1 and 2. The CPU 11 executes a software reset command (software reset), or a reset signal from a reset button (not shown) or the like is sent to the CPU 11
Is input (hardware reset), the CPU 11
Starts the process of FIG.
【0027】図2の処理を開始すると、CPU11は、
ROM13内のリセットベクタに従ってリセット処理を
行う(ステップ101)。リセットベクタにはジャンプ
コード(ジャンプ先アドレス)が格納されており、その
データからジャンプ先が選択される(ステップ10
2)。When the processing of FIG. 2 is started, the CPU 11
Reset processing is performed according to the reset vector in the ROM 13 (step 101). A jump code (jump destination address) is stored in the reset vector, and the jump destination is selected from the data (step 10).
2).
【0028】ハードウェアリセットによって図2の処理
を開始した場合には、アドレスは、例えば、「0」から
始まるので、POSTにジャンプする(ステップ10
2)。POSTでは、HDD17等のH/W(ハードウ
ェア)やRAM15やレジスタ等の初期化が行われる
(ステップ103)。When the processing of FIG. 2 is started by a hardware reset, the address starts from "0", for example, and therefore jumps to POST (step 10).
2). In POST, H / W (hardware) such as HDD 17 and RAM 15 and registers are initialized (step 103).
【0029】次に、POSTのブートストラップ処理で
ROM13に記憶されているブートローダをRAM15
へ読み込んで展開する(ステップ104)。なお、OS
のRAM15への展開が完了したら、暗号コードをI/
O入出力することによって、リセットベクタの示す内容
を改変可能にすることもできる。Next, the boot loader stored in the ROM 13 is loaded into the RAM 15 by the POST bootstrap process.
Read in and expand (step 104). OS
When the expansion of RAM to RAM15 is completed, I / O
The contents indicated by the reset vector can be changed by inputting / outputting O.
【0030】そして、その内容をブートローダのエント
リに変更した後、ブートローダがHDD17からOSの
動作イメージをRAM15に読み込んで展開する(ステ
ップ105)。次に、ブートローダはコンテキストを作
成し(ステップ106)、そこに次回の起動に必要なデ
ータを記憶しておく。必要なデータとは、例えばRAM
13、HDD17等のディスク装置、ビデオコントロー
ラ19のパラメータ、OSのエントリーアドレス、OS
に渡すパラメータ、HDD17等のディスク装置内のO
Sに関係するOSイメージファイルのクラスタ情報、オ
リジナルのリセットベクタの内容などである。なお、こ
のコンテキストにある情報は、OS動作中も常にOSか
ら保護された状態でメモリに存在する。また、このコン
テキストエリアへはブートローダのみがアクセスするこ
とができる。After changing the contents to the entry of the boot loader, the boot loader reads the operation image of the OS from the HDD 17 into the RAM 15 and expands it (step 105). Next, the boot loader creates a context (step 106), and stores the data necessary for the next startup therein. Required data is, for example, RAM
13, disk devices such as HDD 17, parameters of video controller 19, entry address of OS, OS
Parameters to be passed to the HDD, O in the disk device such as the HDD 17
The cluster information of the OS image file related to S, the contents of the original reset vector, and the like. The information in this context always exists in the memory in a state protected from the OS even while the OS is operating. Only the boot loader can access this context area.
【0031】次に、ブートローダは、コンピュータ20
の高速起動のための待機を指示するパラメータを受け取
っているか否かをチェックし(ステップ107)、該パ
ラメータを受け取っている場合にはCPU11を停止さ
せ、コンピュータ20をスタンバイ状態に移行させる
(ステップ108)。ステップ108にてCPU11が
停止しているときに、ハードウェア割り込み(タイマ割
り込み、電源スイッチがオンにされること等を含む)が
生ずると(起動指示)、CPU11は動作を再開し、コ
ンピュータ20はスタンバイ状態から動作状態に移行す
る。Next, the boot loader is the computer 20.
It is checked whether or not the parameter instructing the standby for the high-speed startup is received (step 107), and if the parameter is received, the CPU 11 is stopped and the computer 20 is shifted to the standby state (step 108). ). If a hardware interrupt (including a timer interrupt, a power switch being turned on, etc.) occurs while the CPU 11 is stopped in step 108 (start instruction), the CPU 11 resumes operation, and the computer 20 Transition from standby state to operating state.
【0032】ステップ107にてコンピュータ20の高
速起動のための待機を指示するパラメータを受け取って
いない場合、又はステップ108にてハードウェア割り
込みが生じた場合、ブートローダは、RAM15上でO
Sを初期化する(ステップ109)。このとき、OSに
対して次回のブートローダ起動時に、OSからブートロ
ーダ動作のリクエストができる機構として、OSがリク
エストコードを記録するための手段(例えば、特定のメ
モリアドレス)をOSに渡すパラメータに含める形で通
知する。こうして、OSが動作し、OS上のアプリケー
ションを起動させることができ、ビデオコントローラ1
9等を制御できるようになる。If the parameter instructing the standby for the high-speed startup of the computer 20 has not been received in step 107, or if the hardware interrupt has occurred in step 108, the boot loader is set to O in the RAM 15.
S is initialized (step 109). At this time, as a mechanism that allows the OS to request a boot loader operation at the next boot loader startup, means for the OS to record a request code (for example, a specific memory address) is included in the parameter to be passed to the OS. Notify with. In this way, the OS operates, the application on the OS can be started, and the video controller 1
9 will be able to be controlled.
【0033】一方、ソフトウェアリセットによって図2
の処理を開始した場合には、ジャンプコードの情報を読
み取り、ブートローダにジャンプする(ステップ10
2)。続いて、RAM15内にコンテキストがあるかを
確認する(ステップ110)。On the other hand, a software reset is performed as shown in FIG.
When the process of step 1 is started, the jump code information is read and the process jumps to the boot loader (step 10).
2). Then, it is confirmed whether there is a context in the RAM 15 (step 110).
【0034】コンテキストがない場合は、ハードウェア
は初期化されているが、ブートローダのコンテキスト情
報が十分に記録されていない場合である。そのため、処
理をステップ105に移す(ステップ110)。When there is no context, the hardware is initialized but the context information of the boot loader is not sufficiently recorded. Therefore, the process proceeds to step 105 (step 110).
【0035】一方、コンテキストがある場合には、次
に、OSの終了要求があるかを確認する(ステップ11
1)。ここで、OSの終了処理要求がある場合には、O
Sの終了処理を行うこととなる(ステップ112)。On the other hand, if there is a context, then it is confirmed whether or not there is an OS termination request (step 11).
1). Here, if there is a request for termination processing of the OS, O
The end processing of S is performed (step 112).
【0036】また、OSの終了処理要求がない場合に
は、ウォーム(WARM)ブートさせるか、コールド
(COLD)ブートさせるかを選択する(ステップ11
3)。具体的には、コンテキストからOSのエントリポ
イントを取得できる場合にはウォーム(WARM)ブー
トさせ、コンテキストからOSのエントリポイントを取
得できない場合にはコールド(COLD)ブートさせ
る。If there is no OS termination processing request, either warm (WARM) boot or cold (COLD) boot is selected (step 11).
3). Specifically, if the OS entry point can be acquired from the context, warm boot is performed, and if the OS entry point cannot be acquired from the context, cold boot is performed.
【0037】ウォーム(WARM)ブートの場合には、
ブートローダは、スタンバイ状態となることを指示する
パラメータを受け取っているか否かをチェックし(ステ
ップ114)、該パラメータを受け取っている場合には
CPU11を停止させ、コンピュータ20をスタンバイ
状態に移行させる(ステップ115)。ステップ115
にてCPU11が停止しているときに、ハードウェア割
り込み(タイマ割り込み、電源スイッチがオンにされる
こと等を含む)が生ずると、CPU11は動作を再開
し、コンピュータ20はスタンバイ状態から動作状態に
移行する。In case of warm boot,
The boot loader checks whether or not it has received a parameter instructing to enter the standby state (step 114), and if it has received the parameter, stops the CPU 11 and shifts the computer 20 to the standby state (step 114). 115). Step 115
If a hardware interrupt (including a timer interrupt, a power switch being turned on, etc.) occurs while the CPU 11 is stopped, the CPU 11 resumes operation and the computer 20 changes from the standby state to the operating state. Transition.
【0038】ステップ114にてスタンバイ状態となる
ことを指示するパラメータを受け取っていない場合、又
はステップ115にてハードウェア割り込みが生じた場
合、ブートローダは、コンテキストからOSのエントリ
ポイントを取得し、該エントリポイントにジャンプする
(ステップ116)。その後はステップ109に従い、
RAM15上でOSを初期化する。なお、ウォーム(W
ARM)ブートでは、RAM15の内容の保持だけを保
証すれば良いため、RAM15以外のデバイスに関して
は、一通りの標準的・一般的なパワーオフ/パワーオン
処理に止める。また、RAM15以外のデバイスは、O
Sがウォーム(WARM)ブート後に初期化する。When the parameter instructing the standby state is not received in step 114, or the hardware interrupt occurs in step 115, the boot loader acquires the OS entry point from the context and Jump to a point (step 116). After that, follow step 109
The OS is initialized on the RAM 15. In addition, warm (W
In the (ARM) boot, since it is only necessary to guarantee the retention of the contents of the RAM 15, only standard and general power-off / power-on processing is performed for devices other than the RAM 15. For devices other than the RAM 15, O
S initializes after warm boot.
【0039】ステップ113にてコールド(COLD)
ブートの場合には、ブートローダはコンテキストからO
Sのエントリポイントを取得できないので、コンテキス
トからOSファイルのクラスタ情報を取得する(ステッ
プ117)。その情報に従って、HDD17からOSフ
ァイルをRAM15に高速に読み込んで(ステップ11
8)展開し、RAM15上でOSを初期化する(ステッ
プ109)。なお、ステップ117、118、109の
処理中に、ブートローダはコンテキストに次回の起動に
必要なデータを確実に記憶しておく。Cold (COLD) in step 113
In the case of boot, the boot loader will
Since the entry point of S cannot be acquired, the cluster information of the OS file is acquired from the context (step 117). According to the information, the OS file is read from the HDD 17 into the RAM 15 at high speed (step 11
8) Expand and initialize OS on RAM 15 (step 109). During the processing of steps 117, 118, and 109, the boot loader surely stores the data necessary for the next startup in the context.
【0040】なお、ステップ115においてコンピュー
タ20がスタンバイ状態になった場合には、OS上で動
作中のアプリケーションプログラムの状態は保存されな
い。そこで、OS上で動作するアプリケーションプログ
ラムであって、コンピュータ20の動作状態の監視を行
い、また、ユーザからスタンバイ要求があったときにブ
ートローダに通知するとともに他のアプリケーションプ
ログラムに終了要求を発行するインタフェースプログラ
ム(ダイナミックリンクライブラリとすることも可能)
を用意することにより、アプリケーションプログラムが
レジストリ(OSの動作に必要なパラメータ等を格納す
るシステムファイル)やデータファイルにデータを退避
できるようにすることが可能となる。When the computer 20 enters the standby state in step 115, the state of the application program running on the OS is not saved. Therefore, an interface that is an application program that runs on the OS and that monitors the operating state of the computer 20 and that notifies the boot loader when there is a standby request from the user and issues a termination request to another application program. Program (can be a dynamic link library)
By preparing, it becomes possible for the application program to save the data in the registry (system file storing parameters necessary for the operation of the OS) and the data file.
【0041】以上説明したように、本実施形態において
は、ステップ114においてスタンバイ状態となること
を指示するパラメータを受け取っているか否かをチェッ
クし、該パラメータを受け取っている場合には、ステッ
プ115においてコンピュータ20がスタンバイ状態に
移行する。このように、本実施形態においては、APM
又はACPIを用いることなく、OS自体に変更を加え
ることなく、既存のブートローダをわずかに修正し、ユ
ーザからスタンバイ要求があったときにブートローダに
通知するとともに他のアプリケーションプログラムに終
了要求を発行するインタフェースプログラムを用意する
ことで、コンピュータ20においてスタンバイ状態を実
現することができる。従って、APM又はACPIに対
応していないOSを用いて、コンピュータ20において
スタンバイ状態を実現することができる。また、工数の
増加、及びパワーマネジメント機能追加によるOSのプ
ログラムコードサイズ増加を最小に抑えることができ
る。さらに、コンピュータ20におけるスタンバイ状態
を極めてシンプルに実現しているので、コンピュータ2
0の安定性を高くすることができ、処理を高速にするこ
とができる。As described above, in the present embodiment, it is checked in step 114 whether or not the parameter instructing to enter the standby state is received. If the parameter is received, in step 115. The computer 20 shifts to the standby state. Thus, in this embodiment, the APM
An interface that slightly modifies the existing boot loader without using the ACPI without changing the OS itself, notifies the boot loader when a standby request is made by the user, and issues a termination request to another application program. By preparing the program, the computer 20 can be brought into a standby state. Therefore, the standby state can be realized in the computer 20 by using an OS that does not support APM or ACPI. Further, it is possible to minimize the increase in man-hours and the increase in the OS program code size due to the addition of the power management function. Furthermore, since the standby state in the computer 20 is realized extremely simply, the computer 2
The stability of 0 can be increased, and the processing speed can be increased.
【0042】また、OSの計時機能によって管理される
時刻にコンピュータがスタンバイ状態であった時間を反
映させることができないこと、パワーマネジメント機能
を有していないOSが、コンピュータがスタンバイ状態
になる前の認識不可周辺デバイスの状態とコンピュータ
がスタンバイ状態から動作状態に復帰した後の認識不可
周辺デバイスの状態とが同じであると認識できるように
すること(認識不可周辺デバイスの状態がパワーマネジ
メント機能を有していないOSにとって透過であるこ
と)ができないこと、及び、APM又はACPIに対応
したOSとAPM又はACPIに対応したBIOSが協
調してスタンバイ状態を実現する場合に、アプリケーシ
ョンプログラムが、コンピュータがスタンバイ状態にな
る前のAPM又はACPIに対応したOSの状態とコン
ピュータがスタンバイ状態から動作状態に復帰した後の
APM又はACPIに対応したOSの状態とが同じであ
ると認識できるようにすること(APM又はACPIに
対応したOSの状態がアプリケーションプログラムにと
って透過であること)ができないといった問題をなくす
ことができる。In addition, the time when the computer is in the standby state cannot be reflected at the time managed by the timekeeping function of the OS, and the OS that does not have the power management function is provided before the computer enters the standby state. To be able to recognize that the state of an unrecognizable peripheral device is the same as the state of the unrecognizable peripheral device after the computer returns from the standby state to the operating state (the state of the unrecognizable peripheral device has a power management function. If the OS that supports APM or ACPI and the BIOS that supports APM or ACPI cooperate to realize the standby state, the application program causes the computer to enter the standby state. APM or A before entering the state To make it possible to recognize that the state of the OS corresponding to PI is the same as the state of the OS corresponding to APM or ACPI after the computer returns from the standby state to the operating state (of the OS corresponding to APM or ACPI. The problem that the state cannot be transparent to the application program can be eliminated.
【0043】また、本実施形態においては、ステップ1
07において高速起動のための待機を指示するパラメー
タを受け取っているか否かをチェックし、該パラメータ
を受け取っている場合には、ステップ108においてコ
ンピュータ20をスタンバイ状態に移行させて待機させ
る。そして、ハードウェア割り込み(起動指示)が生じ
た場合に、コンピュータ20をスタンバイ状態から動作
状態に移行させる。このように、本実施形態において
は、OS自体に変更を加えることなく、且つ一般的なハ
ードウェア構成で高速にOSを起動することができる。
具体的には、OSとしてWindowsCE(マイクロ
ソフト社の登録商標)を用いたコンピュータにおいて、
従来約30秒であったOS起動時間を5秒未満に短縮す
ることができる。Further, in this embodiment, step 1
At 07, it is checked whether or not the parameter instructing the standby for the high-speed startup is received, and if the parameter is received, the computer 20 is shifted to the standby state and made to stand by at step 108. Then, when a hardware interrupt (start instruction) occurs, the computer 20 is shifted from the standby state to the operating state. As described above, in the present embodiment, the OS can be booted at high speed without changing the OS itself and with a general hardware configuration.
Specifically, in a computer that uses Windows CE (registered trademark of Microsoft Corporation) as the OS,
It is possible to reduce the OS startup time, which was conventionally about 30 seconds, to less than 5 seconds.
【0044】[0044]
【発明の効果】以上述べた様に、本発明の第1の観点に
よれば、APM又はACPIを用いることなく、OS自
体に変更を加えることなく、既存のブートローダをわず
かに修正することで、コンピュータにおいてスタンバイ
状態を実現することが可能となる。また、本発明の第2
の観点によれば、OS自体に変更を加えることなく、且
つ一般的なハードウェア構成で高速にOSを起動するこ
とが可能となる。As described above, according to the first aspect of the present invention, by slightly modifying the existing boot loader without using APM or ACPI and without changing the OS itself, It becomes possible to realize a standby state in a computer. The second aspect of the present invention
From the viewpoint, it is possible to boot the OS at high speed without changing the OS itself and with a general hardware configuration.
【図1】 本発明の一実施形態に係るプログラム制御処
理を実行するコンピュータの一例を示す図である。FIG. 1 is a diagram illustrating an example of a computer that executes a program control process according to an embodiment of the present invention.
【図2】 本発明の一実施形態に係るプログラム制御処
理を示すフローチャートである。FIG. 2 is a flowchart showing a program control process according to an embodiment of the present invention.
11 CPU 13 ROM 15 RAM 17 HDD 19 ビデオコントローラ 20 コンピュータ 11 CPU 13 ROM 15 RAM 17 HDD 19 Video controller 20 computers
Claims (10)
グシステムを含むプログラムの起動を制御するプログラ
ムであって、 前記プログラムの起動時にジャンプコードを検索するス
テップ(a)と、 ステップ(a)においてジャンプコードが得られなかっ
た場合に、ハードウェアを初期化してローダ処理を行う
ステップ(b)と、 ステップ(a)においてジャンプコードが得られた場合
に、ハードウェアの初期化をせずにローダ処理を行うス
テップ(c)と、 ステップ(c)の後に、前記コンピュータをスタンバイ
状態にするステップ(d)と、 所定のハードウェア割り込みが生じた場合に、前記コン
ピュータをスタンバイ状態から動作状態に移行させるス
テップ(e)と、 ステップ(b)又はステップ(e)の後に、前記プログ
ラムの初期化を行うステップ(f)と、を実行させるプ
ログラム。1. A program for controlling activation of a program including an operating system in a computer, wherein a jump code is searched for when the program is activated, and a jump code is not obtained in step (a). When the jump code is obtained in step (a), the step (b) of initializing the hardware and the step of performing the loader processing without initializing the hardware is performed. ), After the step (c), a step (d) for putting the computer into a standby state, and a step (e) for shifting the computer from the standby state to the operating state when a predetermined hardware interrupt occurs. , After step (b) or step (e) A program for executing step (f) of performing synchronization.
グシステムを含むプログラムの起動を制御するプログラ
ムであって、 プログラム起動時にジャンプコードを検索するステップ
(a)と、 ステップ(a)においてジャンプコードが得られなかっ
た場合に、ハードウェアを初期化してローダ処理を行う
ステップ(b)と、 ステップ(b)の後に、前記コンピュータをスタンバイ
状態にするステップ(c)と、 所定のハードウェア割り込みが生じた場合に、前記コン
ピュータをスタンバイ状態から動作状態に移行させるス
テップ(d)と、 ステップ(a)においてジャンプコードが得られた場合
に、ハードウェアの初期化をせずにローダ処理を行うス
テップ(e)と、 ステップ(c)又はステップ(e)の後に、起動させる
プログラムの初期化を行うステップ(f)と、を実行さ
せるプログラム。2. A program for controlling activation of a program including an operating system in a computer, wherein step (a) of searching for a jump code when the program is activated, and no jump code obtained in step (a) The step (b) of initializing the hardware and performing the loader processing, the step (c) of putting the computer into a standby state after the step (b), and the step (b) of A step (d) of shifting the computer from a standby state to an operating state, and a step (e) of performing loader processing without initializing the hardware when a jump code is obtained in the step (a), The first program to be started after (c) or step (e) A program for executing step (f) of performing synchronization.
を検証し、前記コンテキストの有りの場合には、ソフト
リセット処理を実行させ、前記コンテキストの無しの場
合には、ハードリセット処理を実行させることを特徴と
する請求項1又は2記載のプログラム。3. The loader process verifies the presence / absence of a context, executes a soft reset process if the context exists, and executes a hard reset process if the context does not exist. The program according to claim 1 or 2, which is characterized.
トの作成と、当該コンテキストにプログラムのクラスタ
チェーン情報及びエントリポイント情報の記録と、を実
行させることを特徴とする請求項3記載のプログラム。4. The program according to claim 3, wherein the hard reset process causes a context to be created and the cluster chain information and entry point information of the program to be recorded in the context.
スタチェーン情報及びエントリポイント情報が記録され
ており、 前記ソフトリセット処理は、 前記コンテキストに記録されている前記エントリポイン
ト情報によって前記プログラムのウォームブートを実行
させ、 前記コンテキストに記録されている前記クラスタチェー
ン情報によって前記プログラムのコールドブートを実行
させる、ことを特徴とする請求項3記載のプログラム。5. The cluster chain information and entry point information of a program are recorded in the context, and the soft reset process causes a warm boot of the program to be executed according to the entry point information recorded in the context. The program according to claim 3, characterized in that cold boot of the program is executed according to the cluster chain information recorded in the context.
システムを含むプログラムの起動を制御する情報処理装
置であって、 前記プログラムの起動時にジャンプコードを検索するス
テップ(a)と、 ステップ(a)においてジャンプコードが得られなかっ
た場合に、ハードウェアを初期化してローダ処理を行う
ステップ(b)と、 ステップ(a)においてジャンプコードが得られた場合
に、ハードウェアの初期化をせずにローダ処理を行うス
テップ(c)と、 ステップ(c)の後に、前記コンピュータをスタンバイ
状態にするステップ(d)と、 所定のハードウェア割り込みが生じた場合に、前記コン
ピュータをスタンバイ状態から動作状態に移行させるス
テップ(e)と、 ステップ(b)又はステップ(e)の後に、前記プログ
ラムの初期化を行うステップ(f)と、を実行する情報
処理装置。6. An information processing device for controlling the activation of a program including an operating system in a computer, wherein the step (a) of searching for a jump code when the program is activated, and the jump code being obtained in step (a). If not, the step (b) of initializing the hardware to perform the loader process, and the step of performing the loader process without initializing the hardware when the jump code is obtained in the step (a). (C), after the step (c), a step (d) of putting the computer into a standby state, and a step (e) of shifting the computer from the standby state to the operating state when a predetermined hardware interrupt occurs. ), And after step (b) or step (e), The information processing apparatus which executes a step (f) performing initialized, the.
グシステムを含むプログラムの起動を制御する情報処理
装置であって、 プログラム起動時にジャンプコードを検索するステップ
(a)と、 ステップ(a)においてジャンプコードが得られなかっ
た場合に、ハードウェアを初期化してローダ処理を行う
ステップ(b)と、 ステップ(b)の後に、前記コンピュータをスタンバイ
状態にするステップ(c)と、 所定のハードウェア割り込みが生じた場合に、前記コン
ピュータをスタンバイ状態から動作状態に移行させるス
テップ(d)と、 ステップ(a)においてジャンプコードが得られた場合
に、ハードウェアの初期化をせずにローダ処理を行うス
テップ(e)と、 ステップ(c)又はステップ(e)の後に、起動させる
プログラムの初期化を行うステップ(f)と、を実行す
る情報処理装置。7. An information processing device for controlling the activation of a program including an operating system in a computer, wherein step (a) of searching for a jump code when the program is activated, and no jump code is obtained in step (a). In the case of initializing the hardware and executing the loader process, after the step (b), the step (c) of putting the computer in a standby state, and a predetermined hardware interrupt occurs. A step (d) of shifting the computer from a standby state to an operating state, and a step (e) of performing loader processing without initializing hardware when a jump code is obtained in step (a) , After step (c) or step (e), An information processing apparatus that executes step (f) of performing initialization.
を検証し、前記コンテキストの有りの場合には、ソフト
リセット処理を実行し、前記コンテキストの無しの場合
には、ハードリセット処理を実行することを特徴とする
請求項6又は7記載の情報処理装置。8. The loader process verifies the presence / absence of a context, executes a soft reset process if the context exists, and executes a hard reset process if the context does not exist. The information processing apparatus according to claim 6, which is characterized in that:
トの作成と、当該コンテキストにプログラムのクラスタ
チェーン情報及びエントリポイント情報の記録と、を実
行することを特徴とする請求項8記載の情報処理装置。9. The information processing apparatus according to claim 8, wherein the hard reset process executes creation of a context and recording of cluster chain information and entry point information of a program in the context.
ラスタチェーン情報及びエントリポイント情報が記録さ
れており、 前記ソフトリセット処理は、 前記コンテキストに記録されている前記エントリポイン
ト情報によって前記プログラムのウォームブートを実行
し、 前記コンテキストに記録されている前記クラスタチェー
ン情報によって前記プログラムのコールドブートを実行
する、ことを特徴とする請求項8記載の情報処理装置。10. The context stores program cluster chain information and entry point information, and the soft reset process executes a warm boot of the program according to the entry point information recorded in the context. The information processing apparatus according to claim 8, wherein cold boot of the program is executed according to the cluster chain information recorded in the context.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002046296A JP2003248580A (en) | 2002-02-22 | 2002-02-22 | Program and information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002046296A JP2003248580A (en) | 2002-02-22 | 2002-02-22 | Program and information processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003248580A true JP2003248580A (en) | 2003-09-05 |
Family
ID=28659756
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002046296A Withdrawn JP2003248580A (en) | 2002-02-22 | 2002-02-22 | Program and information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003248580A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008016020A (en) * | 2006-06-30 | 2008-01-24 | Lenovo (Beijing) Co Ltd | Method for accelerating execution of bios |
| JP2012252454A (en) * | 2011-06-01 | 2012-12-20 | Canon Inc | Image formation device, control method for image formation device and program |
| US9310877B2 (en) | 2012-01-26 | 2016-04-12 | Ricoh Company, Ltd. | Apparatus and power-saving method for controlling a return to a normal power mode |
-
2002
- 2002-02-22 JP JP2002046296A patent/JP2003248580A/en not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008016020A (en) * | 2006-06-30 | 2008-01-24 | Lenovo (Beijing) Co Ltd | Method for accelerating execution of bios |
| US8037292B2 (en) | 2006-06-30 | 2011-10-11 | Lenovo (Beijing) Limited | Method for accelerating BIOS running |
| JP2012252454A (en) * | 2011-06-01 | 2012-12-20 | Canon Inc | Image formation device, control method for image formation device and program |
| US9245218B2 (en) | 2011-06-01 | 2016-01-26 | Canon Kabushiki Kaisha | Image forming apparatus, control method of image forming apparatus and storage medium |
| US9310877B2 (en) | 2012-01-26 | 2016-04-12 | Ricoh Company, Ltd. | Apparatus and power-saving method for controlling a return to a normal power mode |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7188239B2 (en) | Apparatus with a standby mode, program and control method for an apparatus with a standby mode | |
| US20060242398A1 (en) | Booting from non-volatile memory | |
| RU2435200C2 (en) | Fast booting operating system from off state | |
| RU2451989C2 (en) | Supporting multiple operating systems in multimedia devices | |
| EP2189901B1 (en) | Method and system to enable fast platform restart | |
| US7386746B2 (en) | Information processing apparatus, method of starting up the same, and startup program of the same | |
| US8898495B2 (en) | Method and apparatus for switching an operating system by determining whether a boot-up mode is a general mode or a switch mode | |
| US20180032349A1 (en) | Optimized UEFI Reboot Process | |
| JP3777136B2 (en) | Computer device, data dead copy method, program, and computer device operating method | |
| JP2003196096A (en) | Computer system, its starting control method and program | |
| JPH077317B2 (en) | System restart device | |
| JPH11184703A (en) | Information processor and boot method | |
| KR101813641B1 (en) | Image forming apparatus and method for booting the same having hibernation function | |
| JP2015102889A (en) | Firmware update method, electronic device, computer, and computer program | |
| JPH11242631A (en) | Computer system and data saving / restoring method in the same | |
| EP1037133A1 (en) | Method and apparatus for alternation between instances of operating systems in computer systems | |
| CN112506745A (en) | Memory temperature reading method and device and computer readable storage medium | |
| TWI336436B (en) | Information processor, and power-saving method and program product | |
| JP2003248580A (en) | Program and information processing device | |
| JP4608013B2 (en) | Computer device, computer start processing method, and computer start processing program | |
| WO2008048581A1 (en) | A processing device operation initialization system | |
| CN100407150C (en) | Information processing device and operating system conversion method | |
| CN100392601C (en) | Method for transferring control power and switching from standby to operation between devices in computer system | |
| KR20050070635A (en) | Embedded computer system for reducing the time for rebooting the unusually logged off system | |
| JP3227628B2 (en) | Information processing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050510 |