JP5332716B2 - 起動制御方法、情報処理装置及びプログラム - Google Patents
起動制御方法、情報処理装置及びプログラム Download PDFInfo
- Publication number
- JP5332716B2 JP5332716B2 JP2009040441A JP2009040441A JP5332716B2 JP 5332716 B2 JP5332716 B2 JP 5332716B2 JP 2009040441 A JP2009040441 A JP 2009040441A JP 2009040441 A JP2009040441 A JP 2009040441A JP 5332716 B2 JP5332716 B2 JP 5332716B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- startup
- period
- collisions
- main memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
このようなことから、ハイブリッドOSシステムは、システム全体の起動時間の高速化が十分に図れていない。
図1を参照して、本発明の実施の形態1にかかるハイブリッドOSシステムの処理の概要について説明する。
ハイブリッドOSシステム1は、CPU80、81、82及びメインメモリ20を備える。
メインメモリ20は、CPU80、81、82がOS100、101の起動処理を行うために必要な情報を記憶する。
衝突状況検出部103は、CPU80、81、82からのメインメモリ20へのアクセスの衝突状況を検出する処理を行う。
制限期間決定部104は、衝突状況検出部103が検出した衝突状況に応じて、CPU82の動作を制限する制限期間を決定する処理を行う。
次に、衝突状況検出部103は、CPU81がOS100の起動処理を開始するまでの期間において、CPU80、81、82からのメインメモリ20へのアクセスの衝突状況を検出する。
また、動作制限部102は、CPU81がOS100の起動処理を開始するまでの期間のうち、CPU82の動作を制限する制限期間において、CPU82の動作を制限する。
次に、OS100の起動が完了すると、OS100は、制限期間決定部104を動作させる。起動制限期間決定部104は、検出した衝突状況に応じて、制限期間を決定する。
図2を参照して、本発明の実施の形態2にかかるハイブリッドOSシステムについて説明する。
ハイブリッドOSシステム1は、CPUコア10、11、12、13、メインメモリ20、バスコントローラ21、記憶装置22、表示装置30を備える。
メインメモリ20は、CPUコア10、11、12、13がOS100、101の起動処理を行うために必要な情報を記憶する。
バスコントローラ21は、CPUコア10、11、12、13からのメインメモリ20へのアクセスを制御する。また、バスコントローラ21は、CPUコア10、11、12、13からのメインメモリ20へのアクセスの衝突を検出し、ラウンドロビンによって、メインメモリ20にアクセスするCPUコアを決定するとともに、検出した衝突の回数をカウントして自身の有するレジスタ(図示せず)に記憶する。
CPUコア停止プログラム110は、CPUコアの動作を停止する処理を行う。CPUコア停止プログラム111は、動作制限部として機能する。
衝突回数取得プログラム111は、CPUコア10、11、12、13からのメインメモリ20へのアクセスの衝突回数を取得する処理を行う。なお、CPUコア停止プログラム110及び衝突回数取得プログラム111は、別々のプログラムとせず、1つのプログラムとしてもよい。衝突回数取得プログラム111及びバスコントローラ21は、衝突状況検出部として機能する。
衝突回数出力プログラム112は、衝突回数取得プログラム111が取得した衝突回数を表示装置30に出力する処理を行う。
表示装置30は、衝突回数出力プログラム112から出力された内容を表示する処理を行う。表示装置30は、例えば、CRT(Cathode Ray Tube)、プラズマディスプレイ又は液晶ディスプレイ等により構成される。
まず、図3に示す時刻60において、ハイブリッドOSシステム1の電源の投入もしくは再起動が行われると、OS100側ではCPUコア10のみを使用して起動処理40を開始し、OS101側ではCPUコア12のみを使用して起動処理50を開始する。このように、複数のCPUコアによって動作するOSは、起動処理を開始するCPUコアを確定しておくことにより、安定した起動処理を行うようになっている。また、このようなOSは、ドライバのロード等のOS上で動作するプロセスが使用するハードウェアに対する初期化処理が完了してから、プロセスのスケジューラを起動して、複数のCPUコアを使用してプロセスの協調動作を行うことが可能となる。
本実施の形態1では、この起動処理を行っていない期間が最も長いCPUコア11を利用することによって、ハイブリッドOSシステムの起動時間の高速化を実現する。
メインメモリ20におけるアクセスの衝突回数は、CPUコア11が実行する衝突回数取得プログラム111が取得する。衝突回数取得プログラム111は、図4に示すように、時刻60を基準として、所定の時間間隔t毎に区分した区間70、71、72のそれぞれにおいて、CPUコア10、11、12、13からのメインメモリ20へのアクセスの衝突回数を取得する。なお、区間72の次以降の区間は図示を省略している。
そこで、衝突回数が多い区間の間、起動完了が早いOS101の起動処理を行うCPUコア12、13の動作を停止するように決定する。このように、衝突回数が多い区間において、起動完了が早いOS101の起動処理を行うCPUコア12、13の動作を制限することにより、起動完了が遅いOS100の起動処理を行うCPUコア10、11のメインメモリ20へのアクセス待ち時間を低減し、ハイブリッドOSシステムの起動時間を高速化することができる。
次に、衝突回数取得プログラム111は、各区間70、71、72において、CPU10、11、12、13からのメインメモリ20へのアクセスの衝突回数を取得する(S301)。この処理は、CPUコア11がOS100の起動処理を開始するまで繰り返し行われる。そして、衝突回数取得プログラム111は、取得した各区間70、71、72における衝突回数をCPUコア11内のレジスタ又はキャッシュメモリに記憶する。
また、CPUコア停止プログラム110は、CPUコア12、13の動作を停止させるCPU動作停止区間となった場合、CPU動作停止区間の間、CPUコア12、13の動作を停止する(S302)。CPUコア12、13の動作の停止は、例えば、CPUコア12、13に対して割り込みを発行することにより行う。この処理も、CPUコア11がOS100の起動処理を開始するまで繰り返し行われる。
次に、OS100及びOS101の起動が完了すると、OS100は、衝突回数出力プログラム112の実行を開始する(S305)。また、OS100は、起動に要した時間を記憶装置22に記憶する。ここで、起動が遅いOS100の起動に要した時間は、システムの起動に要した時間となる。
このときに、衝突回数出力プログラム112は、各区間70、71、72における衝突回数が閾値Nを超えているかどうかも併せて表示するようにしてもよい。
図6を参照して、本発明の実施の形態2にかかるハイブリッドOSシステムについて説明する。
本実施の形態3にかかるハイブリッドOSシステム1は、図2に示す本実施の形態2にかかるハイブリッドOSシステム1のように記憶装置22に衝突回数出力プログラム112を格納せず、図6に示すように記憶装置22に停止区間決定プログラム113を格納する点において、実施の形態2と異なり、その他の構成要素は同様である。そのため、停止区間決定プログラム113以外の構成要素については、説明を省略する。
停止区間決定プログラム113は、前回のシステムの起動時間と今回のシステムの起動時間を記憶装置22から取得する。そして、短縮率を算出し、算出した短縮率からハイブリッドOSシステム1の起動時間の高速化が収束したかどうかを判断する(S311)。この判断は、例えば、前回のシステムの起動時間と今回のシステムの起動時間の差分が、予め定めておいた値を下回っているかどうかにより判断する。
起動時間の高速化が収束していないと判断した場合、停止区間決定プログラム113は、メインメモリ20に記憶されている衝突回数を取得する。そして、停止区間決定プログラム113は、各区間70、71、72のうち、衝突回数が閾値を超えている区間をCPU動作停止区間として決定し、この区間においてCPUコア12、13を停止させるコードをCPUコア停止プログラム110に追加する(S312)。
そして、停止区間決定プログラム113は、OS100に再起動を指示することにより、ハイブリッドOSシステム1を再度起動する(S313)。
なお、高速化が収束したと判断した場合には、衝突回数取得プログラム111及び停止区間決定プログラム113を以降のハイブリッドOSシステム1の起動処理において、実行させないようにしてもよい。
また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、BD(Blu-ray Disc)、ROM(Read Only Memory)カートリッジ、バッテリバックアップ付きRAM(Random Access Memory)メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジを含む。また、通信媒体には、電話回線の有線通信媒体、マイクロ波回線の無線通信媒体を含み、インターネットも含まれる。
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
2 ハイブリッドOSシステム上において動作するプログラム
10、11、12、13 CPUコア
20 メインメモリ
21 バスコントローラ
22 記憶装置
30 表示装置
40、41、50、51 OS起動処理区間
60、61、62、63 時刻
70、71、72 時間間隔t毎に区分した区間
80、81、82 CPU
100、101 OS
102 動作制御部
103 衝突状況検出部
104 制限期間決定部
110 CPUコア停止プログラム
111 衝突回数取得プログラム
112 衝突回数出力プログラム
113 停止区間決定プログラム
Claims (8)
- 第1のOSの起動処理を分担して実行する複数の第1のCPUと、前記第1のOSの起動処理よりも処理時間が短い第2のOSの起動処理を実行し、前記第1のCPUとメインメモリを共有する第2のCPUの起動制御方法であって、
前記複数の第1のCPUのうち、前記第1のOSの起動処理を最後に開始するCPUが、当該起動処理を開始するまでの起動開始前期間において、前記第1のCPU及び前記第2のCPUからの前記メインメモリへのアクセスの衝突回数を検出する衝突状況検出ステップと、
前記検出された衝突回数が所定の閾値に達している期間を制限期間として決定する制限期間決定ステップと、
前記第1のOSと前記第2のOSの起動処理を実行する場合に、前記制限期間の間、前記第2のCPUの動作を制限する動作制限ステップを備えた起動制御方法。 - 前記衝突状況検出ステップは、前記起動開始前期間を所定期間のそれぞれに区分した区分期間のそれぞれにおいて、前記衝突回数を検出し、
前記制限期間決定ステップは、前記区分期間のそれぞれにおける前記衝突回数が前記所定の閾値に達している場合に、当該区分期間を前記制限期間として決定する請求項1に記載の起動制御方法。 - 前記動作制限ステップは、前記制限期間において、前記第2のCPUの動作を停止させる請求項1または2に記載の起動制御方法。
- 前記衝突状況検出ステップ、前記制限期間決定ステップ及び前記動作制限ステップは、繰り返し実行され、
前記起動制御方法は、今回の前記第1のOS及び前記第2のOSが起動完了するまでの起動時間と、前回の起動時における前記起動時間のそれぞれを取得し、前記今回の起動時間と前記前回の起動時間との差分が、所定の値を下回っている場合、前記繰り返し実行を終了する起動時間取得ステップをさらに備える、
請求項1乃至3のいずれかに記載の起動制御方法。 - 第1のOSの起動処理を行う複数の第1のCPUと、
前記第1のOSの起動処理よりも処理時間が短い第2のOSの起動処理を行う第2のCPUと、
前記第1のCPU及び前記第2のCPUから共有されるメインメモリと、
前記複数の第1のCPUのうち、前記第1のOSの起動処理を最後に開始するCPUが、当該起動処理を開始するまでの期間を所定期間のそれぞれに区分した区分期間のそれぞれにおいて、前記第1のCPU及び前記第2のCPUからの前記メインメモリへのアクセスの衝突回数を検出する衝突状況検出部と、
前記区分期間のそれぞれにおける前記衝突回数を表示する表示部と、
前記区分期間のそれぞれにおける前記衝突回数が所定の閾値に達している場合に、当該区分期間を前記第2のCPUの動作を制限する制限期間として決定する制限期間決定部とを備えた情報処理装置。 - 第1のOSの起動処理を行う複数の第1のCPUと、
前記第1のOSの起動処理よりも処理時間が短い第2のOSの起動処理を行う第2のCPUと、
前記第1のCPU及び前記第2のCPUから共有されるメインメモリと、
前記複数の第1のCPUのうち、前記第1のOSの起動処理を最後に開始するCPUが、当該起動処理を開始するまでの起動開始前期間において、前記第1のCPU及び前記第2のCPUからの前記メインメモリへのアクセスの衝突回数を検出する衝突状況検出部と、
前記検出された衝突回数が所定の閾値に達している期間を制限期間として決定する制限期間決定部と、
前記第1のOSと前記第2のOSの起動処理を実行する場合に、前記制限期間の間、前記第2のCPUの動作を制限する動作制限部を備えた情報処理装置。 - 第1のOSの起動処理を行う複数の第1のCPU及び前記第1のOSの起動処理よりも処理時間が短い第2のOSの起動処理を行う第2のCPUが共有するメインメモリのアクセス状況を監視するプログラムであって、
前記複数の第1のCPUのうち、前記第1のOSの起動処理を最後に開始するCPUが、当該起動処理を開始するまでの期間を所定期間のそれぞれに区分した区分期間のそれぞれにおいて、前記第1のCPU及び前記第2のCPUからの前記メインメモリへのアクセスの衝突回数を検出するステップと、
前記区分期間のそれぞれにおける前記衝突回数を表示するステップと、
前記区分期間のそれぞれにおける前記衝突回数が所定の閾値に達している場合に、当該区分期間を前記第2のCPUの動作を制限する制限期間として決定するステップをコンピュータに実行させるプログラム。 - 第1のOSの起動処理を分担して実行する複数の第1のCPUと、前記第1のOSの起動処理よりも処理時間が短い第2のOSの起動処理を実行し、前記第1のCPUとメインメモリを共有する第2のCPUの制御内容を決定するプログラムであって、
前記複数の第1のCPUのうち、前記第1のOSの起動処理を最後に開始するCPUが、当該起動処理を開始するまでの起動開始前期間において、前記第1のCPU及び前記第2のCPUからの前記メインメモリへのアクセスの衝突回数を検出するステップと、
前記検出された前記衝突回数が所定の閾値に達している期間を前記第2のCPUの動作を制限する制限期間として決定するステップをコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009040441A JP5332716B2 (ja) | 2009-02-24 | 2009-02-24 | 起動制御方法、情報処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009040441A JP5332716B2 (ja) | 2009-02-24 | 2009-02-24 | 起動制御方法、情報処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010198165A JP2010198165A (ja) | 2010-09-09 |
JP5332716B2 true JP5332716B2 (ja) | 2013-11-06 |
Family
ID=42822854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009040441A Expired - Fee Related JP5332716B2 (ja) | 2009-02-24 | 2009-02-24 | 起動制御方法、情報処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5332716B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5561241B2 (ja) * | 2011-05-25 | 2014-07-30 | 株式会社デンソー | マイクロコンピュータ |
US8615766B2 (en) * | 2012-05-01 | 2013-12-24 | Concurix Corporation | Hybrid operating system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0820999B2 (ja) * | 1989-03-23 | 1996-03-04 | 日本電気株式会社 | 情報処理装置 |
JP2001216284A (ja) * | 1999-11-25 | 2001-08-10 | Denso Corp | 電子制御装置 |
JP2008186175A (ja) * | 2007-01-29 | 2008-08-14 | Toyota Motor Corp | オペレーティングシステムの起動制御方法及び情報処理装置 |
-
2009
- 2009-02-24 JP JP2009040441A patent/JP5332716B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010198165A (ja) | 2010-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7313381B2 (ja) | ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング | |
US10706496B2 (en) | Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor | |
JP5215324B2 (ja) | メディア装置における複数のオペレーティングシステム支援 | |
US7853743B2 (en) | Processor and interrupt controlling method | |
TWI612439B (zh) | 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體 | |
US20070118838A1 (en) | Task execution controller, task execution control method, and program | |
JP3952992B2 (ja) | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム | |
EP2869189A1 (en) | Boot up of a multiprocessor computer | |
JP5332716B2 (ja) | 起動制御方法、情報処理装置及びプログラム | |
US20160283250A1 (en) | Boot controlling processing apparatus | |
US11249777B2 (en) | Virtual machine context management | |
CN113535341B (zh) | Linux下CPU核间中断通信的实现方法及装置 | |
US7412597B2 (en) | Computer system and booting method thereof | |
JP6645348B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
US7984446B1 (en) | Method and system for multitasking BIOS initialization tasks | |
JP2010140239A (ja) | 割り込みレイテンシーを短縮する装置及び方法 | |
US12032474B2 (en) | Computer-readable recording medium storing acceleration test program, acceleration test method, and acceleration test apparatus | |
JP5668505B2 (ja) | クロック周波数制御プログラム、クロック周波数制御装置 | |
JP5335625B2 (ja) | ブート時間を短縮するコンピュータ・プログラム | |
JP5376042B2 (ja) | マルチコアプロセッサシステム、スレッド切り替え制御方法、およびスレッド切り替え制御プログラム | |
JP2009258984A (ja) | 情報処理装置およびロード制御方法 | |
KR102292211B1 (ko) | 전자기기 | |
CN113342427B (zh) | 程序控制方法及装置 | |
JP5582241B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
JP2003131893A (ja) | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130612 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130715 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |