JP2009217711A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2009217711A JP2009217711A JP2008062849A JP2008062849A JP2009217711A JP 2009217711 A JP2009217711 A JP 2009217711A JP 2008062849 A JP2008062849 A JP 2008062849A JP 2008062849 A JP2008062849 A JP 2008062849A JP 2009217711 A JP2009217711 A JP 2009217711A
- Authority
- JP
- Japan
- Prior art keywords
- function
- delay
- task
- flag
- activation
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】システム起動時間の短縮を図ることができると共に、ユーザへの応答性を低下させることのない情報処理装置を得る。
【解決手段】複数の機能モジュール1−1〜1−nの起動を遅延させるか否かを示す遅延実行フラグを示す起動情報登録テーブル2を設ける。装置の起動を行う場合、システム起動手段3は、起動情報登録テーブル2を参照し、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、遅延以外の機能モジュールの起動が終了した後、遅延実行フラグが遅延の機能モジュールを起動させる。
【選択図】図1
【解決手段】複数の機能モジュール1−1〜1−nの起動を遅延させるか否かを示す遅延実行フラグを示す起動情報登録テーブル2を設ける。装置の起動を行う場合、システム起動手段3は、起動情報登録テーブル2を参照し、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、遅延以外の機能モジュールの起動が終了した後、遅延実行フラグが遅延の機能モジュールを起動させる。
【選択図】図1
Description
この発明は、複数の機能モジュールがそれぞれ対応した処理を行う情報処理装置に関し、特に、各機能モジュールの起動制御に関するものである。
従来のシステム(情報処理装置)の起動方法は、システム起動時にどのプログラムを起動するかの一覧を記載した起動リストを設け、その中の起動チェック欄を参照して起動対象プログラムを選択することで、システム起動時間の短縮を図っていた。また、システム稼動中に定期的な動作チェックを行い、個々のプログラムの起動頻度に関して特定条件(実行時間や実行回数)を満たした時に、前記起動チェック欄を更新することで、次回システム起動時に起動するプログラムを決定していた(例えば、特許文献1参照)。
従来のシステム起動方法は、システム起動時に起動対象でなかったプログラムは、その後起動要求があるまで起動されない。このため、情報処理装置の中でも、ユーザ操作をベースとする組込み機器(例えば、情報家電、車載機器、移動体端末等の民生品)において、システム稼動中に初めて利用する機能やサービスの開始要求があると、その時点でプログラム起動処理が行われることとなる。従って、応答性やユーザ操作性が損なわれ、製品の価値を左右することにもなるという新たな問題点が生じる。
一方、近年、単一機能を提供する組込み機器(専用機器)だけでなく、複数機能を合わせ持った組込み機器(複合機器)が市場に出始めている。具体的には、放送番組の視聴と、ビデオ映像や音楽の視聴と、インターネット接続によるショッピングやメール送受信等の機能を提供するデジタルテレビ、カーナビ、携帯電話等が一例である。従来であれば、放送番組の視聴はテレビで、ビデオ映像や音楽の視聴はAVプレーヤで、といったように専用機器を使用していたものが、一つの機器に統合され、ユーザの利用シーンに応じて切り替わることが可能となりつつある。
この種の機器では、前回システム終了時に動作していた機能を、次回システム起動時に起動するのが一番相応しいと考えられる。しかしながら、従来のシステム起動方法は、システム稼動中のプログラム毎の起動頻度といった累積的な条件を元に、よく使う機能とそうでない機能という観点で、次回システム起動時に起動するプログラムを選別していた。パソコンのように、一人のユーザが占有する機器であれば、前記の選別基準に利点が生じる場合もあるが、例えばデジタルテレビやカーナビのように複数のユーザで共有する複合機器の場合は必ずしも適切でないという問題点があった。
本発明は上記のような問題点を解決するためになされたもので、システム起動時間の短縮を図ることができると共に、ユーザへの応答性を低下させることのない情報処理装置を得ることを目的とする。
この発明に係る情報処理装置は、複数の機能モジュールの起動を遅延させるか否かを示す遅延実行フラグを複数の機能モジュール毎に示す起動情報登録テーブルと、装置の起動を行う場合は、起動情報登録テーブルを参照し、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、遅延以外の機能モジュールの起動が終了した後、遅延実行フラグが遅延の機能モジュールを起動させるシステム起動手段とを備えたものである。
この発明の情報処理装置は、装置の起動を行う場合は、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、その後、遅延実行フラグが遅延の機能モジュールを起動させるようにしたので、ユーザへの応答性を低下させることなく、システム起動時間の短縮を図ることができる。
実施の形態1.
図1は、この発明の実施の形態1による情報処理装置の機能ブロック図である。
図において、情報処理装置は、複数の機能モジュール1−1,1−2,…,1−n、起動情報登録テーブル2、システム起動手段3を備えている。複数の機能モジュール1−1,1−2,…,1−nは、それぞれが所定の処理を行う一つの単位となったプログラムコンポーネントである。
図1は、この発明の実施の形態1による情報処理装置の機能ブロック図である。
図において、情報処理装置は、複数の機能モジュール1−1,1−2,…,1−n、起動情報登録テーブル2、システム起動手段3を備えている。複数の機能モジュール1−1,1−2,…,1−nは、それぞれが所定の処理を行う一つの単位となったプログラムコンポーネントである。
図2は、機能モジュールとユーザプログラムとの関係を示す説明図である。
図において、ユーザプログラムは、情報処理装置に搭載されるアプリケーションやミドルウェアといったプログラムであり、一つ以上の機能モジュールで構成される。また、機能モジュールは、通常、一つ以上のタスクを備えている(図中の機能モジュールc3(ライブラリ)を除く)。図中の(a)(b)に示すユーザプログラムA,Bは、一つの機能モジュールaまたは機能モジュールbで構成されたものであり、(c)に示すユーザプログラムCは、複数の機能モジュールc1,c2,c3からなる構成である。本発明では、いずれの形態であっても1ユーザプログラム=マルチタスク構成(一つ以上のタスクが存在する)を想定している。また、機能モジュールbや機能モジュールc2で示すように、1機能モジュール=マルチタスク構成も存在する。このようなユーザプログラムとして、例えば(c)に示すユーザプログラムCでは、デジタルTVアプリケーションといったプログラムがあり、このような場合は、機能モジュールc1=放送視聴、機能モジュールc2=インターネット閲覧、機能モジュールc3=ビデオ視聴(Video On Demand)といった構成となっている。また、機能モジュールc2としてインターネット閲覧機能を実現する場合は、タスクとして、通信タスクやブラウザタスク、TV描画タスクといったタスクが存在する。
図において、ユーザプログラムは、情報処理装置に搭載されるアプリケーションやミドルウェアといったプログラムであり、一つ以上の機能モジュールで構成される。また、機能モジュールは、通常、一つ以上のタスクを備えている(図中の機能モジュールc3(ライブラリ)を除く)。図中の(a)(b)に示すユーザプログラムA,Bは、一つの機能モジュールaまたは機能モジュールbで構成されたものであり、(c)に示すユーザプログラムCは、複数の機能モジュールc1,c2,c3からなる構成である。本発明では、いずれの形態であっても1ユーザプログラム=マルチタスク構成(一つ以上のタスクが存在する)を想定している。また、機能モジュールbや機能モジュールc2で示すように、1機能モジュール=マルチタスク構成も存在する。このようなユーザプログラムとして、例えば(c)に示すユーザプログラムCでは、デジタルTVアプリケーションといったプログラムがあり、このような場合は、機能モジュールc1=放送視聴、機能モジュールc2=インターネット閲覧、機能モジュールc3=ビデオ視聴(Video On Demand)といった構成となっている。また、機能モジュールc2としてインターネット閲覧機能を実現する場合は、タスクとして、通信タスクやブラウザタスク、TV描画タスクといったタスクが存在する。
図1に戻り、起動情報登録テーブル2は、複数の機能モジュール1−1,1−2,…,1−nの起動を遅延させるか否かを示す遅延実行フラグを機能モジュール1−1,1−2,…,1−n毎に示すテーブルであり、その詳細については後述する。また、システム起動手段3は、装置の起動を行う場合は、起動情報登録テーブル2を参照し、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、遅延以外の機能モジュールの起動が終了した後、遅延実行フラグが遅延の機能モジュールを起動させるよう構成されている。
図3は、実施の形態1の情報処理装置のソフトウェア構成図である。
図において、システム初期化処理タスク10は、システム(情報処理装置)の起動時にシステム初期化処理を行うタスク、システム初期化遅延実行タスク11は、初期起動完了通知を受けて遅延実行処理を行うタスクであり、図1におけるシステム起動手段3に対応するタスクである。初期化関数登録テーブル20は、システムに搭載している各機能モジュールの初期化関数の一覧が登録されているテーブルであり、図1の起動情報登録テーブル2に対応するものである。ここで、初期化関数ポインタ21は、初期化関数登録テーブル20における一エントリの構成要素であって、システムに搭載している機能モジュールの初期化関数へのアドレス情報を保持するポインタである。また、遅延実行フラグ22は、同じく初期化関数登録テーブル20における一エントリの構成要素であって、初期化関数ポインタ21が指し示す初期化関数をシステム起動時に実行するか(値=ゼロ)、後から実行する(遅延実行する)か(値=非ゼロ)を選別するための情報である。また、初期化関数30は、システムに搭載している各機能モジュールの初期化関数、タスク31は、初期化関数30の中から起動されるタスクである。
図において、システム初期化処理タスク10は、システム(情報処理装置)の起動時にシステム初期化処理を行うタスク、システム初期化遅延実行タスク11は、初期起動完了通知を受けて遅延実行処理を行うタスクであり、図1におけるシステム起動手段3に対応するタスクである。初期化関数登録テーブル20は、システムに搭載している各機能モジュールの初期化関数の一覧が登録されているテーブルであり、図1の起動情報登録テーブル2に対応するものである。ここで、初期化関数ポインタ21は、初期化関数登録テーブル20における一エントリの構成要素であって、システムに搭載している機能モジュールの初期化関数へのアドレス情報を保持するポインタである。また、遅延実行フラグ22は、同じく初期化関数登録テーブル20における一エントリの構成要素であって、初期化関数ポインタ21が指し示す初期化関数をシステム起動時に実行するか(値=ゼロ)、後から実行する(遅延実行する)か(値=非ゼロ)を選別するための情報である。また、初期化関数30は、システムに搭載している各機能モジュールの初期化関数、タスク31は、初期化関数30の中から起動されるタスクである。
次に、実施の形態1の動作について説明する。
図4は、図3に示したソフトウェア構成図に基づくシステム起動時の処理を示すフローチャートである。
図4において、先ず、ステップST100で情報処理装置に電源が投入されると、ステップST101でオペレーティングシステム(以下、単にOSという)の初期化を行う。その後、ステップST102でシステム初期化遅延実行タスク11を起動し、システム初期化遅延実行タスク11はステップST103で初期起動完了通知待ち(休眠状態)となる。
一方、ステップST102の処理の後、引き続きステップST104でシステム初期化処理タスク10を起動する。以降の処理は、システム初期化処理タスク10の処理であり、先ず、ステップST105で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST106で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22を参照し、値がゼロであれば、ステップST107に進む。遅延実行フラグ22の値がゼロの場合は、遅延実行の対象でないと判断され、ステップST107で遅延実行フラグ22と同じエントリ内の初期化関数ポインタ21を参照し、初期化関数30を呼び出す。ステップST108で、呼び出された初期化関数30が実行され、この中で必要に応じてタスク31を起動する。また、ステップST106で、遅延実行フラグ22の値が非ゼロの場合は、ステップST107の処理をスキップし、従って当該エントリの初期化関数30の呼出しを行わない。以上が、初期化関数登録テーブル20の一エントリ分の処理であり、引き続きステップST105に戻り、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す。最後に、システム初期化処理タスク10は、ステップST109で初期起動完了通知を発行して終了する、あるいはシステム定常状態の動作モードに移行していく。
図4は、図3に示したソフトウェア構成図に基づくシステム起動時の処理を示すフローチャートである。
図4において、先ず、ステップST100で情報処理装置に電源が投入されると、ステップST101でオペレーティングシステム(以下、単にOSという)の初期化を行う。その後、ステップST102でシステム初期化遅延実行タスク11を起動し、システム初期化遅延実行タスク11はステップST103で初期起動完了通知待ち(休眠状態)となる。
一方、ステップST102の処理の後、引き続きステップST104でシステム初期化処理タスク10を起動する。以降の処理は、システム初期化処理タスク10の処理であり、先ず、ステップST105で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST106で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22を参照し、値がゼロであれば、ステップST107に進む。遅延実行フラグ22の値がゼロの場合は、遅延実行の対象でないと判断され、ステップST107で遅延実行フラグ22と同じエントリ内の初期化関数ポインタ21を参照し、初期化関数30を呼び出す。ステップST108で、呼び出された初期化関数30が実行され、この中で必要に応じてタスク31を起動する。また、ステップST106で、遅延実行フラグ22の値が非ゼロの場合は、ステップST107の処理をスキップし、従って当該エントリの初期化関数30の呼出しを行わない。以上が、初期化関数登録テーブル20の一エントリ分の処理であり、引き続きステップST105に戻り、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す。最後に、システム初期化処理タスク10は、ステップST109で初期起動完了通知を発行して終了する、あるいはシステム定常状態の動作モードに移行していく。
次に、ステップST103で休眠状態となっていたシステム初期化遅延実行タスク11は、ステップST109で発行された初期起動完了通知を受信すると起床する。以降の処理はシステム初期化遅延実行タスク11の処理である。先ず、ステップST110で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST111で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22を参照し、値が非ゼロであれば、ステップST112に進む。このステップST111の条件判定は、前記のステップST106を反転したものであり、遅延実行フラグ22の値が非ゼロの場合は、遅延実行の対象であると判断する。ステップST112で遅延実行フラグ22と同じエントリ内の初期化関数ポインタ21を参照し、初期化関数30を呼び出す。ステップST113で、呼び出された初期化関数30が実行され、この中で必要に応じてタスク31を起動する。また、ステップST111で、遅延実行フラグ22の値がゼロの場合は、ステップST112の処理をスキップし、従って当該エントリの初期化関数30の呼出しを行わない。以上が、初期化関数登録テーブル20の一エントリ分の処理であり、引き続きステップST110に戻り、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返し、終了する。
即ち、図3中に示すように、(1)システム初期化処理タスク10の実行→(2)初期起動完了通知→(3)システム初期化遅延実行タスク11による遅延実行の順で起動処理が行われる。
尚、本実施の形態1では、ステップST109の初期起動完了通知をシステム初期化処理タスク10が発行するようにしたが、ステップST107で呼び出した初期化関数30のそれぞれが初期起動完了通知を発行するようにし、システム初期化遅延実行タスク11は、特定の初期起動完了通知、あるいはいくつかの初期起動完了通知の論理積(AND)で待ち合わせるようにしてもよい。
また、本実施の形態1では、システム初期化処理タスク10とは別に、システム初期化遅延実行タスク11を設けたが、システム初期化処理タスク10自身が初期起動完了通知を契機として、遅延実行処理を行うようにしてもよい。
更に、本実施の形態1では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延実行タスク11をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
また、本実施の形態1では、システム初期化処理タスク10とは別に、システム初期化遅延実行タスク11を設けたが、システム初期化処理タスク10自身が初期起動完了通知を契機として、遅延実行処理を行うようにしてもよい。
更に、本実施の形態1では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延実行タスク11をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
以上のように、実施の形態1の情報処理装置によれば、複数の機能モジュールを有する情報処理装置において、複数の機能モジュールの起動を遅延させるか否かを示す遅延実行フラグを複数の機能モジュール毎に示す起動情報登録テーブルと、装置の起動を行う場合は、起動情報登録テーブルを参照し、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、遅延以外の機能モジュールの起動が終了した後、遅延実行フラグが遅延の機能モジュールを起動させるシステム起動手段とを備えたので、システム起動時間を短縮でき、従ってシステム起動後最初にユーザに提供したい機能やサービスをより早く開始することができる。更に、その後システム稼動中に初めて利用する機能やサービスの開始要求が発生した時も、遅延実行により、搭載されている機能モジュールは既に起動しているため、ユーザへの応答性を低下させることなく、高速に次の機能やサービスに遷移することができる。
また、実施の形態1の情報処理装置によれば、機能モジュールをオペレーティングシステムを構成するモジュールとし、システム起動手段をオペレーティングシステムのタスクとして実現するようにしたので、オペレーティングシステムの起動時間を短縮でき、更にシステム起動時間の短縮を図ることができる。
実施の形態2.
実施の形態1では、初期化関数登録テーブル20内の各遅延実行フラグ22は予め静的に設定されているものとしていたが、次に、実施の形態2として、システム終了時に動作していた機能モジュール群の初期化関数30を次回システム起動時に初期実行し、その他の機能モジュール群の初期化関数30を遅延実行するように、遅延実行フラグ22を更新するようにした例を説明する。
実施の形態1では、初期化関数登録テーブル20内の各遅延実行フラグ22は予め静的に設定されているものとしていたが、次に、実施の形態2として、システム終了時に動作していた機能モジュール群の初期化関数30を次回システム起動時に初期実行し、その他の機能モジュール群の初期化関数30を遅延実行するように、遅延実行フラグ22を更新するようにした例を説明する。
図5は、実施の形態2による情報処理装置の機能ブロック図である。
実施の形態2の情報処理装置は、機能モジュール1−1,1−2,…,1−n、起動情報登録テーブル2、システム起動手段3、カレント機能モード設定手段4、システム終了手段5を備えている。ここで、機能モジュール1−1,1−2,…,1−n〜システム起動手段3の構成については図1に示した実施の形態1と同様であるため、ここでの説明は省略する。カレント機能モード設定手段4は、複数の機能モジュール1−1,1−2,…,1−nのうち、どの機能モジュール1−1,1−2,…,1−nが現在実行中かを示すカレント機能モードフラグ40を設定する機能部である。また、システム終了手段5は、装置の終了を行う場合、その時点のカレント機能モードフラグ40の値に基づいて起動情報登録テーブル2の遅延実行フラグの値を更新する機能を有している。即ち、カレント機能モードフラグ40に対応する機能モジュールの遅延実行フラグを遅延以外の状態に更新し、それ以外の機能モジュールの遅延実行フラグを遅延状態に更新する。
実施の形態2の情報処理装置は、機能モジュール1−1,1−2,…,1−n、起動情報登録テーブル2、システム起動手段3、カレント機能モード設定手段4、システム終了手段5を備えている。ここで、機能モジュール1−1,1−2,…,1−n〜システム起動手段3の構成については図1に示した実施の形態1と同様であるため、ここでの説明は省略する。カレント機能モード設定手段4は、複数の機能モジュール1−1,1−2,…,1−nのうち、どの機能モジュール1−1,1−2,…,1−nが現在実行中かを示すカレント機能モードフラグ40を設定する機能部である。また、システム終了手段5は、装置の終了を行う場合、その時点のカレント機能モードフラグ40の値に基づいて起動情報登録テーブル2の遅延実行フラグの値を更新する機能を有している。即ち、カレント機能モードフラグ40に対応する機能モジュールの遅延実行フラグを遅延以外の状態に更新し、それ以外の機能モジュールの遅延実行フラグを遅延状態に更新する。
図6は、実施の形態2の情報処理装置のソフトウェア構成図である。
図6において、システム終了処理タスク12は、システムの終了要求があった時に動作し、情報処理装置に搭載されている機能モジュール群の終了処理を行うタスクであり、図5におけるシステム終了手段5に対応している。即ち、システム終了処理タスク12は、システム稼動中における現在の機能モードを示すカレント機能モードフラグ40の値に基づいて初期化関数登録テーブル20における遅延実行フラグ22の値を更新する。ここで、機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続(ショッピングやメール送受信)等のユーザ利用シーンに対応した機能種別(機能セット)を指す。その他の、システム初期化処理タスク10やシステム初期化遅延実行タスク11といった構成要素は、実施の形態1の図3と同様である。
図6において、システム終了処理タスク12は、システムの終了要求があった時に動作し、情報処理装置に搭載されている機能モジュール群の終了処理を行うタスクであり、図5におけるシステム終了手段5に対応している。即ち、システム終了処理タスク12は、システム稼動中における現在の機能モードを示すカレント機能モードフラグ40の値に基づいて初期化関数登録テーブル20における遅延実行フラグ22の値を更新する。ここで、機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続(ショッピングやメール送受信)等のユーザ利用シーンに対応した機能種別(機能セット)を指す。その他の、システム初期化処理タスク10やシステム初期化遅延実行タスク11といった構成要素は、実施の形態1の図3と同様である。
次に、実施の形態2の動作について説明する。
図7は、図6に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図7において、先ず、ステップST200でシステム稼動中にユーザ操作に基づく機能モード切替え要求がある度に、カレント機能モード設定手段4は、ステップST201でカレント機能モードフラグ40を新しい機能モードを示す値に更新する(図6中、(1)機能モード切替え(更新))。次に、ステップST202でユーザ操作に基づくシステム終了要求があると、システム終了手段5は、ステップST203でシステム終了処理タスク12を起床する。以降の処理はシステム終了処理タスク12の処理であり、先ずステップST204で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST205で前記のカレント機能モードフラグ40を参照した上で、カレント機能モードフラグ40を最後に更新した後に動作した機能モジュール1−1,1−2,…,1−nに対応するエントリかを判定する。
図7は、図6に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図7において、先ず、ステップST200でシステム稼動中にユーザ操作に基づく機能モード切替え要求がある度に、カレント機能モード設定手段4は、ステップST201でカレント機能モードフラグ40を新しい機能モードを示す値に更新する(図6中、(1)機能モード切替え(更新))。次に、ステップST202でユーザ操作に基づくシステム終了要求があると、システム終了手段5は、ステップST203でシステム終了処理タスク12を起床する。以降の処理はシステム終了処理タスク12の処理であり、先ずステップST204で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST205で前記のカレント機能モードフラグ40を参照した上で、カレント機能モードフラグ40を最後に更新した後に動作した機能モジュール1−1,1−2,…,1−nに対応するエントリかを判定する。
判定方法の一例としては、各機能モジュールの初期化関数30から起動されたタスク31のアカウンティング情報(動作時間情報)を元に、動作中の機能モジュールを選別する。当該エントリが動作中の機能モジュールであった場合、ステップST206で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22にゼロ(非遅延状態)を設定する。また、当該エントリが動作中の機能モジュールでなかった場合、ステップST207で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22に非ゼロ(遅延状態)を設定する。その後、ステップST208で当該機能モジュールの終了処理関数を呼び出す。以上が、初期化関数登録テーブル20の一エントリ分の処理であり、引き続きステップST204に戻り、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す(図6中、(2)更新)。最後に、システム終了処理タスク12の処理を終了し、ステップST209でシステム(OS)の終了処理に移行する。
そして、次回、情報処理装置に電源が投入されると、実施の形態1の図4を用いて説明したシステム起動時の処理フローに従って遅延実行処理が行われる。即ち、図6中に示すように、(3)次回システム起動→(4)システム初期化処理タスク10の実行→(5)初期起動完了通知→(6)システム初期化遅延実行タスク11による遅延実行の順で起動処理が行われる。
尚、本実施の形態2では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延実行タスク11やシステム終了処理タスク12をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
以上のように、実施の形態2の情報処理装置によれば、複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、装置の終了を行う場合、起動情報登録テーブルの遅延実行フラグを、カレント機能モードフラグに基づき、実行中であった機能モジュールに対応する遅延実行フラグを遅延以外に更新するシステム終了手段とを備えたので、次回システム起動時に、前回システム終了直前の機能モードに対応する機能やサービスをより早く開始することができる。
また、実施の形態2の情報処理装置によれば、機能モジュールをオペレーティングシステムを構成するモジュールとし、システム起動手段およびシステム終了手段をオペレーティングシステムのタスクとして実現するようにしたので、オペレーティングシステムの起動時間を短縮でき、更にシステム起動時間の短縮を図ることができる。
実施の形態3.
実施の形態2では、システム終了処理タスク12がシステム終了直前の機能モジュールの動作状況を反映して遅延実行フラグ22を更新し、次回システム起動時に前回システム終了時に動作していた機能モジュールを最初に起動し、残りの機能モジュールを遅延実行するようにしたものであるが、次に、実施の形態3として、初期化関数登録テーブル20内の遅延実行フラグ22の構成を、その情報処理装置が提供する機能モード別に設けた上で、前回システム終了直前の機能モードを保存しておき、当該機能モードに対応する遅延実行フラグ22の列を参照しながら遅延実行を行う例を説明する。ここで機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続等のユーザ利用シーンに対応した機能種別(機能セット)を指す。
実施の形態2では、システム終了処理タスク12がシステム終了直前の機能モジュールの動作状況を反映して遅延実行フラグ22を更新し、次回システム起動時に前回システム終了時に動作していた機能モジュールを最初に起動し、残りの機能モジュールを遅延実行するようにしたものであるが、次に、実施の形態3として、初期化関数登録テーブル20内の遅延実行フラグ22の構成を、その情報処理装置が提供する機能モード別に設けた上で、前回システム終了直前の機能モードを保存しておき、当該機能モードに対応する遅延実行フラグ22の列を参照しながら遅延実行を行う例を説明する。ここで機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続等のユーザ利用シーンに対応した機能種別(機能セット)を指す。
図8は、実施の形態3の情報処理装置の機能ブロック図である。
図において、情報処理装置は、機能モジュール1−1,1−2,…,1−n、起動情報登録テーブル2a、システム起動手段3a、カレント機能モード設定手段4、システム終了手段5aを備えている。ここで、機能モジュール1−1,1−2,…,1−nは、実施の形態1、2と同様のプログラムコンポーネントである。また、起動情報登録テーブル2aは、後述する図9に示すように、複数の機能モードに対応した遅延実行フラグを備えたテーブルである。システム起動手段3aは、システム終了手段5aによって設定される機能モード保存フラグ41の値に対応した起動情報登録テーブル2における機能モードの遅延実行フラグに基づいて機能モジュール1−1,1−2,…,1−nの起動を行うよう構成されている。システム終了手段5aは、装置の終了を行う場合、カレント機能モード設定手段4によって設定されるカレント機能モードフラグ40の値を機能モード保存フラグ41として保存する機能を有している。尚、カレント機能モード設定手段4の構成は実施の形態2と同様である。
図において、情報処理装置は、機能モジュール1−1,1−2,…,1−n、起動情報登録テーブル2a、システム起動手段3a、カレント機能モード設定手段4、システム終了手段5aを備えている。ここで、機能モジュール1−1,1−2,…,1−nは、実施の形態1、2と同様のプログラムコンポーネントである。また、起動情報登録テーブル2aは、後述する図9に示すように、複数の機能モードに対応した遅延実行フラグを備えたテーブルである。システム起動手段3aは、システム終了手段5aによって設定される機能モード保存フラグ41の値に対応した起動情報登録テーブル2における機能モードの遅延実行フラグに基づいて機能モジュール1−1,1−2,…,1−nの起動を行うよう構成されている。システム終了手段5aは、装置の終了を行う場合、カレント機能モード設定手段4によって設定されるカレント機能モードフラグ40の値を機能モード保存フラグ41として保存する機能を有している。尚、カレント機能モード設定手段4の構成は実施の形態2と同様である。
図9は、実施の形態3の情報処理装置におけるソフトウェア構成図である。
図示のように、初期化関数登録テーブル20の遅延実行フラグ22は、modeA(22A)、modeB(22B)、modeC(22C)といったように、機能モード毎の遅延実行フラグを格納するよう構成されている。これらmodeA(22A)〜C(22C)は、前回システム終了直前の機能モードに応じて、初期化関数ポインタ21が指し示す初期化関数30をシステム起動時に実行するか(値=ゼロ)、後から実行する(遅延起動する)か(値=非ゼロ)を選別するために参照する機能モードに対応した列である。また、機能モード保存フラグ41は、システム終了処理タスク12によって、前回システム終了直前の機能モードを不揮発性媒体に保持するフラグである。その他の構成要素は実施の形態2の図6と同様である。
図示のように、初期化関数登録テーブル20の遅延実行フラグ22は、modeA(22A)、modeB(22B)、modeC(22C)といったように、機能モード毎の遅延実行フラグを格納するよう構成されている。これらmodeA(22A)〜C(22C)は、前回システム終了直前の機能モードに応じて、初期化関数ポインタ21が指し示す初期化関数30をシステム起動時に実行するか(値=ゼロ)、後から実行する(遅延起動する)か(値=非ゼロ)を選別するために参照する機能モードに対応した列である。また、機能モード保存フラグ41は、システム終了処理タスク12によって、前回システム終了直前の機能モードを不揮発性媒体に保持するフラグである。その他の構成要素は実施の形態2の図6と同様である。
次に、実施の形態3の動作について説明する。
図10は、図9に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図10において、ステップST200からST203までは、実施の形態2の図7と同様である。以降の処理はシステム終了処理タスク12の処理であり、先ず、ステップST208で当該機能モジュールの終了処理関数を呼出す。その後、ステップST210でカレント機能モードフラグ40の値を機能モード保存フラグ41に設定する(図9における(1)保存処理)。システム終了処理タスク12の処理は以上であり、ステップST209でシステム(OS)終了処理に移行する。
図10は、図9に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図10において、ステップST200からST203までは、実施の形態2の図7と同様である。以降の処理はシステム終了処理タスク12の処理であり、先ず、ステップST208で当該機能モジュールの終了処理関数を呼出す。その後、ステップST210でカレント機能モードフラグ40の値を機能モード保存フラグ41に設定する(図9における(1)保存処理)。システム終了処理タスク12の処理は以上であり、ステップST209でシステム(OS)終了処理に移行する。
図11は、図9に示したソフトウェア構成図に基づくシステム起動時の処理フローを示す図である。
図11において、実施の形態1の図4との相違点に着目し説明する。先ず、システム初期化処理タスク10の処理について、ステップST114で機能モード保存フラグ41を参照して、前回システム終了直前の機能モードの値を取得する。例えば、機能モード保存フラグ41の値が「modeB」であったとする。次に、ステップST105からステップST108の繰り返し処理で、初期化関数登録テーブル20内の遅延実行フラグ22の列「modeB」22Bを参照し、ゼロ(非遅延状態)のエントリに対して初期化関数30の呼出しを行う。一方、システム初期化遅延実行タスク11の処理について、ステップST103の初期起動完了通知待ちが解除された後、ステップST115で機能モード保存フラグ41を参照して、前回システム終了直前の機能モードの値を取得する。次に、ステップST110からステップST113の繰り返し処理で、初期化関数登録テーブル20内の遅延実行フラグ22の列「modeB」22Bを参照し、非ゼロ(遅延状態)のエントリに対して初期化関数30の呼出し(遅延実行)を行う。
図11において、実施の形態1の図4との相違点に着目し説明する。先ず、システム初期化処理タスク10の処理について、ステップST114で機能モード保存フラグ41を参照して、前回システム終了直前の機能モードの値を取得する。例えば、機能モード保存フラグ41の値が「modeB」であったとする。次に、ステップST105からステップST108の繰り返し処理で、初期化関数登録テーブル20内の遅延実行フラグ22の列「modeB」22Bを参照し、ゼロ(非遅延状態)のエントリに対して初期化関数30の呼出しを行う。一方、システム初期化遅延実行タスク11の処理について、ステップST103の初期起動完了通知待ちが解除された後、ステップST115で機能モード保存フラグ41を参照して、前回システム終了直前の機能モードの値を取得する。次に、ステップST110からステップST113の繰り返し処理で、初期化関数登録テーブル20内の遅延実行フラグ22の列「modeB」22Bを参照し、非ゼロ(遅延状態)のエントリに対して初期化関数30の呼出し(遅延実行)を行う。
即ち、システムの起動は、図9中に示すように、(2)次回システム起動→(3)システム初期化処理タスク10による機能モード保存フラグ41の参照→(4)システム初期化処理タスク10の実行→(5)初期起動完了通知→(6)システム初期化遅延実行タスク11による機能モード保存フラグ41の参照→(7)システム初期化遅延実行タスク11による遅延実行の順で行われる。
尚、本実施の形態3では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延実行タスク11やシステム終了処理タスク12をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
以上のように、実施の形態3の情報処理装置によれば、起動情報登録テーブルは、各機能モジュールの遅延実行フラグを機能モード毎に有すると共に、複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、装置の終了を行う場合、カレント機能モードフラグの値を機能モード保存フラグとして保存するシステム終了手段とを備え、システム起動手段は、起動情報登録テーブルの機能モード保存フラグの値に対応した機能モードの遅延実行フラグに基づいて機能モジュールの起動を行うようにしたので、前回システム終了直前の機能モードに対応する機能モジュール群だけを過不足なく、より早く起動することができる。
実施の形態4.
実施の形態3では、システム終了処理タスク12がシステム終了直前の機能モードを機能モード保存フラグ41に保存すると共に、次回システム起動時にシステム初期化処理タスク10及びシステム初期化遅延実行タスク11が機能モード別に定義された初期化関数登録テーブル20内の遅延実行フラグ22の列を参照し、初期実行すべき初期化関数30と遅延実行すべき初期化関数30を選別するようにしたが、次に、実施の形態4として、初期化関数登録テーブル20内の遅延実行フラグ22の値をゼロと非ゼロに二分するのはなく、システム終了直前に動作中でなかった機能モジュールの遅延実行フラグ22をプラス1した値に更新し、システム初期化遅延実行タスク11は前記の遅延実行フラグ22の値の範囲に応じて段階的に遅延実行を行う例を説明する。
実施の形態3では、システム終了処理タスク12がシステム終了直前の機能モードを機能モード保存フラグ41に保存すると共に、次回システム起動時にシステム初期化処理タスク10及びシステム初期化遅延実行タスク11が機能モード別に定義された初期化関数登録テーブル20内の遅延実行フラグ22の列を参照し、初期実行すべき初期化関数30と遅延実行すべき初期化関数30を選別するようにしたが、次に、実施の形態4として、初期化関数登録テーブル20内の遅延実行フラグ22の値をゼロと非ゼロに二分するのはなく、システム終了直前に動作中でなかった機能モジュールの遅延実行フラグ22をプラス1した値に更新し、システム初期化遅延実行タスク11は前記の遅延実行フラグ22の値の範囲に応じて段階的に遅延実行を行う例を説明する。
実施の形態4の情報処理装置における図面上の機能ブロックについては実施の形態2の図5に示した構成と同様であるため、図5を援用して説明する。実施の形態4の起動情報登録テーブル2は、後述する図12に示すように、遅延させる順番に対応した複数段階の遅延実行フラグが設定可能に構成されている。また、システム終了手段5は、装置の終了を行う場合、カレント機能モードフラグ40の値に基づいて、実行中ではなかった機能モジュールに対応した遅延実行フラグの値を遅延が大きい側に変更する、即ち、値を+1するよう構成されている。更に、システム起動手段3は、起動情報登録テーブル2の遅延実行フラグの値が遅延の小さい順に機能モジュール1−1,1−2,…,1−nの遅延起動を行うよう構成されている。これ以外の構成については実施の形態2の情報処理装置と同様である。
図12は、実施の形態4の情報処理装置におけるソフトウェア構成図である。
図12において、各構成要素の基本的構成は実施の形態2の図6と同様である。但し、図中の初期化関数登録テーブル20の遅延実行フラグ22において、ゼロと非ゼロ以外の数値が設定可能に構成されている点と、システム終了処理タスク12およびシステム初期化遅延実行タスク11の処理内容が異なる。
図12において、各構成要素の基本的構成は実施の形態2の図6と同様である。但し、図中の初期化関数登録テーブル20の遅延実行フラグ22において、ゼロと非ゼロ以外の数値が設定可能に構成されている点と、システム終了処理タスク12およびシステム初期化遅延実行タスク11の処理内容が異なる。
次に、実施の形態4の動作について説明する。
図13は、図12に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図13において、実施の形態2の図7との相違点に着目して説明する。先ず、システム終了処理タスク12の処理について、ステップST204で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST205でカレント機能モードフラグ40を参照し、カレント機能モードフラグ40を最後に更新した後に動作した機能モジュールに対応するエントリかを判定する。判定方法の一例としては、各機能モジュールの初期化関数30から起動されたタスク31のアカウンティング情報(動作時間情報)を元に、動作中の機能モジュールを選別する。当該エントリが動作中の機能モジュールであった場合、ステップST206で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22に非遅延状態であるゼロを設定する。また、当該エントリが動作中の機能モジュールでなかった場合、ステップST211で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22に現在の値に1加算した値を設定する。即ち、遅延状態を1段階増加させる。その後、ステップST208で当該機能モジュールの終了処理関数を呼び出す。以上が、初期化関数登録テーブル20の一エントリ分の処理であり、引き続きステップST204に戻り、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す(図12における(1)機能モード切替えと(2)遅延実行フラグの更新に相当する)。最後に、ステップST209でシステム(OS)終了処理に移行する。
図13は、図12に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図13において、実施の形態2の図7との相違点に着目して説明する。先ず、システム終了処理タスク12の処理について、ステップST204で初期化関数登録テーブル20の各エントリを先頭から順番に検索していく。ステップST205でカレント機能モードフラグ40を参照し、カレント機能モードフラグ40を最後に更新した後に動作した機能モジュールに対応するエントリかを判定する。判定方法の一例としては、各機能モジュールの初期化関数30から起動されたタスク31のアカウンティング情報(動作時間情報)を元に、動作中の機能モジュールを選別する。当該エントリが動作中の機能モジュールであった場合、ステップST206で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22に非遅延状態であるゼロを設定する。また、当該エントリが動作中の機能モジュールでなかった場合、ステップST211で初期化関数登録テーブル20内の最初のエントリの遅延実行フラグ22に現在の値に1加算した値を設定する。即ち、遅延状態を1段階増加させる。その後、ステップST208で当該機能モジュールの終了処理関数を呼び出す。以上が、初期化関数登録テーブル20の一エントリ分の処理であり、引き続きステップST204に戻り、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す(図12における(1)機能モード切替えと(2)遅延実行フラグの更新に相当する)。最後に、ステップST209でシステム(OS)終了処理に移行する。
図14は、図12に示したソフトウェア構成図に基づくシステム起動時の処理フローを示す図である。これは、図13に示したシステム終了時の処理フローを実行後、次回システムを起動した時の処理フローである。
図14において、実施の形態3の図11との相違点に着目し説明する。システム初期化遅延実行タスク11の処理について、ステップST103の初期起動完了通知待ちが解除された後、ステップST116で初期化関数登録テーブル20の各エントリに対して、遅延実行フラグ22を参照し、その値が1ならば、当該エントリの初期化関数ポインタ21を介して初期化関数30の呼出し(最初の遅延実行)を行う。また、同値が1でなければ当該エントリをスキップし、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す。その後、ステップST117でOS機能を用いたタイムアウト設定を行い、自らを一定時間の処理待ち状態にする。
図14において、実施の形態3の図11との相違点に着目し説明する。システム初期化遅延実行タスク11の処理について、ステップST103の初期起動完了通知待ちが解除された後、ステップST116で初期化関数登録テーブル20の各エントリに対して、遅延実行フラグ22を参照し、その値が1ならば、当該エントリの初期化関数ポインタ21を介して初期化関数30の呼出し(最初の遅延実行)を行う。また、同値が1でなければ当該エントリをスキップし、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す。その後、ステップST117でOS機能を用いたタイムアウト設定を行い、自らを一定時間の処理待ち状態にする。
指定時間が経過すると、ステップST118でタイムアウト通知を受けて、待ち状態から復帰する。ステップST119で初期化関数登録テーブル20の各エントリに対して、遅延実行フラグ22を参照し、その値が1より大きく、かつ3より小さいならば、当該エントリの初期化関数ポインタ21を介して初期化関数30の呼出し(第二弾の遅延実行)を行う。また、同値が前記条件に該当しなければ当該エントリをスキップし、初期化関数登録テーブル20の終端エントリに達するまで処理を繰り返す。最後に、ステップST120とステップST121で、前記のステップST117及びステップST118と同様の処理を実行した後、ステップST122で初期化関数登録テーブル20の各エントリに対して、遅延実行フラグ22を参照し、その値が3以上ならば、当該エントリの初期化関数ポインタ21を介して初期化関数30の呼出し(第三弾の遅延実行)を行う。
即ち、システムの起動は、図12中に示すように、(3)次回システム起動→(4)システム初期化処理タスク10の実行→(5)初期起動完了通知→(6)システム初期化遅延実行タスク11による遅延実行→(7)タイマ起床/イベント起床→(8)第二弾の遅延実行→(9)第三弾の遅延実行の順で行われる。
尚、本実施の形態4では、段階的に遅延実行を行うための遅延実行フラグ22の境界値として、1と3を用い三段階の遅延実行の例を示したが、これに限定されるものではなく、遅延実行フラグ22の境界値や遅延実行の分割回数は、適用する情報処理装置に応じて定義してよい。また、段階的に遅延実行を行う際のシステム初期化遅延実行タスク11のタイムアウト時間についても、段階毎に個別のタイムアウト時間を設定してもよいし、動的に変更してもよい。
また、本実施の形態4では、段階的に遅延実行を行う際のシステム初期化遅延実行タスク11の待ち合わせ方法として、時間ベースのタイムアウト待ちの例を示したが、これに限定されるものではなく、時間以外の何らかのイベント通知を契機に待ち合わせを解除するようにしてもよい。
また、本実施の形態4では、段階的に遅延実行を行う際のシステム初期化遅延実行タスク11の待ち合わせ方法として、時間ベースのタイムアウト待ちの例を示したが、これに限定されるものではなく、時間以外の何らかのイベント通知を契機に待ち合わせを解除するようにしてもよい。
更に、本実施の形態4では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延実行タスク11やシステム終了処理タスク12をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
以上のように、実施の形態4の情報処理装置によれば、起動情報登録テーブルの遅延実行フラグは、複数の値が設定可能に構成されると共に、複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、装置の終了を行う場合、カレント機能モードフラグの値に基づいて、実行中ではなかった機能モジュールに対応した遅延実行フラグの値を遅延が大きい側に変更するシステム終了手段とを備え、システム起動手段は、起動情報登録テーブルの遅延実行フラグの値が遅延の小さい順に機能モジュールの遅延起動を行うようにしたので、利用回数の少ない機能やサービスほど後からゆっくり遅延実行することになり、システム起動時の初期化処理の負荷を平坦化することができる。また、それにより、システム起動後最初にユーザに提供した機能やサービスに対する次のユーザ操作に対する応答性を改善することができる。
実施の形態5.
実施の形態3では、初期化関数登録テーブル20内の遅延実行フラグ22の構成を、その情報処理装置が提供する機能モード別に設けたが、次に、実施の形態5として、初期化関数登録テーブル20の構成を、その情報処理装置が提供する機能モード別に分割して複数設けた上で、前回システム終了直前の機能モードを保存しておき、当該機能モードに対応する初期化関数登録テーブル20を参照しながら遅延実行を行う例を説明する。ここで機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続等のユーザ利用シーンに対応した機能種別(機能セット)を指す。
実施の形態3では、初期化関数登録テーブル20内の遅延実行フラグ22の構成を、その情報処理装置が提供する機能モード別に設けたが、次に、実施の形態5として、初期化関数登録テーブル20の構成を、その情報処理装置が提供する機能モード別に分割して複数設けた上で、前回システム終了直前の機能モードを保存しておき、当該機能モードに対応する初期化関数登録テーブル20を参照しながら遅延実行を行う例を説明する。ここで機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続等のユーザ利用シーンに対応した機能種別(機能セット)を指す。
実施の形態5の情報処理装置における図面上の構成については、実施の形態3の図8に示した構成と同様であるため、図8を援用して説明する。実施の形態5の起動情報登録テーブル2aは、後述する図15に示すように、それぞれが機能モードに対応した複数の初期化関数登録テーブル20A,20B,20Cとして構成されている。また、システム起動手段3aは、機能モード保存フラグ41の値に基づいて、対応した機能モードの初期化関数登録テーブル20A,20B,20Cの内容に基づいて機能モジュール1−1,1−2,…,1−nの起動を行うよう構成されている。これ以外の構成については実施の形態3の情報処理装置と同様である。
図15は、実施の形態5の情報処理装置におけるソフトウェア構成図である。
図15において、初期化関数登録テーブル20A,20B,20Cは、機能モード別の初期化関数登録テーブルであって、それぞれの初期化関数登録テーブル20A,20B,20Cは、各機能モードに必要な機能モジュール群の初期化関数ポインタ21だけから構成される。ここで、初期化関数登録テーブル20AはmodeA、初期化関数登録テーブル20BはmodeB、初期化関数登録テーブル20Cは、modeCに対応したテーブルである。その他の構成要素の基本的な構成は実施の形態3と同様であるが、システム初期化処理タスク10とシステム初期化遅延実行タスク11の処理内容が異なる。この具体的な動作については以下で説明する。
図15において、初期化関数登録テーブル20A,20B,20Cは、機能モード別の初期化関数登録テーブルであって、それぞれの初期化関数登録テーブル20A,20B,20Cは、各機能モードに必要な機能モジュール群の初期化関数ポインタ21だけから構成される。ここで、初期化関数登録テーブル20AはmodeA、初期化関数登録テーブル20BはmodeB、初期化関数登録テーブル20Cは、modeCに対応したテーブルである。その他の構成要素の基本的な構成は実施の形態3と同様であるが、システム初期化処理タスク10とシステム初期化遅延実行タスク11の処理内容が異なる。この具体的な動作については以下で説明する。
次に、実施の形態5の動作について説明する。
まず、図15に示したソフトウェア構成図に基づくシステム終了時の処理フローは実施の形態3の図10を用いて説明した内容と同じであるため、ここでは省略する。
図16は、図15に示したソフトウェア構成図に基づくシステム起動時の処理フローを示す図である。
まず、図15に示したソフトウェア構成図に基づくシステム終了時の処理フローは実施の形態3の図10を用いて説明した内容と同じであるため、ここでは省略する。
図16は、図15に示したソフトウェア構成図に基づくシステム起動時の処理フローを示す図である。
図16において、実施の形態3の図11との相違点に着目し説明する。先ず、システム初期化処理タスク10の処理について、ステップST123で機能モード保存フラグ41を参照して、前回システム終了直前の機能モードの値を取得し、例えば、機能モード保存フラグ41の値が「modeB」であったとすると、対応する初期化関数登録テーブル20Bを特定する。次に、ステップST124で前記の初期化関数登録テーブル20B内の終端エントリまで順番に検索し、ステップST107とステップST108で初期化関数ポインタ21を参照し、初期化関数30を実行する。一方、システム初期化遅延実行タスク11の処理について、ステップST103の初期起動完了通知待ちが解除された後、ステップST125で機能モード保存フラグ41を参照して、前回システム終了直前の機能モードの値を取得し、このモード値以外の機能モードに対応する初期化関数登録テーブル20Aと20Cを特定する。次に、ステップST126で、まず初期化関数登録テーブル20A内の終端エントリまで順番に検索し、ステップST112とステップST113で初期化関数ポインタ21を参照し、初期化関数30を実行する。引き続き、初期化関数登録テーブル20Cに対しても、同様の処理を行う。
即ち、システムの起動は、図15中に示すように、システム終了処理タスク12で機能モード保存フラグ41の保存(1)が行われた後、(2)次回システム起動→(3)システム初期化処理タスク10による機能モード保存フラグ41の参照→(4)システム初期化処理タスク10の実行→(5)初期起動完了通知→(6)システム初期化遅延実行タスク11による機能モード保存フラグ41の参照→(7)システム初期化遅延実行タスク11による遅延実行の順で行われる。
以上のように、実施の形態5の情報処理装置によれば、起動情報登録テーブルは、複数の機能モードに対応して複数設けられ、複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、装置の終了を行う場合、カレント機能モードフラグの値を機能モード保存フラグとして保存するシステム終了手段とを備え、システム起動手段は、機能モード保存フラグの値に基づいて、対応した機能モードの起動情報登録テーブルの内容に基づいて機能モジュールの起動を行うようにしたので、前回システム終了直前の機能モードに対応する機能モジュール群だけを過不足なく、より早く起動することができると共に、機能モードに変更や増減があった場合でも、テーブル構造の変更等が不要で変更部分の局所化が可能といったようにメンテナンスが容易であり、従って情報処理装置としての品質低下を防止することができる。
実施の形態6.
以上の実施の形態1〜5では、起動の管理として機能モジュール毎に行ったが、次に、実施の形態6として、起動の管理をタスク毎に行う例を説明する。
実施の形態6の情報処理装置における図面上の機能ブロックについては実施の形態1の図1に示した構成と同様であるため、図1を援用して説明する。実施の形態6の起動情報登録テーブル2は、後述する図17に示すように、複数の機能モジュール1−1,1−2,…,1−nのタスクを遅延起動させるか否かを示す遅延起動フラグをタスク毎に示している。また、システム起動手段3は、装置の起動を行う場合、起動情報登録テーブル2を参照し、最初に遅延起動フラグが遅延以外のタスクを起動させ、遅延以外のタスクの起動が終了した後、遅延起動フラグが遅延を示すタスクを起動させるよう構成されている。
以上の実施の形態1〜5では、起動の管理として機能モジュール毎に行ったが、次に、実施の形態6として、起動の管理をタスク毎に行う例を説明する。
実施の形態6の情報処理装置における図面上の機能ブロックについては実施の形態1の図1に示した構成と同様であるため、図1を援用して説明する。実施の形態6の起動情報登録テーブル2は、後述する図17に示すように、複数の機能モジュール1−1,1−2,…,1−nのタスクを遅延起動させるか否かを示す遅延起動フラグをタスク毎に示している。また、システム起動手段3は、装置の起動を行う場合、起動情報登録テーブル2を参照し、最初に遅延起動フラグが遅延以外のタスクを起動させ、遅延以外のタスクの起動が終了した後、遅延起動フラグが遅延を示すタスクを起動させるよう構成されている。
図17は、実施の形態6の情報処理装置のソフトウェア構成図である。
図17において、システム初期化処理タスク10は、各実施の形態のシステム初期化処理タスク10と同様にシステム起動時にシステム初期化処理を行うタスクである。また、システム初期化遅延実行タスク13は、起動タスクの遅延起動処理を行うタスクである。タスク起動API関数14は、タスクの通常(初期)起動処理を行うOSのAPI関数、タスク遅延起動API(Application Programming Interface)関数15は、タスクの遅延起動処理を行うOSのAPI関数、初期化関数30は、システムに搭載している各機能モジュールの初期化関数、タスク31は、起動されるタスクである。以上の、システム初期化処理タスク10〜タスク遅延起動API関数15および初期化関数30がシステム起動手段3に対応している。
図17において、システム初期化処理タスク10は、各実施の形態のシステム初期化処理タスク10と同様にシステム起動時にシステム初期化処理を行うタスクである。また、システム初期化遅延実行タスク13は、起動タスクの遅延起動処理を行うタスクである。タスク起動API関数14は、タスクの通常(初期)起動処理を行うOSのAPI関数、タスク遅延起動API(Application Programming Interface)関数15は、タスクの遅延起動処理を行うOSのAPI関数、初期化関数30は、システムに搭載している各機能モジュールの初期化関数、タスク31は、起動されるタスクである。以上の、システム初期化処理タスク10〜タスク遅延起動API関数15および初期化関数30がシステム起動手段3に対応している。
タスク登録テーブル50は、起動情報登録テーブル2に対応する構成であり、次の各エントリの値を保持している。即ち、タスク名51は起動タスクの名前を記載したエントリ、遅延起動フラグ52は、タスク名51に記載された起動タスクをシステム起動時に起動するか(値=ゼロ)、後から起動する(遅延起動する)か(値=非ゼロ)を選別するためのフラグである。優先度53は、起動タスクの実行優先度を示している。ポインタ54は、起動タスクのエントリ関数を指し示すポインタである。
次に、実施の形態6の動作について説明する。
図18は、図17に示したソフトウェア構成図に基づくシステム起動時の処理フローを示す図である。
図18において、先ず、ステップST100で情報処理装置に電源が投入されると、ステップST101でOSの初期化を行う。その後、ステップST102でシステム初期化遅延起動タスク13を起動し、システム初期化遅延起動タスク13はステップST103で初期起動完了通知待ち(休眠状態)となる。
一方、前記ステップST102の処理の後、引き続きステップST104でシステム初期化処理タスク10を起動する。以降はシステム初期化処理タスク10の処理であり、先ずステップST127で初期化関数30を順番に呼び出していく。ステップST108で初期化関数30を実行し、ステップST128で当該機能モジュール用に起動すべきタスクが存在する場合は、タスク起動API関数14を呼び出す。ステップST129からタスク起動API関数14内では、タスク登録テーブル50を参照し、同テーブル内のタスク名51が一致するエントリの遅延起動フラグ52がゼロであれば、ステップST130で同エントリ内の優先度53付きで、ポインタ54を介してタスクを起動する。また、当該遅延起動フラグ52が非ゼロであれば、タスクの起動をスキップする。以上が、一つの初期化関数30に対する処理であり、引き続きステップST127に戻り、最後の初期化関数30に達するまで処理を繰り返す。最後に、システム初期化処理タスク10は、ステップST109で初期起動完了通知を発行して終了する、あるいはシステム定常状態の動作モードに移行していく。
図18は、図17に示したソフトウェア構成図に基づくシステム起動時の処理フローを示す図である。
図18において、先ず、ステップST100で情報処理装置に電源が投入されると、ステップST101でOSの初期化を行う。その後、ステップST102でシステム初期化遅延起動タスク13を起動し、システム初期化遅延起動タスク13はステップST103で初期起動完了通知待ち(休眠状態)となる。
一方、前記ステップST102の処理の後、引き続きステップST104でシステム初期化処理タスク10を起動する。以降はシステム初期化処理タスク10の処理であり、先ずステップST127で初期化関数30を順番に呼び出していく。ステップST108で初期化関数30を実行し、ステップST128で当該機能モジュール用に起動すべきタスクが存在する場合は、タスク起動API関数14を呼び出す。ステップST129からタスク起動API関数14内では、タスク登録テーブル50を参照し、同テーブル内のタスク名51が一致するエントリの遅延起動フラグ52がゼロであれば、ステップST130で同エントリ内の優先度53付きで、ポインタ54を介してタスクを起動する。また、当該遅延起動フラグ52が非ゼロであれば、タスクの起動をスキップする。以上が、一つの初期化関数30に対する処理であり、引き続きステップST127に戻り、最後の初期化関数30に達するまで処理を繰り返す。最後に、システム初期化処理タスク10は、ステップST109で初期起動完了通知を発行して終了する、あるいはシステム定常状態の動作モードに移行していく。
次に、ステップST103で休眠状態となっていたシステム初期化遅延起動タスク13は、ステップST109で発行された初期起動完了通知を受信すると起床する。以降はシステム初期化遅延起動タスク13の処理であり、先ずステップST131でタスク遅延起動API関数15を呼び出す。ステップST132からタスク遅延起動API関数15内では、タスク登録テーブル50の各エントリを順番に検索していく。ステップST133でタスク登録テーブル50内の遅延起動フラグ52を参照し非ゼロであれば、ステップST134で同エントリ内の優先度53付きで、ポインタ54を介してタスクを起動する。また、当該遅延起動フラグ52がゼロであれば、タスクの起動処理をスキップする。引き続きステップST132に戻り、タスク登録テーブル50の終端エントリに達するまで処理を繰り返し、終了する。
即ち、図17中に示すように、(1)システム初期化処理タスク10の実行→(2)タスク起動API関数14による起動→(3)初期起動完了通知→(4)タスク遅延起動API関数15による遅延起動の順で起動処理が行われる。
尚、本実施の形態6では、ステップST109の初期起動完了通知において、システム初期化処理タスク10が発行するようにしたが、ステップST108で呼び出した初期化関数30のそれぞれが初期起動完了通知を発行するようにし、システム初期化遅延起動タスク13は、特定の初期起動完了通知、またはいくつかの初期起動完了通知の論理積(AND)で待ち合わせる、またはタイムアウト起床等の特定のイベント通知で待ち合わせるようにしてもよい。
また、本実施の形態6では、システム初期化処理タスク10とは別に、システム初期化遅延起動タスク13を設けたが、システム初期化処理タスク10自身が初期起動完了通知を契機として、遅延起動処理を行うようにしてもよい。
更に、本実施の形態6では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延起動タスク13をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
また、本実施の形態6では、システム初期化処理タスク10とは別に、システム初期化遅延起動タスク13を設けたが、システム初期化処理タスク10自身が初期起動完了通知を契機として、遅延起動処理を行うようにしてもよい。
更に、本実施の形態6では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延起動タスク13をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
以上のように、実施の形態6の情報処理装置によれば、複数の機能モジュールを有する情報処理装置において、複数の機能モジュールのタスクを遅延起動させるか否かを示す遅延起動フラグをタスク毎に示すタスク登録テーブルと、装置の起動を行う場合は、タスク登録テーブルを参照し、最初に遅延起動フラグが遅延以外のタスクを起動させ、遅延以外のタスクの起動が終了した後、遅延起動フラグが遅延を示すタスクを起動させるシステム起動手段とを備えたので、システム起動時間(特にタスクのロード時間)を短縮でき、従ってシステム起動後最初にユーザに提供したい機能やサービスをより早く開始することができる。更に、その後システム稼動中に初めて利用する機能やサービスの開始要求が発生した時も、タスクの遅延起動により、搭載されている機能モジュールは既に起動しているため、ユーザへの応答性を低下させることなく、高速に次の機能やサービスに遷移することができる。
実施の形態7.
実施の形態6では、タスク登録テーブル50内の遅延起動フラグ52は予め静的に設定されているものとしていたが、次に、実施の形態7として、システム終了時に動作していた機能モジュール群に関連するタスクを次回システム起動時に初期起動し、その他の機能モジュール群に関連するタスクを遅延起動するように、タスク登録テーブル50内の遅延起動フラグ52を更新する例を説明する。
実施の形態6では、タスク登録テーブル50内の遅延起動フラグ52は予め静的に設定されているものとしていたが、次に、実施の形態7として、システム終了時に動作していた機能モジュール群に関連するタスクを次回システム起動時に初期起動し、その他の機能モジュール群に関連するタスクを遅延起動するように、タスク登録テーブル50内の遅延起動フラグ52を更新する例を説明する。
実施の形態7の情報処理装置における図面上の機能ブロックについては実施の形態2の図5に示した構成と同様であるため、図5を援用して説明する。実施の形態7において、機能モジュール1−1,1−2,…,1−n〜システム起動手段3の構成については実施の形態6と同様であるため、ここでの説明は省略する。カレント機能モード設定手段4は、複数の機能モジュール1−1,1−2,…,1−nのうち、どの機能モジュール1−1,1−2,…,1−nが現在実行中かを示すカレント機能モードフラグ40を設定する機能部である。また、システム終了手段5は、装置の終了を行う場合、その時点のカレント機能モードフラグ40の値に基づいて、実行中であった機能モジュールに対応するタスクの遅延起動フラグを遅延以外に更新する機能を有している。即ち、カレント機能モードフラグ40に対応する機能モジュールのタスクの遅延起動フラグを遅延以外の状態に更新し、それ以外の機能モジュールのタスクの遅延起動フラグを遅延状態に更新する。
図19は、実施の形態7の情報処理装置のソフトウェア構成図である。
図19において、各構成要素の基本的構成は実施の形態6と同様であるが、システム終了処理タスク12を備えている点が異なっている。即ち、システム終了処理タスク12は、システム終了要求があった時に動作し、情報処理装置に搭載されている機能モジュール群の終了処理を行うタスクであり、終了時に、カレント機能モードフラグ40に基づいてタスク登録テーブル50の内容を更新するよう構成されている。尚、ここで、機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続(ショッピングやメール送受信)等のユーザ利用シーンに対応した機能種別(機能セット)を指す。
図19において、各構成要素の基本的構成は実施の形態6と同様であるが、システム終了処理タスク12を備えている点が異なっている。即ち、システム終了処理タスク12は、システム終了要求があった時に動作し、情報処理装置に搭載されている機能モジュール群の終了処理を行うタスクであり、終了時に、カレント機能モードフラグ40に基づいてタスク登録テーブル50の内容を更新するよう構成されている。尚、ここで、機能モードとは、例えば放送番組の視聴、ビデオ映像や音楽の視聴、インターネット接続(ショッピングやメール送受信)等のユーザ利用シーンに対応した機能種別(機能セット)を指す。
次に動作について説明する。
図20は、図19に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図20において、実施の形態2の図7との相違点に着目し説明する。先ず、システム終了処理タスク12の処理について、ステップST212でタスク登録テーブル50の各エントリを順番に検索していく。ステップST205でカレント機能モードフラグ40を参照し、カレント機能モードフラグ40を最後に更新した後に動作した機能モジュールを特定する。そして、特定された機能モジュールに対応するタスクのエントリかを判定する。判定方法の一例としては、各機能モジュールに関連するタスク31のアカウンティング情報(動作時間情報)を元に、動作中の機能モジュールを選別する。タスク登録テーブル50上の当該エントリに登録されているタスクが動作中の機能モジュールであった場合、ステップST213でタスク登録テーブル50内の最初のエントリの遅延起動フラグ52にゼロを設定する。また、当該エントリが動作中の機能モジュールでなかった場合、ステップST214で遅延起動フラグ52に1(非ゼロ)を設定する。以上が、タスク登録テーブル50の一エントリ分の処理であり、引き続きステップST212に戻り、タスク登録テーブル50の終端エントリに達するまで処理を繰り返す(図19における(1)機能モード切替えと(2)遅延起動フラグの更新に相当する)。最後に、ステップST209でシステム(OS)終了処理に移行する。
図20は、図19に示したソフトウェア構成図に基づくシステム終了時の処理フローを示す図である。
図20において、実施の形態2の図7との相違点に着目し説明する。先ず、システム終了処理タスク12の処理について、ステップST212でタスク登録テーブル50の各エントリを順番に検索していく。ステップST205でカレント機能モードフラグ40を参照し、カレント機能モードフラグ40を最後に更新した後に動作した機能モジュールを特定する。そして、特定された機能モジュールに対応するタスクのエントリかを判定する。判定方法の一例としては、各機能モジュールに関連するタスク31のアカウンティング情報(動作時間情報)を元に、動作中の機能モジュールを選別する。タスク登録テーブル50上の当該エントリに登録されているタスクが動作中の機能モジュールであった場合、ステップST213でタスク登録テーブル50内の最初のエントリの遅延起動フラグ52にゼロを設定する。また、当該エントリが動作中の機能モジュールでなかった場合、ステップST214で遅延起動フラグ52に1(非ゼロ)を設定する。以上が、タスク登録テーブル50の一エントリ分の処理であり、引き続きステップST212に戻り、タスク登録テーブル50の終端エントリに達するまで処理を繰り返す(図19における(1)機能モード切替えと(2)遅延起動フラグの更新に相当する)。最後に、ステップST209でシステム(OS)終了処理に移行する。
そして、次回、情報処理装置に電源が投入されると、実施の形態6の図18を用いて説明したシステム起動時の処理フローに従って遅延実行処理が行われる。即ち、図17中に示すように、(3)次回システム起動が行われると、(4)システム初期化処理タスク10の実行→(5)タスク起動API関数14による起動→(6)初期起動完了通知→(7)タスク遅延起動API関数15による遅延起動の順で起動処理が行われる。
尚、本実施の形態7では、初期化関数30やタスク31は情報処理装置に搭載されるアプリケーションやミドルウェア(ライブラリ)といったユーザプログラム(ユーザが開発する機能モジュール群)を想定したが、これに限定されるものではなく、例えばシステム初期化処理タスク10やシステム初期化遅延起動タスク13やシステム終了処理タスク12をOS内のシステムタスクとして実現した上で、OS機能モジュールや、各種ハードウェア・デバイスの制御ソフトウェアであるデバイスドライバ等に適用してもよい。
以上のように、実施の形態7の情報処理装置によれば、複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、装置の終了を行う場合、タスク登録テーブルの遅延起動フラグを、カレント機能モードフラグに基づき、実行中であった機能モジュールに対応するタスクの遅延起動フラグを遅延以外に更新するシステム終了手段とを備えたので、次回システム起動時に、前回システム終了直前の機能モードに対応する機能やサービスをより早く開始することができる。
1−1,1−2,…,1−n 機能モジュール、2,2a 起動情報登録テーブル、3,3a システム起動手段、4 カレント機能モード設定手段、5,5a システム終了手段、10 システム初期化処理タスク、11 システム初期化遅延実行タスク、12 システム終了処理タスク、13 システム初期化遅延起動タスク、14 タスク起動API関数、15 タスク遅延起動API関数、20,20A,20B,20C 初期化関数登録テーブル、21 初期化関数ポインタ、22,22A,22B,22C 遅延実行フラグ、30 初期化関数、31 タスク、40 カレント機能モードフラグ、41 機能モード保存フラグ、50 タスク登録テーブル、51 タスク名、52 遅延起動フラグ、53 優先度、54 ポインタ。
Claims (9)
- 複数の機能モジュールを有する情報処理装置において、
前記複数の機能モジュールの起動を遅延させるか否かを示す遅延実行フラグを前記複数の機能モジュール毎に示す起動情報登録テーブルと、
装置の起動を行う場合は、前記起動情報登録テーブルを参照し、最初に遅延実行フラグが遅延以外の機能モジュールを起動させ、当該遅延以外の機能モジュールの起動が終了した後、前記遅延実行フラグが遅延の機能モジュールを起動させるシステム起動手段とを備えた情報処理装置。 - 複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、
装置の終了を行う場合、起動情報登録テーブルの遅延実行フラグを、前記カレント機能モードフラグに基づき、実行中であった機能モジュールに対応する遅延実行フラグを遅延以外に更新するシステム終了手段とを備えた請求項1記載の情報処理装置。 - 起動情報登録テーブルは、各機能モジュールの遅延実行フラグを機能モード毎に有すると共に、
複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、
装置の終了を行う場合、前記カレント機能モードフラグの値を機能モード保存フラグとして保存するシステム終了手段とを備え、
システム起動手段は、前記起動情報登録テーブルの前記機能モード保存フラグの値に対応した機能モードの遅延実行フラグに基づいて機能モジュールの起動を行うことを特徴とする請求項1記載の情報処理装置。 - 起動情報登録テーブルの遅延実行フラグは、複数の値が設定可能に構成されると共に、
複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、
装置の終了を行う場合、前記カレント機能モードフラグの値に基づいて、実行中ではなかった機能モジュールに対応した遅延実行フラグの値を遅延が大きい側に変更するシステム終了手段とを備え、
システム起動手段は、前記起動情報登録テーブルの遅延実行フラグの値が遅延の小さい順に機能モジュールの遅延起動を行うことを特徴とする請求項1記載の情報処理装置。 - 起動情報登録テーブルは、複数の機能モードに対応して複数設けられ、
複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、
装置の終了を行う場合、前記カレント機能モードフラグの値を機能モード保存フラグとして保存するシステム終了手段とを備え、
システム起動手段は、前記機能モード保存フラグの値に基づいて、対応した機能モードの起動情報登録テーブルの内容に基づいて機能モジュールの起動を行うことを特徴とする請求項1記載の情報処理装置。 - 複数の機能モジュールを有する情報処理装置において、
前記複数の機能モジュールのタスクを遅延起動させるか否かを示す遅延起動フラグをタスク毎に示すタスク登録テーブルと、
装置の起動を行う場合は、前記タスク登録テーブルを参照し、最初に遅延起動フラグが遅延以外のタスクを起動させ、当該遅延以外のタスクの起動が終了した後、前記遅延起動フラグが遅延を示すタスクを起動させるシステム起動手段とを備えた情報処理装置。 - 複数の機能モジュールのうち、どの機能モジュールが現在実行中かを示すカレント機能モードフラグを設定するカレント機能モード設定手段と、
装置の終了を行う場合、タスク登録テーブルの遅延起動フラグを、前記カレント機能モードフラグに基づき、実行中であった機能モジュールに対応するタスクの遅延起動フラグを遅延以外に更新するシステム終了手段とを備えた請求項6記載の情報処理装置。 - 機能モジュールは、オペレーティングシステムを構成するモジュールであり、システム起動手段はオペレーティングシステムのタスクとして実現されることを特徴とする請求項1から請求項7のうちのいずれか1項記載の情報処理装置。
- 機能モジュールは、オペレーティングシステムを構成するモジュールであり、システム起動手段およびシステム終了手段はオペレーティングシステムのタスクとして実現されることを特徴とする請求項2から請求項5および請求項7のうちのいずれか1項記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008062849A JP2009217711A (ja) | 2008-03-12 | 2008-03-12 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008062849A JP2009217711A (ja) | 2008-03-12 | 2008-03-12 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009217711A true JP2009217711A (ja) | 2009-09-24 |
Family
ID=41189461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008062849A Pending JP2009217711A (ja) | 2008-03-12 | 2008-03-12 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009217711A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011103093A (ja) * | 2009-11-12 | 2011-05-26 | Lenovo Singapore Pte Ltd | 高速で起動するコンピュータ |
JP2012098972A (ja) * | 2010-11-04 | 2012-05-24 | Lenovo Singapore Pte Ltd | コンピュータを短時間で起動する方法およびコンピュータ |
JP2012176709A (ja) * | 2011-02-28 | 2012-09-13 | Panasonic Corp | 情報表示装置 |
JP2012252536A (ja) * | 2011-06-03 | 2012-12-20 | Mitsubishi Electric Corp | 情報処理装置及びその起動方法 |
JP2013536518A (ja) * | 2010-08-23 | 2013-09-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クラウド・コンピューティング環境においてハイパーバイザの制御を可能にする方法 |
CN104023274A (zh) * | 2014-06-30 | 2014-09-03 | 广州视源电子科技股份有限公司 | 可预设开机信息的方法以及电视机 |
JP2014197407A (ja) * | 2011-04-29 | 2014-10-16 | レノボ・シンガポール・プライベート・リミテッド | ブート・パフォーマンスを向上させたシステム及び方法 |
CN105653376A (zh) * | 2016-01-05 | 2016-06-08 | 浪潮电子信息产业股份有限公司 | Arm平台中bios与bmc同时启动时保证信息同步的优化算法 |
JP2017520856A (ja) * | 2014-07-10 | 2017-07-27 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521785A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521789A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
-
2008
- 2008-03-12 JP JP2008062849A patent/JP2009217711A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011103093A (ja) * | 2009-11-12 | 2011-05-26 | Lenovo Singapore Pte Ltd | 高速で起動するコンピュータ |
US8499143B2 (en) | 2009-11-12 | 2013-07-30 | Lenovo (Singapore) Pte Ltd | Method for shortening the boot time of a computer system |
JP2013536518A (ja) * | 2010-08-23 | 2013-09-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クラウド・コンピューティング環境においてハイパーバイザの制御を可能にする方法 |
JP2012098972A (ja) * | 2010-11-04 | 2012-05-24 | Lenovo Singapore Pte Ltd | コンピュータを短時間で起動する方法およびコンピュータ |
US8661236B2 (en) | 2010-11-04 | 2014-02-25 | Lenovo (Singapore) Pte Ltd | Partial initialization of divided programs in response to pre-boot and post-boot activation events to rapidly boot a computer system |
JP2012176709A (ja) * | 2011-02-28 | 2012-09-13 | Panasonic Corp | 情報表示装置 |
JP2014197407A (ja) * | 2011-04-29 | 2014-10-16 | レノボ・シンガポール・プライベート・リミテッド | ブート・パフォーマンスを向上させたシステム及び方法 |
JP2012252536A (ja) * | 2011-06-03 | 2012-12-20 | Mitsubishi Electric Corp | 情報処理装置及びその起動方法 |
CN104023274A (zh) * | 2014-06-30 | 2014-09-03 | 广州视源电子科技股份有限公司 | 可预设开机信息的方法以及电视机 |
JP2017520856A (ja) * | 2014-07-10 | 2017-07-27 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521785A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
JP2017521789A (ja) * | 2014-07-10 | 2017-08-03 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | オペレーティングシステム起動加速 |
US10423430B2 (en) | 2014-07-10 | 2019-09-24 | Harman International Industries, Incorporated | Operating system startup acceleration |
CN105653376A (zh) * | 2016-01-05 | 2016-06-08 | 浪潮电子信息产业股份有限公司 | Arm平台中bios与bmc同时启动时保证信息同步的优化算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009217711A (ja) | 情報処理装置 | |
JP4740238B2 (ja) | アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置 | |
US20060288371A1 (en) | Mobile terminal and method for operation | |
KR100754534B1 (ko) | 무선 통신 디바이스 및 그 시스템 기동 방법 | |
JP3633465B2 (ja) | 携帯電話端末及びそれに用いる画面遷移制御方法 | |
CN101610316B (zh) | 手机应用程序的启动方法、装置和*** | |
US20080134211A1 (en) | Method and apparatus for application state synchronization | |
JP5137781B2 (ja) | 移動機及びアプリケーションの切替方法 | |
US20070294691A1 (en) | Apparatus and method for program execution in portable communication terminal | |
JP2006243865A (ja) | プロセッサおよび情報処理方法 | |
CN111935694B (zh) | 蓝牙设备连接方法、装置、电子设备及可读存储介质 | |
EP2469880A1 (en) | Information processing apparatus and display changeover method | |
JP4609113B2 (ja) | プロセッサ | |
KR100678023B1 (ko) | 이동통신 단말기의 부팅시간 단축 방법 | |
US20070101340A1 (en) | Method and mobile terminal for performing multiple tasks without conflict | |
JP4902713B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
CN112383623A (zh) | 多媒体文件的处理方法、装置、终端及网络接入点设备 | |
CN102375857B (zh) | 一种搜索方法和装置 | |
CN110704187A (zh) | ***资源的调整方法、装置及可读存储介质 | |
JP2005057740A (ja) | 迅速な作業実行のための先行準備可能な多機能の複合端末機及びその方法 | |
CN113934437B (zh) | 云手机安装应用的方法、***和客户端云手机 | |
CN102541581A (zh) | 启动操作界面方法 | |
CN112511909B (zh) | 开机推送处理方法、***、电子设备及介质 | |
KR100690852B1 (ko) | 리소스 사용 제어 방법 및 그 이동 단말기 | |
JP2017162311A (ja) | スマート装置、優先処理方法及び優先処理プログラム |