JP5335625B2 - ブート時間を短縮するコンピュータ・プログラム - Google Patents
ブート時間を短縮するコンピュータ・プログラム Download PDFInfo
- Publication number
- JP5335625B2 JP5335625B2 JP2009202140A JP2009202140A JP5335625B2 JP 5335625 B2 JP5335625 B2 JP 5335625B2 JP 2009202140 A JP2009202140 A JP 2009202140A JP 2009202140 A JP2009202140 A JP 2009202140A JP 5335625 B2 JP5335625 B2 JP 5335625B2
- Authority
- JP
- Japan
- Prior art keywords
- boot
- speed threshold
- program
- computer
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
図1は、本実施の形態にかかるコンピュータ・システム10の主要なハードウエア構成を示す機能ブロック図である。コンピュータ・システム10は、OSが導入されたサーバやクライアントなどである。コンピュータ・システム10は、それぞれバス23に接続されたCPU11、メイン・メモリ13、ネットワーク・カード15、HDD17、液晶表示装置(LCD)19、およびBIOS_ROM21などを含んでいる。HDD17は、ブート・ファイルを格納したブート・ディスクである。これらのハードウエア・デバイスの機能は、本実施の形態に関しては周知であるため説明は省略する。
図2は、本実施の形態にかかる高速ブートを実現するためのプログラム・モジュールの構成を示す機能ブロック図である。図2のブロック図では、オペレーティング・システム(OS)としてWindows(登録商標)を例示して、ブートに関連する主要なソフトウエアだけを示している。ただし、本発明はOSをWindowsに限定する必要はなく、本発明の思想の範囲内で他の周知のOSに適用することもできる。
図4は、ブートI/Oドライバ107が実行する制御対象プログラムに対する遅延処理の手順を示すフローチャートである。ブロック201では、図5〜図7の手順で説明するように、I/Oコントロール・サービス101がブートI/Oドライバ107のレジストリに制御対象プログラムのプロセスに対する最適な閾値を決定するまでの暫定的なまたは最適な開始速度閾値QSTおよび解除速度閾値QRTを設定している。なお、図6で説明するように、I/Oコントロール・サービス101が、読み取り要求をするプロセスに対して最適な開始速度閾値QSTを決定するまでは、当該プログラムは制御対象プログラムの候補として扱う。
Y=(1−(Ui+Ki)/Et)×100%
図5〜図7は、I/Oコントロール・サービス101が実行する制御対象プログラムに対する開始速度閾値QST、解除速度閾値QRTの最適値を決定する処理の手順を示すフローチャートである。図5は、全体の処理手順を示し、図6は最適な開始速度閾値QSTの決定処理の手順を示し、図7は最適な解除速度閾値QRTの決定処理の手順を示す。図5において、ブロック301では、ブートI/Oドライバ107が図4に示した手順を実行している。ブロック303で今回のブートが完了した時点では、ブートI/Oドライバ107の内部テーブル121には、前回のブートが終了したときの制御対象プログラムまたは制御対象プログラムの候補のプロセス名、開始速度閾値QST、解除速度QRTおよび平均読み取り速度AVRが記録され、ブートI/Oログ105にはブート完了時間BCTが記録されている。
つぎに図6に基づいて、開始速度閾値QSTの最適値を決定する処理を説明する。図6のブロック351、365は、それぞれ図5のブロック307、311に対応し、図6のブロック359からブロック371への移行は、図5のブロック309からブロック313への移行に対応する。本実施の形態では、ブートI/Oドライバ107は、制御対象プログラムをあらかじめ認識しないでも開始速度閾値QSTおよび解除速度閾値QRTが設定されたプロセスに対して現在の読み取り速度CVRに基づいたキューイングを開始する。I/Oコントロール・サービス101は、ブートごとにブート完了時間BCTおよび平均読み取り速度AVRを測定して制御対象プログラムを特定し最適な開始速度閾値QSTおよび解除速度閾値QRTを決定するために、各ブート・ファイルについて複数回のブートを繰り返す必要があり決定までに時間を費やす。
つぎに図7に基づいて、解除速度閾値QRTの最適値を決定する処理を説明する。図7のブロック401、413は、それぞれ図5のブロック313、311に対応し、図7のブロック407からブロック419への移行は、図5のブロック315からブロック317への移行に対応する。解除速度閾値QRTは、現在の読み取り速度CVRが一旦開始速度閾値QSTを越えてプロセスのキューイングが開始されその後、現在の読み取り速度CVRが低下したときにキューイングを解除するための閾値である。
105…ブートI/Oログ
121…ブートI/Oドライバ107の内部テーブル
Claims (17)
- ブート・ファイルを格納したブート媒体を備えるコンピュータにオペレーティング・システムと協働して、
前記ブート媒体からメイン・メモリの実行領域に前記ブート・ファイルのロードを開始するステップと、
制御対象プログラムが前記ブート媒体から前記メイン・メモリの専用領域に前記ブート・ファイルの読み出しを開始するステップと、
前記制御対象プログラムが前記ブート・ファイルを読み出す読み取り速度を測定するステップと、
前記読み取り速度に基づいて、ブート期間中に前記制御対象プログラムが前記ブート・ファイルの読み出しのために生成したプロセスのキューイングを実行または解除するステップと
を有する処理を実行させるコンピュータ・プログラム。 - 前記制御対象プログラムがウイルス対策プログラムである請求項1に記載のコンピュータ・プログラム。
- 前記プロセスのキューイングを制御する開始速度閾値と該開始速度閾値より小さい解除速度閾値を設定するステップと、
前記読み取り速度が前記開始速度閾値以上のときに前記プロセスをキューイングするステップと、
前記読み取り速度が前記解除速度閾値未満まで低下したときに前記キューイングを解除するステップと
を有する請求項1または請求項2にコンピュータ・プログラム。 - ブートごとに次回のブートにおける前記開始速度閾値を変更してブート完了時間を測定し最適な開始速度閾値を決定するステップを有する請求項3に記載のコンピュータ・プログラム。
- 前記最適な開始速度閾値を決定するステップが、前記制御対象プログラムがブート完了までに読み出した前記ブート・ファイルの総量に対する平均読み取り速度を測定するステップを含む請求項4に記載のコンピュータ・プログラム。
- 前記最適な開始速度閾値が、ブート完了時間が変化しない範囲において前記平均読み取り速度が最大になったときの値である請求項5に記載のコンピュータ・プログラム。
- 前記最適な開始速度閾値を決定するステップが、前記最適な開始速度閾値を決定するまで前記開始速度閾値をブートごとに減少させるステップを含む請求項4から請求項6のいずれかに記載のコンピュータ・プログラム。
- ブートごとに次回のブートにおける前記解除速度閾値を変更してブート完了時間を測定し最適な解除速度閾値を決定するステップを有する請求項3から請求項7のいずれかに記載のコンピュータ・プログラム。
- 前記最適な開始速度閾値を決定するステップが、前記ブート・ファイルの中で前記専用領域に読み出したブート・ファイルの総量が所定値を越えるプログラムを選定するステップを含む請求項4から請求項8のいずれかに記載のコンピュータ・プログラム。
- 前記開始速度閾値が設定されていないときに前記プロセスに対してキューイングしない通常の処理をする請求項3から請求項9のいずれかに記載のコンピュータ・プログラム。
- 制御対象プログラムを含むブート・ファイルを格納したブート媒体を備えるコンピュータにオペレーティング・システムと協働して、
前記ブート媒体からメイン・メモリの実行領域に前記ブート・ファイルのロードを開始するステップと、
前記制御対象プログラムが前記ブート媒体から前記メイン・メモリの専用領域に前記ブート・ファイルの読み出しを開始するステップと、
前記制御対象プログラムが前記ブート媒体から読み出した前記ブート・ファイルの総量を測定するステップと、
前記制御対象プログラムが前記ブート・ファイルの読み出しのために生成したプロセスのキューイングを制御する総量閾値を設定するステップと、
前記測定したブート・ファイルの総量が前記総量閾値以上のときに前記プロセスをキューイングするステップと
を有する処理を実行させるコンピュータ・プログラム。 - ブート・ファイルを格納したブート・ディスクからブートすることが可能なコンピュータであって、
実行領域と専用領域を備えるメイン・メモリと、
前記コンピュータに前記ブート・ディスクから前記実行領域に前記ブート・ファイルのロードを開始する機能を実現させるブート・システム・コードと、
制御対象プログラムが前記ブート・ディスクから前記専用領域に前記ブート・ファイルを読み出す読み取り速度を測定する速度測定手段と、
前記読み取り速度に基づいて、ブート期間中に前記制御対象プログラムが前記ブート・ファイルの読み出しのために生成したプロセスのキューイングを実行または解除する制御手段と
を有するコンピュータ。 - 前記制御対象プログラムは前記コンピュータに、前記ブート・ファイルの読み出しのために生成したプロセスの実行が停止されると警告を出す機能を実現させる請求項12に記載のコンピュータ。
- 前記コンピュータに、前記制御手段に対して前記キューイングの実行および解除に関する速度閾値を設定する機能を実現させるサービス・プログラムを有する請求項12または請求項13に記載のコンピュータ。
- 前記サービス・プログラムは前記コンピュータに、ブートごとに測定したブート完了時間に基づいて決定した次回のブートにおける前記速度閾値を前記制御手段に設定して前記速度閾値の最適値を決定する機能を実現させる請求項14に記載のコンピュータ。
- 前記サービス・プログラムはさらに前記コンピュータに、前記制御対象プログラムがブート完了までに読み出した前記ブート・ファイルの総量に対する平均読み取り速度に基づいて次回のブートにおける前記速度閾値を決定する機能を実現させる請求項15に記載のコンピュータ。
- ブート・ファイルを格納したブート・ディスクからブートすることが可能なコンピュータであって、
実行領域と専用領域を備えるメイン・メモリと、
前記コンピュータに前記ブート・ディスクから前記実行領域に前記ブート・ファイルのロードを開始する機能を実現させるブート・システム・コードと、
制御対象プログラムが前記ブート・ディスクから前記専用領域に読み出した前記ブート・ファイルの総量を測定する総量測定手段と、
前記測定したブート・ファイルの総量に基づいて、ブート期間中に前記制御対象プログラムが前記ブート・ファイルの読み出しのために生成したプロセスのキューイングを実行する制御手段と
を有するコンピュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009202140A JP5335625B2 (ja) | 2009-09-02 | 2009-09-02 | ブート時間を短縮するコンピュータ・プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009202140A JP5335625B2 (ja) | 2009-09-02 | 2009-09-02 | ブート時間を短縮するコンピュータ・プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011053908A JP2011053908A (ja) | 2011-03-17 |
| JP5335625B2 true JP5335625B2 (ja) | 2013-11-06 |
Family
ID=43942843
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009202140A Active JP5335625B2 (ja) | 2009-09-02 | 2009-09-02 | ブート時間を短縮するコンピュータ・プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5335625B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9003175B2 (en) | 2011-04-29 | 2015-04-07 | Lenovo (Singapore) Pte. Ltd. | System and method for accelerated boot performance |
| JP6919399B2 (ja) * | 2017-08-07 | 2021-08-18 | 富士通株式会社 | 判定プログラム、情報処理装置、及び判定方法 |
| US11392418B2 (en) * | 2020-02-21 | 2022-07-19 | International Business Machines Corporation | Adaptive pacing setting for workload execution |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2303947A (en) * | 1995-07-31 | 1997-03-05 | Ibm | Boot sector virus protection in computer systems |
| JP3293760B2 (ja) * | 1997-05-27 | 2002-06-17 | 株式会社エヌイーシー情報システムズ | 改ざん検知機能付きコンピュータシステム |
-
2009
- 2009-09-02 JP JP2009202140A patent/JP5335625B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011053908A (ja) | 2011-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4795378B2 (ja) | コンピュータおよびブート方法 | |
| JP5385347B2 (ja) | メイン・メモリのフリー・メモリ量を拡大する方法およびコンピュータ | |
| JP6646114B2 (ja) | 動的仮想マシンサイジング | |
| JP7087029B2 (ja) | 中央処理装置(cpu)と補助プロセッサとの間の改善した関数コールバック機構 | |
| CN103477324B (zh) | 用于将逻辑核动态地重新映射到物理核的处理器和方法 | |
| US8499143B2 (en) | Method for shortening the boot time of a computer system | |
| JP5212360B2 (ja) | 制御プログラム、制御システムおよび制御方法 | |
| US7882285B2 (en) | Buffer cache management to prevent deadlocks | |
| US20080209198A1 (en) | Boot Acceleration For Computer Systems | |
| CN103810009B (zh) | 一种计算机操作系统启动加速的方法和装置 | |
| WO2013097068A1 (en) | Scheduling virtual central processing units of virtual machines among physical processing units | |
| WO2019212696A1 (en) | Multithread framework for use in pre-boot environment of a system-on-chip | |
| JP5345990B2 (ja) | 特定のプロセスを短時間で処理する方法およびコンピュータ | |
| US20070118838A1 (en) | Task execution controller, task execution control method, and program | |
| US20160283250A1 (en) | Boot controlling processing apparatus | |
| CA2547078A1 (en) | Memory management in a computer system using different swapping criteria | |
| JP5335625B2 (ja) | ブート時間を短縮するコンピュータ・プログラム | |
| CN103677900B (zh) | 一种计算机设备系统启动加速的方法和装置 | |
| EP3572940A1 (en) | Method and device for scheduling vcpu thread | |
| CN1973265B (zh) | 用于在虚拟机环境中选择虚拟化算法的方法和装置 | |
| EP2869189A1 (en) | Boot up of a multiprocessor computer | |
| Russinovich | Inside the windows vista kernel: Part 3 | |
| JP6645348B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
| KR20140018134A (ko) | 오프 상태로부터의 운영 체제의 고속 부팅이 가능한 임베디드 시스템 및 임베디드 시스템에서의 부팅 방법 | |
| JP5737087B2 (ja) | 仮想マシン制御装置,仮想マシン制御プログラムおよび仮想マシン制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111005 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130523 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130604 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130708 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130730 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130731 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5335625 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |