(57)【特許請求の範囲】
【請求項１】
情報処理装置内でプログラムを実行するときの、相互に区別された実行環境である複数のプロセスがツリー構造により親子関係となっており、各プロセス内において複数のスレッドが実行される情報処理装置であって、
親プロセスと、当該親プロセスによって起動及び停止が管理される子プロセスとを実行する制御部と、
前記親プロセス及び前記子プロセスの各々に領域が割り当てられる記憶部と、
を有し、
前記記憶部には、各プロセス内のスレッドの起動要因及び停止要因を定めた管理情報が格納され、
前記親プロセス内において、
前記管理情報に基づいて、プロセス内の他のスレッドを起動及び停止させるシステム管理スレッドと、
前記管理情報に基づいて、前記子プロセスのシステム管理スレッドとプロセス間通信を行い、前記子プロセスのシステム管理スレッドを起動及び停止させる子プロセス管理スレッドと、
が実行される情報処理装置。
【請求項２】
前記子プロセス管理スレッドは、複数の子プロセスを起動及び停止させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ツリー構造により親子関係になっている複数のプロセスは、情報処理装置内において実行される全てのプロセスであることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
情報処理装置の起動に応じた動作により、前記ツリー構造の根にあたるプロセスが起動を開始し、情報処理装置の停止に応じた動作により、該プロセスが停止を開始することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理装置内でプログラムを実行するときの、相互に区分された実行環境である複数
のプロセスがツリー構造により親子関係となっており、各プロセス内において複数のスレッドが実行される情報処理装置であって、親プロセスと、当該親プロセスによって起動及び停止が管理される子プロセスとを実行する制御部と、前記親プロセス及び前記子プロセスの各々に領域が割り当てられる記憶部とを有する情報処理装置が実行する情報処理方法であって、
前記記憶部に格納される、プロセス内のスレッドの起動要因及び停止要因を定めた管理情報に基づいて、プロセス内の他のスレッドを起動又は停止させるステップと、
前記管理情報に基づいて、前記子プロセスのシステム管理スレッドとプロセス間通信を行い、前記子プロセスのシステム管理スレッドを起動又は停止させるステップと、
を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置において実行されるプロセスを管理する技術に関し、特に、情報処理装置において実行されるプロセスの起動及び停止を簡易な方法によって管理する技術に関する。
【背景技術】
【０００２】
近年、カーナビゲーションシステム等の家電製品等の高機能化に伴い、当該製品には、当該製品に内蔵されるマイクロコンピュータを制御するためにＯＳ（オペレーティングシステム）が組み込まれている。ＯＳは、ＪＩＳ（日本工業規格）のＸ０００１において、「プログラムの実行を制御するソフトウェアであって、資源割振り、スケジューリング、入出力制御、データ管理などのサービスを提供するもの」と定義されているが、これらの中で「プログラムの実行を制御する」ことがＯＳの重要な役割である。
【０００３】
ＯＳがプログラムの実行を制御する方法には主として２つの方法がある。１つの方法は、例えばμＩＴＲOＮに代表される、各プログラムを１つのプログラムとして捉え、タス
クと呼ばれる実行単位で制御する方法（以下、「タスクによる制御方法」と表記する）である。もう１つの方法は、例えばＷｉｎｄｏｗｓ（登録商標）に代表される、各プログラムをプロセスと呼ばれる実行単位で制御し、プロセス内をスレッド（上記、タスクに相当する）と呼ばれる実行単位で制御する方法（以下、「プロセスによる制御方法」）である。
【０００４】
なお、プログラムの実行を制御することには、タスクによる制御方法における、タスクの状態（実行可能状態、待ち状態等）を操作することやタスクを生成すること等のいわゆるタスク管理等も含む。また、プログラムの実行を制御することには、プロセスによる制御方法における、スレッドの状態及びプロセスの状態を操作することやスレッド及びプロセスを生成すること等のいわゆるプロセス管理等も含む。
【０００５】
一般的に、タスクによる制御方法では、各タスクは、他のタスクやＯＳのグローバル変数に自由にアクセスすることができるため、直接他のタスクの起動及び停止を制御することができる。その結果、タスクによる制御方法では、シンプルな方法でのシステム設計及び構築ができるという利点がある。反面、タスクによる制御方法では、メモリ空間が全てのタスクで共有されるため、一部のタスクに生じたエラーは、他のタスクにも影響を及ぼしてしまう。その結果、タスクによる制御方法では、構築されるシステムの堅牢性は低いという欠点がある。
【０００６】
他方、プロセスによる制御方法では、メモリ空間がプロセスごとに区切られるため、各プロセスは、基本的には他のプロセスのメモリ空間にアクセスすることができない。その結果、プロセスによる制御方法では、一部のスレッドに生じたエラーは、基本的には他のプロセスのスレッドには影響を及ぼさない。このため、プロセスによる制御方法では、タスクによる制御方法よりも堅牢性の高いシステムを構築することができるという利点がある。反面、プロセスによる制御方法では、各プロセス内のスレッドは、基本的には他のプロセス内のスレッドに自由にアクセスすることができないため、他のプロセス内のスレッドの状態が把握できず、適切に直接他のプロセス内のスレッドの起動及び停止を制御するということは現実的にはできない。その結果、プロセスによる制御方法は、タスクによる制御方法と比べて、各プロセスの起動及び停止順番等、各スレッドを起動及び停止する際に考慮しなければならない要因が増えてしまう。そのため、プロセスによる制御方法では、シンプルな方法でシステムを設計及び構築することができないという欠点がある。
【０００７】
タスクによる制御方法におけるシンプルな方法によるシステム設計及び構築の例について図１４を用いて説明する。図１４は、情報処理装置１０００上で、タスクによる制御方法によりプログラムの実行を制御する方法を示す論理構成図の一例である。なお、図１４において、各タスクについての「タスク」の標記を省略した。
【０００８】
情報処理装置１０００は、ＣＰＵ（Central Processing Unit）等の１又は複数のプロ
セッサと、当該プロセッサの処理に利用されるメモリ等（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、インタフェース回路等）を含むハードウェアを備える。ハードウェアに含まれるメモリには、ＯＳ、各タスク及び管理情報１００２が格納される。そして、ハードウェアに含まれるＣＰＵが当該メモリに格納したデータ（ＯＳ、各タスク及び管理情報１００２）を処理することで図１４の論理構成図及び各タスクの処理が実現される。なお、上記各タスクとは、図１４では、システム管理タスク１００１、ＰＬＡＴＦＯＲＭ制御タスク１００３、Ａ制御タスク１００４、Ｂ制御タスク１００５、Ｃ制御タスク１００６、及びＤ制御タスク１００７を指す。
【０００９】
図１４におけるタスクによる制御方法では、情報処理装置１上で処理されるタスクであるシステム管理タスク１００１が、各タスクの起動及び停止要因を格納した管理情報１００２を用いて、その他のタスク（ＰＬＡＴＦＯＲＭ制御タスク１００３、Ａ制御タスク１００４、Ｂ制御タスク１００５、Ｃ制御タスク１００６、Ｄ制御タスク１００７等）の起動及び停止を制御する。
【００１０】
図１５は、管理情報１００２のレコード例である。図１５の管理情報１００２のレコードは、タスクのタイプを指定するためのタスク名、各タスクの実行の優先度を示すタスク優先度、タスクをメモリに格納する際に必要なメモリサイズを示すスタックサイズ、各タスクを一意に特定するためのタスクＩＤ、及びタスクの停止方法を指定するパラメタであるタスク属性を格納するフィールドを備える。
【００１１】
システム管理タスク１００１は、管理情報１００２に格納されているタスク名、タスク優先度、スタックサイズ、タスクＩＤを用いて、各タスクの起動を制御する（例えば、システム管理タスク１００１は、実行の優先度に従って各タスクの起動を行う）。また、システム管理タスク１００１は、管理情報１００２に格納されているタスク名、タスクＩＤ、タスク属性を用いて、各タスクの停止を制御する。
【００１２】
以上のように、タスクによる制御方法では、情報処理装置１０００において、各タスクの起動及び停止を制御する処理部（システム管理タスク１００１）と、各タスクの起動及び停止要因を格納した記憶部（管理情報１００２）を設けることのみにより、各タスクの起動及び停止を制御することができる。
【００１３】
他方、プロセスによる制御方法によりシステム設計及び構築を行う方法として、下記の先行技術文献が挙げられる。例えば、特許文献１に開示されたアプリケーション管理装置においては、各プロセス内のマルチスレッド管理部が、各プロセス内のスレッドの制御及び管理を行っている。このようなプロセスによる制御方法に、上述の図１４で挙げられるようなプログラムの実行を制御する方法を適用すると、図１６のような構成になると考えられる。
【００１４】
図１６は、情報処理装置１上で、上述の図１４で挙げられるようなプログラムの実行を制御する方法を、従来技術におけるプロセスによる制御方法によって実現した一例を示す論理構成図である。
【００１５】
上述と同様、ハードウェアに含まれるメモリには、ＯＳ、各プロセス及び各スレッドが格納される。そして、ハードウェアに含まれるＣＰＵが当該メモリに格納したデータ（ＯＳ、各プロセス及び各スレッド）を処理することで図１６の論理構成図、各プロセス及び各スレッドの処理を実現する。なお、上記各プロセスとは、図１６では、システム管理プロセス１１００、ＰＬＡＴＦＯＲＭプロセス１１０１、Ｘプロセス１１０２、Ｙプロセス１１０３、及びＺプロセス１１０４を指す。また、上記各スレッドとは、各プロセスに含まれるスレッドを指す。図１６ではプライマリスレッドを除いた各スレッドについて「スレッド」の標記を省略した。
【００１６】
タスクによる制御方法におけるタスクは、プロセスによる制御方法におけるスレッドに相当するため、図１４と図１６とで、システム管理タスク１００１とシステム管理スレッド１１００ｂ、ＰＬＡＴＦＯＲＭ制御タスク１００３とＰＬＡＴＦＯＲＭ制御スレッド１１０１ｂ、Ａ制御タスク１００４とＡ制御スレッド１１０２ｂ、Ｂ制御タスク１００５とＢ制御スレッド１１０３ｂ、Ｃ制御タスク１００６とＣ制御スレッド１１０３ｃ、Ｄ制御タスク１００７とＤ制御スレッド１１０４ｂとがそれぞれ対応している。また、特許文献１において開示されているマルチスレッド管理部は、プライマリスレッド（１１００ａ、１１０１ａ、１１０２ａ、１１０３ａ、１１０４ａ）に含まれていると想定している。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００５−３１７５２号公報
【特許文献２】特開平３−２５７６３３号公報
【特許文献３】特開２００３−１６２４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、図１６のプロセスによる制御方法において、システム管理スレッド１１００ｂが、その他のスレッドの起動及び停止を制御するためには、各プロセス（１１００〜１１０４）の起動及び停止も制御しなければならず、タスクによる制御方法に比べて考慮しなければならない要因が増えてしまい、システムの設計及び構築が煩雑になってしまうという問題点がある。
【００１９】
また、システム管理スレッド１１００ｂが、その他のスレッドの起動及び停止を制御するためには、各スレッドの状態を収集する必要があり、各スレッドを含む各プロセス間と常にプロセス間通信を行わなければならない。その結果、各スレッドの起動及び停止を制御する際に利用されるデータが全てプロセス内のメモリ空間ではなく、各プロセスに共有に用いられるメモリ空間に格納されることとなり、メモリ空間をプロセス内に閉じた意味が損なわれてしまうという問題点がある。
【００２０】
本発明の課題は、このような問題点に鑑み、シンプルなシステムの設計及び構築を可能する技術を提供することにある。
【００２１】
また、本発明の別の課題は、プロセスによる制御方法において、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑える技術を提供することにある。
【課題を解決するための手段】
【００２２】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００２３】
すなわち、情報処理装置内でプログラムを実行するときの、相互に区分された実行環境である複数のプロセスがツリー構造により親子関係となっており、親プロセスが子プロセ
スの起動及び停止を管理する本発明の情報処理装置は制御部を備える。そして、制御部は、第１のスレッドと、各プロセス内のスレッドの起動要因及び停止要因を定めた管理情報を格納する記憶部と、を備える１以上のプロセスを生成する。また、第１のスレッドは、記憶部に格納された管理情報に基づいて、プロセス内に存在する第１のスレッド以外のスレッドの起動及び停止を管理するプロセス内スレッド管理手段を備える。更に、親プロセスは、起動要因及び停止要因に応じて、前記子プロセスの第１のスレッドとプロセス間通信を行い、前記第１のスレッドの起動及び停止を管理することで、前記子プロセスの起動及び停止を管理する子プロセス管理手段を含む第２のスレッドを備える。
【００２４】
上記構成によれば、各プロセス内のスレッドは、各プロセス内に存在する第１のスレッドのプロセス内スレッド管理手段によって、その起動及び停止を管理される。つまり、各プロセス内のスレッドの起動及び停止の管理は、従来のタスクによる制御方法におけるシンプルな方法でのシステム設計及び構築と同様の方法によって行われる。したがって、本発明は、シンプルなシステム設計及び構築を可能とする。
【００２５】
また、上記構成によれば、各プロセスのスレッドの起動及び停止が管理される際に行われるプロセス間通信は、親プロセスの第２スレッドと子プロセスの第１スレッドの間で行われるプロセス間通信に限定される。したがって、全てのスレッドに対してプロセス間通信を行う必要がないため、本発明は、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑えることができる。
【００２６】
また、上記子プロセス管理手段は、複数の子プロセスの起動及び停止を管理してもよい。
【００２７】
上記によれば、親プロセスは、子プロセスの数に応じた第２スレッドを備える必要がなくなるため、親プロセスのスレッド数を抑えることができる。
【００２８】
また、上記ツリー構造により親子関係となっている複数のプロセスは、情報処理装置において実行される全てのプロセスであってもよい。
【００２９】
上記によれば、情報処理装置において実行される全てのプロセスにおいて、上述までの効果を得ることができる。
【００３０】
また、情報処理装置の起動に応じた動作により、上記ツリー構造の根にあたるプロセスが起動を開始し、情報処理装置の停止に応じた動作により、該プロセスが停止を開始してもよい。
【００３１】
上記によれば、情報処理装置の起動動作及び停止動作に応じて、プロセスの起動及び停止の管理を実行することができる。
【００３２】
なお、本発明の別態様としては、以上の何れかの構成を実現する方法であってもよいし、システムであってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記憶媒体であってもよい。
【発明の効果】
【００３３】
本発明によれば、シンプルなシステムの設計及び構築を可能とする技術を提供することができる。
【００３４】
また、本発明によれば、プロセスによる制御方法において、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑える技術を提供することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明を実施する装置の一例であるＡＶＮ一体機の全体構成を例示する図。
【図２】第１の実施形態におけるプロセス構成の一例を例示する図。
【図３】第１の実施形態のおける管理情報の一例を示すレコード例。
【図４】第１の実施形態におけるスレッドの起動処理の手順の一例を示したシーケンスチャート。
【図５】第１の実施形態におけるスレッドの停止処理の手順の一例を示したシーケンスチャート。
【図６】第２の実施形態におけるＡＶＮ一体機の機能構成及びプロセス構成の一例を例示する図。
【図７】図６におけるプロセス構成の詳細を例示する図。
【図８】第２の実施形態における管理情報の一例を示すレコード例。
【図９】第２の実施形態におけるスナップショットの取得処理の一例を示したシーケンスチャート。
【図１０】第２の実施形態におけるスレッドの起動処理の手順の一例を示したシーケンスチャート。
【図１１】第２の実施形態におけるスレッドの停止処理の手順の一例を示したシーケンスチャート。
【図１２】第２の実施形態におけるＡＶＮ一体機においてスナップショットをロードする前に、ＡＶＮ一体機を停止し、その後起動させた時の処理手順の一例を示したシーケンスチャート。
【図１３】第２の実施形態におけるＡＶＮ一体機のあるスレッドを停止している最中に、ＡＶＮ一体機を起動した時の処理手順の一例を示したシーケンスチャート。
【図１４】タスクによる制御方法によりプログラムの実行を制御する方法を示す論理構成を例示する図。
【図１５】タスクによる制御方法において用いられる管理情報のレコード例。
【図１６】プロセスによる制御方法によりプログラムの実行を制御する方法を示す論理構成を例示する図。
【発明を実施するための形態】
【００３６】
以下、本発明の一側面に係る情報処理装置及び情報処理方法を、実施の形態（以下、「本実施形態」と表記する）として説明する。ただし、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００３７】
なお、以下に挙げる実施形態において、例えば、スレッド名を「ＰＬＡＴＦＲＯＭ制御」等、自然言語（日本語）等で例示しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語等で指定される。
【００３８】
§１  ハードウェア構成
まず、本実施形態の一実施例である車載用オーディオ・ビジュアル・ナビゲーション一体機１（以降、ＡＶＮ一体機１と称する）について説明する。図１は、本実施形態の一実施例であるＡＶＮ一体機１のハードウェア構成例を示すブロック図である。
【００３９】
制御部１００は、ＡＶＮ一体機１の各部、或いは接続された外部機器からの信号、また使用者の操作に基づく各操作部からの操作指示信号等を受信し、それら信号に基づきＡＶＮ一体機１の各部、或いは外部機器を統括的に制御する。制御部１００は、例えば、１又は複数のマイクロコンピュータ（マイコン）と、このマイコンの処理に利用される周辺回路（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、インタフェース回路等）を備え、ＲＯＭ等の周辺回路に記憶されたプログラムに従い動作する。
【００４０】
外部記憶媒体再生部１０１は、例えば、ＵＳＢ（Universal Serial Bus）メモリやＳＤカード等の外部記憶媒体を接続するためのコネクタを備える。そして、外部記憶媒体再生部１０１は、当該コネクタに接続された外部記憶媒体に記憶された各種データから所望のデータを読み出し、読み出した画像信号、音声信号又は文字信号等を分配回路１０７に出力する。なお、外部記憶媒体再生部１０１は、制御部１００からの制御信号により、コネクタに接続された外部記憶媒体からデータを読み出す動作等を制御される。
【００４１】
ラジオ受信部１０２及びＴＶ（television）受信部１０３は、アンテナにより受信された放送波から、セレクタ１１３等により特定の周波数の放送波を選択受信し、復調して当該放送の音声信号および、画像信号（テレビ放送の場合）を分配回路１０７に出力する。ラジオ受信部１０２及びＴＶ受信部１０３は、同調回路、復調・復号回路等を備える。そして、ラジオ受信部１０２及びＴＶ受信部１０３は、制御部１００からの制御信号により、そのオン／オフ、受信周波数等の各種動作を制御される。
【００４２】
ディスク再生部１０４は、ディスク（例えば、ＤＶＤ（Digital Versatile Disc）やＢＤ（Blu-ray Disc））に記憶されているデータをピックアップにより読込み、読込んだデータに基づく音声信号、画像信号等を分配回路１０７に出力する。ディスク再生部１０４は、光学ピックアップ、ピックアップ・ディスク駆動機構、ピックアップ・ディスク駆動機構の制御回路、読取信号の復号回路等を備える。そして、ディスク再生部１０４は、制御部１００からの制御信号により、読込み処理のオン／オフ、読込み位置等の各種動作を制御される。
【００４３】
ＨＤ（ハードディスク）再生部１０５は、磁気記憶媒体であるハードディスクに記憶された各種データから所望のデータを読み出し、読み出した画像信号、音声信号又は文字信号等を分配回路１０７に出力する。ハードディスクは、MP3ファイル等の音楽データやＪ
ＰＥＧ（Joint Photographic Experts Group）ファイルやＭＰＥＧ（Moving Picture Experts Group）ファイル等の画像データ、ナビゲーション用の地図データ等を記憶している。ＨＤ再生部１０５は、ＨＤドライブ、読取信号号の復号回路等を備える。そして、ＨＤ再生部１０５は、制御部１００からの制御信号により、読み出し処理のオン／オフ、読み出すデータ等の各種動作を制御される。
【００４４】
ナビゲーション部１０６は、地図上に自車位置や目的地までの経路を表示したり、交差点等で音声等により右左折等の進行方向案内を行い、また後述する交通情報通信システム（ＶＩＣＳ（登録商標））情報受信部１１１から交通情報、ＧＰＳ（登録商標）情報受信部１１２から自車位置情報を入手して表示したりして、目的地までの経路案内を行う。ナビゲーション部１０６は、ナビゲーションの為に利用される地図情報を記憶する記憶装置（媒体）、各種演算処理を行うＣＰＵ（Central Processing Unit）、各種処理のために
データを記憶するＲＡＭ等のメモリ等を備える。そして、ナビゲーション部１０６は、制御部１０１からの制御信号により、ナビゲーション処理のオン／オフ、各種動作を制御される。なお、ナビゲーションの為に利用される地図情報を記憶する記憶装置（媒体）は、外部記憶媒体再生部１０１に接続される上述の外部記憶装置、ディスク再生部１０３によって処理される上述のディスク、ＨＤ再生部１０５に備えられる上述のＨＤドライブであってもよい。
【００４５】
分配回路１０７は、制御部１００の制御信号により制御され、出力することが指定された各種ソース（外部記録媒体再生部１０１等）の音声信号と画像信号を音声調整回路１０９及び画像調整回路１０８に出力する。分配回路１０７は、リレーあるいはスイッチングトランジスタ等の電子回路を含むスイッチ群を備える。
【００４６】
画像調整回路１０８は、制御部１００の制御信号により制御され、分配回路１０７から入力された画像信号に対し、輝度や色調、コントラストなどを調整し、調整した各画像信号を画像出力部１１０に出力する。画像調整回路１０８は、画像データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセッサ等の演算回路等を備える。
【００４７】
音声調整回路１０９は、制御部１００の制御信号により制御され、分配回路１０７から入力された音声信号に対し、音量、音声を調整し、調整した音声信号をスピーカ１２３に出力する。音声調整回路１０９は、音声データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセッサ等の演算回路、トランジスタ・抵抗・コンデンサ・コイル等を含む増幅・減衰回路や共振回路等を備える。スピーカ１２３は、音声調整回路１１０により入力された音声信号を、音声出力する。
【００４８】
画像出力部１１０は、制御部１００の制御信号により制御され、画像調整回路１０８から入力された画像信号と、画像信号を表示部１２２に表示させるために制御部１００から入力された表示画像信号とに基づいて画像合成等の処理を施し、当該処理を施した画像信号に基づき表示部１２２を駆動する。画像出力部１１０は、例えば、演算処理により画像処理を行なう画像用に特化された演算処理回路である画像ASIC、画像処理・出力用に画像データを記憶するビデオメモリ、画像出力用ビデオメモリに記憶された画像データに基づき表示部を駆動する画像駆動回路等を備える。
【００４９】
ＶＩＣＳ情報受信部１１１は、ＶＩＣＳに係る交通情報を受信し、受信した交通情報をナビゲーション部１０６に出力する。ＶＩＣＳ情報受信部で、交通情報通信システムからのデータを受信する受信機（ＦＭ受信機，電波ビーコン受信機，光ビーコン受信機）、受信したデータを復号する復号回路等を備える。
【００５０】
ＧＰＳ信号受信回路１１２は、ＧＰＳ衛星からのＧＰＳ信号に基づき自車位置を検出し、検出した現在地情報をナビゲーション部１０６に出力する。ＧＰＳ情報受信部１１２は、ＧＰＳ信号を受信するＧＰＳ信号受信回路、受信したＧＰＳ信号に基づき自車位置を算出する演算部を備える。
【００５１】
操作部１１４は、ＡＶＮ一体機１に対して使用者が各種操作を行うための入力部である。具体的には、操作部１１４は、例えば、押釦スイッチ、回転操作スイッチ、ジョイスティック等である。操作部１１４は、ＡＶＮ一体機１に対する使用者による各種操作の操作状態を制御部１００に出力する。
【００５２】
リモコン送受信部１１５は、使用者によるリモコン１１６に対する入力操作の操作状態を制御部１００に出力する。本実施例では、リモコン送受信部１１５は、使用者のリモコン１１６に対する回転操作、傾動操作、押圧操作を検出する。
【００５３】
リモコン１１６は、ＡＶＮ一体機１本体から離れた場所、例えば運転席と助手席間のひじ掛け付近や、ステアリングホイールに設置されたインストルメントパネル等であってもよい。なお、リモコン１１６は、回転操作量・方向に応じた信号を出力するロータリエンコーダ、感圧センサにより構成され傾動操作方向に応じた信号を出力するジョイスティック等の傾動センサ、押圧操作によりオンオフ状態が変化する押圧スイッチを備える。
【００５４】
メモリ１１７は、各種データや制御プログラムを記憶するメモリ（記憶媒体）で、例えばＨＤＤ（Hard Disk Drive）や、書換え可能なフラッシュメモリ等を備える。メモリ１
１７は、制御部１００の制御信号により制御され、制御部１００に備えられたＲＯＭ等の周辺回路に所望のデータを出力する。
【００５５】
カメラ１１９は、例えば車両後部に備え付けられたカメラであり、撮影映像を外部音声／映像入力部１１８に出力する。なお、撮影映像は音声データを含んでもよい。
【００５６】
ＥＴＣ（Electronic Toll Collection System）車載機１２０は、使用者が高速道路の
通行料金等を支払うため、料金所に取り付けられたアンテナと無線通信を行い、適正な料金情報を交換する。なお、ＥＴＣ車載機１２０のこのような動作は、制御部１００の制御信号により制御される。
【００５７】
通信ユニット１２１は、ＡＶＮ一体機１がインターネット等のコンピュータネットワークに接続するため、様々な場所に取り付けられたアンテナと無線通信を行い、パケット等のデータの送受信を行う。
【００５８】
表示部１２２は、画像出力部１１０により入力された画像信号に基づき画像を表示する。表示部１２２は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ、プラズマディスプレイ、冷陰極フラットパネルディスプレイ等の液晶パネル２０１と、液晶パネル２０１を背面から証明するバックライト２００と、抵抗膜方式や静電容量方式等のタッチパネル２０２とを備える。タッチパネル２０２は、ＡＶＮ一体機１に対する使用者による各種操作の操作状態を制御部１００に出力する。
【００５９】
なお、ＡＶＮ一体機１は、本実施形態における情報処理装置の一実施例であり、情報処理装置の種類を限定するものではない。本実施形態における情報処理装置は、例えば、ＣＰＵ等の１又は複数のプロセッサや、プロセッサの処理に利用される周辺回路（ＲＯＭ、ＲＡＭ、インタフェース回路等）を備える汎用コンピュータ等であってもよい。
【００６０】
また、本実施形態におけるＡＶＮ一体機１は、例えば、車載される自動車のアクセサリ電源のオン及びオフに応じて、その起動及び停止がなされる。
【００６１】
§２  第１の実施形態
次に、本実施形態の第１の実施形態について説明する。
【００６２】
§２−１  プロセス構成
まず、第１の実施形態におけるプロセス構成について説明する。以下のプロセス構成、各種手段、及び周知の機能は、例えば、メモリ１１７等に格納された各種プログラム及びデータが、制御部１００の周辺回路であるＲＡＭ等に展開されて、制御部１００のマイコンにより実行され、各構成（外部記憶媒体再生部１０１等）が制御されることによって実現される。
【００６３】
図２は、第１の実施形態においてＡＶＮ一体機１上で実現されるプロセス構成の一例を示す。図２に示されるとおり、第１の実施形態におけるＡＶＮ一体機１は、当該プロセス構成として、親プロセス５０と子プロセス５１を備える。
【００６４】
親プロセス５０は、その機能構成として、システム管理スレッド５０ａ、管理情報５０ｂ、スレッドＡ５０ｃ、子プロセス管理スレッド５０ｄを備える。システム管理スレッド５０ａはプロセス内スレッド管理手段５０ｅを備える。子プロセス管理スレッド５０ｄは子プロセス管理手段５０ｆを備える。
【００６５】
また、子プロセス５１は、その機能構成として、システム管理スレッド５１ａ、管理情報５０ｂ、スレッドＢ５０ｃ、子プロセス管理スレッド５１ｄを備える。システム管理スレッド５１ａはプロセス内スレッド管理手段５１ｅを備える。子プロセス管理スレッド５１ｄは子プロセス管理手段５１ｆを備える。
【００６６】
なお、親プロセス５０、子プロセス５１、及びこれらのプロセスに含まれる各スレッドは、プロセス及びスレッドの機能として知られる周知の機能を備えている。
【００６７】
なお、上述したとおり、各プロセス内スレッド管理手段（５０ｅ、５１ｅ）及び各子プロセス管理手段（５０ｆ、５１ｆ）は、例えば、メモリ１１７等に格納された各種プログラム及びデータが、制御部１００の周辺回路であるＲＡＭ等に展開されて、制御部１００のマイコンにより実行され、各構成（外部記憶媒体再生部１０１等）が制御されることによって実現される。また、各管理情報（５０ｂ、５１ｂ）は、例えば、メモリ１１７等により格納され、利用される際に制御部１００の周辺回路であるＲＡＭ等に展開されることで実現される。
【００６８】
以下、プロセス内スレッド管理手段及び子プロセス管理手段について説明する。
【００６９】
＜プロセス内スレッド管理手段＞
プロセス内スレッド管理手段は、所定の起動要因及び停止要因に応じて、管理情報を用いて、プロセス内に存在するスレッドの起動及び停止を管理する。管理情報には、そのプロセス内に存在するスレッドの起動要因及び停止要因が格納されている。プロセス内スレッド管理手段は、管理情報に格納された当該スレッドの起動要因及び停止要因に従って、プロセス内に存在するスレッドの起動及び停止を管理する。
【００７０】
例えば、親プロセス５０におけるシステム管理スレッド５０ａは、プロセス内スレッド管理手段５０ｅにより、管理情報５０ｂを用いて、スレッドＡ５０ｃ及び子プロセス管理スレッド５０ｄの起動及び停止を管理する。
【００７１】
例えば、子プロセス５１におけるシステム管理スレッド５１ａは、プロセス内スレッド管理手段５１ｅにより、管理情報５１ｂを用いて、スレッドＡ５１ｃ及び子プロセス管理スレッド５１ｄの起動及び停止を管理する。
【００７２】
管理情報の一例を図３に示す。図３（Ａ）は、親プロセス５０の管理情報５０ｂのレコード例を示す。また、図３（Ｂ）は、子プロセス５１の管理情報５１ｂのレコード例を示す。各管理情報はそれぞれ、図１５において示した従来の管理情報と同様である。すなわち、各管理情報のレコードはそれぞれ、スレッドのタイプを指定するためのスレッド名、各スレッドの実行の優先度を示すスレッド優先度、スレッドをメモリに格納する際に必要なメモリサイズを示すスタックサイズ、各スレッドを一意に特定するためのスレッドＩＤ、及びスレッドの停止方法を指定するパラメタであるスレッド属性（停止要因）を格納するフィールドを備える。
【００７３】
本実施形態では、スレッドの起動要因として、各スレッドの実行の優先度を定めるスレッド優先度が用いられる。スレッド優先度は、実行中及び待機中にあるスレッドの中でどのスレッドを実行中のスレッドとするのかを定めるものである。本実施形態では、スレッド優先度は、この実行の優先度として用いられると共に、起動の優先度（起動要因）としても用いられる。すなわち、本実施形態では、スレッドの起動要因は、自身よりも優先度の高いスレッドが起動されたことである。ただし、スレッドの起動要因は、このようなスレッド間の関係により定められる条件に限定される訳ではない。スレッドの起動要因は、例えば、ＡＶＮ一体機１が備えるカメラ１１９が操作されたこと等、ハードウェアの動作により定められる条件であってもよい。この点は、スレッドの停止要因についても同様である。これらの起動要因及び停止要因は、管理情報に格納することにより、任意に定めることができる。
【００７４】
なお、プロセス内スレッド管理手段を備えるシステム管理スレッド（システム管理スレッド５０ａ、システム管理スレッド５１ａ）の起動及び停止は、自身の親プロセスにあたる子プロセス管理スレッドが備える子プロセス管理手段によって管理される。
【００７５】
＜子プロセス管理手段＞
子プロセス管理手段は、例えば、子プロセス管理スレッドに対する起動命令及び停止命令等の起動要因及び停止要因に応じて、自身の子プロセスにあたるシステム管理スレッドの起動及び停止を管理する。起動要因及び停止要因は、任意に定められる。例えば、ハードウェア構成のある構成（例えば、ナビゲーション部１０６等）の起動及び停止が起動要因及び停止要因として設定されてもよい。なお、本実施形態では、当該起動要因及び停止要因は、当該子プロセス管理スレッドに対する起動命令及び停止命令であるとする。
【００７６】
なお、子プロセス管理手段（子プロセス管理スレッド）と子プロセスの関係は、図２に示されるとおり、１対１であってもよいし、１対複数であってもよい。つまり、子プロセス管理手段（子プロセス管理スレッド）が管理する子プロセスのシステム管理スレッドは１つであってもよいし、複数であってもよい。
【００７７】
ここで、子プロセス管理手段が、自身の子プロセスにあたるシステム管理スレッドの起動を実行する場合、当該実行に係る起動対象のシステム管理スレッドは既に生成されている必要がある。
【００７８】
子プロセス管理手段は、例えば、起動対象のシステム管理スレッドの状態を気にせず、当該システム管理スレッドの起動を実行してもよい。この場合、当該起動対象のシステム管理スレッドが生成されていない場合に限り、エラーが起こる。このエラーにより、子プロセス管理手段は、起動対象のシステム管理スレッドが生成されていないことを認識し、当該起動対象のシステム管理スレッドを生成及び起動を実行してもよい。
【００７９】
また、子プロセス管理手段は、例えば、起動対象のシステム管理スレッドからのプロセス状態通知等により、起動対象のシステム管理スレッドの起動が可能であると認識した後に、起動対象のシステム管理スレッドの起動を実行してもよい。なお、プロセス状態通知は、プロセスの状態を通知するものであり、例えば、起動対象のシステム管理スレッドが生成されていること、又は、起動対象のシステム管理スレッドを含むプロセス内のスレッドが全て生成されていること等を通知するものである。
【００８０】
この場合、例えば、各プロセス又はスレッドはＯＳ等の周知の機能によって生成されてもよい。そして、当該周知の機能によりシステム管理スレッドが生成された後、当該システム管理スレッドは、例えば、自身のプロセス内のスレッドが全て生成された時点において、自身の起動及び停止を管理する子プロセス管理スレッドに対してプロセス状態通知を発する。このプロセス状態通知を発する時点は、当該システム管理スレッドが生成された後、任意の時点でよい。子プロセス管理手段は、このプロセス状態通知により、起動対象のシステム管理スレッドが生成され、当該起動対象のシステム管理スレッドの起動が可能であることを認識する。そして、例えば、子プロセス管理手段は、当該認識した後に、起動対象のシステム管理スレッドの起動を実行してもよい。
【００８１】
その他、例えば、子プロセス管理手段は、起動対象のシステム管理スレッドの状態を通知により確認した後に、当該起動対象のシステム管理スレッドの起動を実行する等、周知の方法により当該起動対象のシステム管理スレッドの起動を実行する。この点は、上述のプロセス内スレッド管理手段によるスレッドの起動においてもあてはまる。
【００８２】
なお、本実施形態では、起動対象のシステム管理スレッドは、自身のプロセス内のスレ
ッドが全て生成された時点において、自身の起動及び停止を管理する子プロセス管理スレッドに対して、自身は停止したままにおいて、プロセス状態通知を発することにする。そして、子プロセス管理手段は、当該プロセス状態通知により、起動対象のシステム管理スレッドが生成され、起動命令を発することが可能であることを認識した後に、当該起動対象のシステム管理スレッドの起動を実行することにする。このようにプロセス状態通知が発せられるため、システム管理スレッドが生成される時点においては、自身のプロセス内のスレッドは全て生成されている。したがって、プロセス内スレッド管理手段は特に起動対象のスレッドが生成されていることを確認する必要はない。
【００８３】
なお、このような起動対象のシステム管理スレッドが、自身が起動可能であることを自身の起動を行う子プロセス管理スレッドに対して行う通知（例えば、プロセス状態通知）を、以下、準備完了通知と称する。
【００８４】
一方、子プロセス管理手段は、自身の子プロセスにあたるシステム管理スレッドの停止を実行する場合、例えば、上記起動を行ったシステム管理スレッドに対してのみ、当該システム管理スレッドの停止を実行する。停止の実行に際して、子プロセス管理手段は、上述の起動の実行のような点を考慮する必要はない。なぜなら、停止対象のシステム管理スレッドが存在しない場合、子プロセス管理手段は停止命令をする必要がないからである。この点は、上述のプロセス内スレッド管理手段によるスレッドの停止においてもあてはまる。
【００８５】
＜その他＞
なお、本実施形態では、プロセス内スレッド管理手段を備えたシステム管理スレッドが、プロセス内の各スレッドの起動及び停止を管理する。また、子プロセス管理手段を備えた子プロセス管理スレッドが、子プロセスのシステム管理スレッドの起動及び停止を管理する。したがって、プロセス内では、システム管理スレッドが管理を行うスレッドであり、その他のスレッドが管理されるスレッドである。また、プロセス間では、親プロセスの子プロセス管理スレッドが管理を行うスレッドであり、当該親プロセスの子プロセスのシステム管理スレッドが管理されるスレッドである（図２参照）。
【００８６】
ここで、本実施形態では、管理を行うスレッドの管理されるスレッドに対する起動命令及び停止命令は、起動要求通知及び停止要求通知という通知によって実現される。本実施形態では、管理を行うスレッドは、管理されるスレッドに対して起動要求通知及び停止要求通知を送る。管理されるスレッドは、当該起動要求通知及び停止要求通知に応じて、自身の起動及び停止を実行する。そして、本実施形態では、当該管理されるスレッドは、自身の起動及び停止を完了した後、管理を行うスレッドに対して、起動要求通知及び停止要求通知に対する起動完了通知及び停止完了通知を返す。ただし、これらの態様は、いかなる態様であってもよい。これらの通知による起動命令及び停止命令の実現方法は、本発明を限定するものではない。
【００８７】
なお、ここで用いる起動要求通知及び停止要求通知は、起動に関する情報を通知すること及び停止に関する情報を通知することを指し、これらに関する情報であればいかなる態様であってもよい。例えば、管理を行うスレッドは、自身の状態を通知する。そして、管理されるスレッドは、当該管理を行うスレッドの状態に応じて、起動または停止を実行してもよい。このとき、例えば、管理を行うスレッドが、システム管理スレッドであるならば、当該起動要求通知及び停止要求通知は、システム管理スレッドの状態を通知するシステム状態通知により実現される。また、例えば、管理を行うスレッドが、子プロセス管理スレッドであるならば、当該起動要求通知及び停止要求通知は、親プロセスの状態を通知するプロセス状態通知により実現される。すなわち、起動要求通知及び停止要求通知は、管理されるスレッドの起動及び停止の実行に用いられる通知であれば、いかなる態様であ
ってもよい。この点は、起動完了通知及び停止完了通知についても同様である。起動完了通知及び停止完了通知は、スレッドの起動状態に関する情報を通知すること及び停止状態に関する情報を通知することを指し、これらに関する情報であればいかなる態様であってもよい。各通知の態様は、本発明を限定するものではない。
【００８８】
また、後述する動作例では、起動要求通知及び停止要求通知、並びに、これらに対応する起動完了通知及び停止完了通知は、それぞれ１回の通知であるが、通知の回数は限定されない。例えば、各通知は、段階的に行われてもよい。例えば、管理を行うスレッドから管理されるスレッドに対して停止要求通知が発せられた場合、管理されるスレッドは、管理を行うスレッドに対して、自身の停止処理の段階に応じた停止完了通知を送信してもよい。この場合、管理を行うスレッドは、管理されるスレッドの段階的な状態を認識することができる。
【００８９】
なお、子プロセス管理手段を備えた子プロセス管理スレッドが、子プロセスのシステム管理スレッドの起動及び停止を管理する際の起動要求通知、停止要求通知、起動完了通知及び停止完了通知は、プロセス間通信によって実現される。
【００９０】
§２−２  動作例
次に、第１の実施形態における各スレッドの起動及び停止についての管理方法について、以下の動作例を用いて説明する。図４は、第１の実施形態におけるスレッドの起動処理の手順の一例を示したシーケンスチャートである。また、図５は、第１の実施形態におけるスレッドの停止処理の手順の一例を示したシーケンスチャートである。なお、これらのシーケンスチャートでは、起動要求通知、起動完了通知、停止要求通知、停止完了通知はそれぞれ、起動要求、起動完了、停止要求、停止完了と記載を省略した。
【００９１】
なお、これらのシーケンスチャートでは、各システム管理スレッドのプロセス内スレッド管理手段が用いる管理情報は、図３に与えられるレコード例を前提としている。ここで、本実施形態において、各管理情報のスレッド優先度は、その値が小さいほど優先度は高い。また、各スレッドのスレッド属性（停止要因）は、任意に設定される。ここでは、説明を簡略化するために、スレッド属性（停止要因）は、管理を行うスレッドに対して停止命令がなされたこと、及び、自分よりも起動の優先度の高いスレッドが停止したこととする。
【００９２】
なお、これらのシーケンスチャートの前提として、各プロセス及びスレッドは周知のＯＳの機能により既に生成されているものとする。
【００９３】
＜スレッドの起動時＞
まず、任意の方法により、システム管理スレッド５０ａが起動される。システム管理スレッド５０ａが起動されると、システム管理スレッド５０ａが備えるプロセス内スレッド管理手段５０ｅは、管理情報５０ｂのスレッド優先度を参照する（スレッド優先度については図３（Ａ）を参照）。そして、図４に示されるとおり、プロセス内スレッド管理手段５０ｅは、スレッド優先度が一番高いスレッドＡ５０ｃに対して起動要求通知を送信する（Ｓ２００）。なお、本実施形態では、上述のとおり、スレッド優先度の値が低い程、優先度が高い。
【００９４】
スレッドＡ５０ｃは、当該起動要求通知を受信すると、自身の起動を実行する。そして、スレッドＡ５０ｃは、自身の起動が完了すると、システム管理スレッド５０ａに対して起動完了通知を返信する（Ｓ２０１）。
【００９５】
スレッドＡ５０ｃから起動完了通知を受信すると、プロセス内スレッド管理手段５０ｅ
は、再度、管理情報５０ｂのスレッド優先度を参照する。そして、図４に示されるとおり、プロセス内スレッド管理手段５０ｅは、管理情報５０ｂの中でスレッドＡ５０ｃの次にスレッド優先度の高い子プロセス管理スレッド５０ｄに対して起動要求通知を送信する（Ｓ２０２）。
【００９６】
子プロセス管理スレッド５０ｄは、当該起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、システム管理スレッド５０ａに対して起動完了通知を返信する（Ｓ２０３）。
【００９７】
ここで、子プロセス５１及び子プロセス５１に含まれているスレッドは既に生成されているものとする。このとき、システム管理スレッド５１ａは、子プロセス管理スレッド５０ｄに対して、自身は停止したままにおいて、準備完了通知を送信する（Ｓ２０４）。当該準備完了通知は、上述のとおり、例えば、プロセス状態通知である。
【００９８】
準備完了通知を受信した後、起動が完了した子プロセス管理スレッド５０ｄの子プロセス管理手段５０ｆは、自身の子プロセスである子プロセス５１のシステム管理スレッド５１ａに対して起動要求通知を送信する（Ｓ２０５）。
【００９９】
システム管理スレッド５１ａは、当該起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、システム管理スレッド５１ａは、子プロセス管理スレッド５０ｄに対して起動完了通知を返信する（Ｓ２０６）。
【０１００】
起動が完了したシステム管理スレッド５１ａのプロセス内スレッド管理手段５１ｅは、管理情報５１ｂのスレッド優先度を参照する（スレッド優先度については図３（Ｂ）を参照）。そして、図４に示されるとおり、プロセス内スレッド管理手段５１ｅは、子プロセス管理スレッド５１ｄに対して起動要求通知を送信する（Ｓ２０７）。
【０１０１】
子プロセス管理スレッド５１ｄは、当該起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、システム管理スレッド５１ａに対して起動完了通知を返信する（Ｓ２０８）。
【０１０２】
また、上述と同様に、子プロセス管理スレッド５１ｄが起動を管理する不図示の子プロセス及び当該子プロセスに含まれるスレッドは既に生成されているものとする。そして、当該子プロセスのシステム管理スレッドから子プロセス管理スレッド５１ｄに対して準備完了通知が送信される（Ｓ２０９）。
【０１０３】
準備完了通知を受信した後、起動が完了した子プロセス管理スレッド５１ｄの子プロセス管理手段５１ｆは、自身の子プロセスである当該不図示の子プロセスのシステム管理スレッドに対して起動要求通知を送信する（Ｓ２１０）。そして、当該不図示のシステム管理スレッドは、起動要求通知を受信すると、自身の起動を実行する。そして、自身の起動が完了すると、当該不図示のシステム管理スレッドは、子プロセス管理スレッド５０ｄに対して起動完了通知を返信する（Ｓ２１１）。
【０１０４】
子プロセス管理スレッド５１ｄから起動完了通知を受信すると、プロセス内スレッド管理手段５１ｅは、再度、管理情報５１ｂのスレッド優先度を参照する。そして、図４に示されるとおり、プロセス内スレッド管理手段５１ｅは、管理情報５１ｂの中で子プロセス管理スレッド５１ｄの次にスレッド優先度の高いスレッドＢ５１ｃに対して起動要求通知を送信する（Ｓ２１２）。
【０１０５】
スレッドＢ５１ｃは、当該起動要求通知を受信すると、自身の起動を実行する。そして
、スレッドＢ５１ｃは、自身の起動が完了すると、システム管理スレッド５１ａに対して起動完了通知を返信する（Ｓ２１３）。
【０１０６】
以上により、親プロセス５０及び子プロセス５１に存在する全てのスレッドは、起動が完了する。
【０１０７】
なお、これらの処理順序は、単なる一例に過ぎず他の順序であってもよい。例えば、上記シーケンスチャートでは、Ｓ２０９〜Ｓ２１１の処理が行われた後に、Ｓ２１２の処理が行われているが、Ｓ２１２の処理と、Ｓ２０９〜Ｓ２１１の処理は並列に行われてもよい。また、例えば、Ｓ２０４及びＳ２０９の準備完了通知は、Ｓ２００の前に行われていてもよい。また、例えば、Ｓ２０３の処理とＳ２０５以降の処理は前後してもよい。上記のシーケンスチャートにおける処理の順序は、本発明を限定するものではない。以下に登場する各シーケンスチャートについてもこの点は同様である。
【０１０８】
＜スレッドの停止時＞
例えば、上記＜スレッドの起動時＞の処理の後、親プロセス５０及び子プロセス５１のスレッドが起動しているものとする。この状況において、親プロセス５０のシステム管理スレッド５０ａは、所定の対象（例えば、親プロセス５０の親プロセスの子プロセス管理スレッドに含まれる子プロセス管理手段）から停止要求通知を受信したとする。
【０１０９】
このとき、システム管理スレッド５０ａに含まれるプロセス内スレッド管理手段５０ｅは、管理情報５０ｂのスレッド属性を参照する。スレッド属性は、任意に設定される。ここでは、上述のとおり、スレッド属性は、管理を行うスレッドに対して停止命令がなされたこと、及び、自分よりも起動の優先度の高いスレッドが停止したこととする。したがって、図５に示されるとおり、プロセス内スレッド管理手段５０ｅは、まず、起動の優先度が一番高いスレッドＡ５０ｃに対して停止要求通知を送信する（Ｓ３００）。
【０１１０】
スレッドＡ５０ｃは、停止要求通知を受信すると、自身の停止を実行する。そして、スレッドＡ５０ｃは、自身の停止が完了すると、システム管理スレッド５０ａに対して停止完了通知を返信する（Ｓ３０１）。
【０１１１】
システム管理スレッド５０ａのプロセス内スレッド管理手段５０ｅは、スレッドＡ５０ｃから停止完了通知を受信すると、再度、管理情報５０ｂのスレッド属性を参照する。そして、図５に示されるとおり、プロセス内スレッド管理手段５０ｅは、スレッドＡ５０ｃの次に起動の優先度の高い子プロセス管理スレッド５０ｄに対して停止要求通知を送信する（Ｓ３０２）。
【０１１２】
子プロセス管理スレッド５０ｄは、プロセス内スレッド管理手段５０ｅから停止要求通知を受信すると、自身の停止を開始する。子プロセス管理スレッド５０ｄの子プロセス管理手段５０ｆは、当該停止要求通知に応じて、子プロセス５１のシステム管理スレッド５１ａに対して、停止要求通知を送信する（Ｓ３０３）。
【０１１３】
システム管理スレッド５１ａのプロセス内スレッド管理手段５１ｅは、子プロセス管理スレッド５０ｄから停止要求通知を受信すると、管理情報５１ｂのスレッド属性を参照する。そして、プロセス内スレッド管理手段５１ｅは、図５に示されるとおり、当該スレッド属性に応じて、優先度の一番高い子プロセス管理スレッド５１ｄに対して停止要求通知を送信する（Ｓ３０４）。
【０１１４】
子プロセス管理スレッド５１ｄは、プロセス内スレッド管理手段５１ｅから停止要求通知を受信すると、自身の停止を開始する。子プロセス管理スレッド５１ｄの子プロセス管
理手段５０ｆは、当該停止要求通知に応じて、自身が起動及び停止を管理する不図示の子プロセスのシステム管理スレッドに対して、停止要求通知を送信する（Ｓ３０５）。
【０１１５】
そして、不図示の子プロセスの停止が完了すると、子プロセス管理スレッド５１ｄは、当該不図示の子プロセスのシステム管理スレッドから停止完了通知を受信する（Ｓ３０６）。
【０１１６】
子プロセス管理スレッド５１ｄは、自身が起動及び停止を管理する不図示の子プロセスの停止に応じて、自身の停止を完了する。そして、子プロセス管理スレッド５１ｄは、自身の停止を完了した後、システム管理スレッド５１ａに対して停止完了通知を返信する（Ｓ３０７）。
【０１１７】
システム管理スレッド５１ａのプロセス内スレッド管理手段５１ｅは、子プロセス管理スレッド５１ｄから停止完了通知を受信すると、再度、管理情報５１ｂのスレッド属性を参照する。そして、図５に示されるとおり、プロセス内スレッド管理手段５１ｅは、子プロセス管理スレッド５１ｄの次に起動の優先度の高いスレッドＢ５１ｃに対して停止要求通知を送信する（Ｓ３０８）。
【０１１８】
スレッドＢ５１ｃは、停止要求通知を受信すると、自身の停止を実行する。そして、スレッドＢ５１ｃは、自身の停止が完了すると、システム管理スレッド５１ａに対して停止完了通知を返信する（Ｓ３０９）。
【０１１９】
システム管理スレッド５１ａのプロセス内スレッド管理手段５１ｅは、子プロセス管理スレッド５１ｄから停止完了通知を受信すると、再度、管理情報５１ｂのスレッド属性を参照する。そして、停止すべき対象がなくなった時点において、システム管理スレッド５１ａは、自身の停止を完了し、図５に示されるとおり、子プロセス管理スレッド５０ｄに対して停止完了通知を返信する（Ｓ３１０）。
【０１２０】
子プロセス管理スレッド５１ｄは、システム管理スレッド５１ａからの停止完了通知に応じて、自身の停止を完了し、システム管理スレッド５０ａに対して停止完了通知を送信する（Ｓ３１１）。
【０１２１】
システム管理スレッド５０ａのプロセス内スレッド管理手段５０ｅは、子プロセス管理スレッド５０ｄから停止完了通知を受信すると、再度、管理情報５０ｂのスレッド属性を参照する。そして、停止すべき対象がなくなった時点において、システム管理スレッド５０ａは、自身の停止を完了する。
【０１２２】
以上により、親プロセス５０及び子プロセス５１に存在する全てのスレッドは、停止が完了する。
【０１２３】
§２−３  第１の実施形態の作用及び効果
以上によれば、第１の実施形態におけるスレッドの起動及び停止の管理は、プロセス内では、当該プロセス内に設けられたシステム管理スレッドのプロセス内スレッド管理手段によって行われる。また、プロセス内のスレッドの起動及び停止の管理を行うシステム管理スレッドの起動及び停止の管理は、親プロセスの子プロセス管理スレッドの子プロセス管理手段によって行われる。
【０１２４】
これによって、第１の実施形態においては、プロセス内のスレッドの起動及び停止の管理は、従来のタスクによる制御方法におけるシンプルな方法でのシステム設計及び構築と同様の方法によって行うことができる。したがって、第１の実施形態は、シンプルなシス
テムの設計及び構築を可能とする。
【０１２５】
また、第１の実施形態において、プロセス間通信は、子プロセス管理手段を含む子プロセス管理スレッドとシステム管理スレッドの間で行われる通信に限られる。したがって、第１の実施形態は、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑えることができる。
【０１２６】
また、システム管理スレッドのプロセス内スレッド管理手段によって行われるプロセス内のスレッドの起動及び管理方法は、当該システム管理スレッドを備えるプロセスで同一である。したがって、第１の実施形態は、当該システム管理スレッドを各プロセスに備えることで、各プロセス内のスレッドの管理手法を同一にすることができる。
【０１２７】
また、システム管理スレッドのプロセス内スレッド管理手段によって行われるプロセス内のスレッドの起動及び停止の管理方法は、従来におけるタスクによる制御方法と同様の管理方法であり、従来の技術を移植することが容易である。
【０１２８】
§３  第２の実施形態
次に、本実施形態の第２の実施形態について説明する。第２の実施形態は、本実施形態に係る情報処理装置の一例であるＡＶＮ一体機１において、周知のＯＳの一例であるWindows Automotive 5.5を用いた一実施形態である。また、第２の実施形態は、当該ＯＳ（Windows Automotive 5.5）が用いられたＡＶＮ一体機１に対して第１の実施形態を適用した一実施例でもある。
【０１２９】
§３−１  プロセス構成
まず、図６及び図７を用いて、第２の実施形態におけるプロセス構成について説明する。なお、以下のプロセス構成、各種機能構成、各種手段、及び周知の機能は、例えば、メモリ１１７等に格納された各種プログラム及びデータが、制御部１００の周辺回路であるＲＡＭ等に展開されて、制御部１００のマイコンにより実行され、各構成（外部記憶媒体再生部１０１等）が制御されることによって実現される。この点、第１の実施形態と同様である。なお、図６〜図１３において、各スレッドについての「スレッド」の標記を省略した。
【０１３０】
＜機能構成＞
図６は、第２の実施形態においてＡＶＮ一体機１上で実現される機能構成及びプロセス構成の一例を示す。図６に示されるとおり、第２の実施形態におけるＡＶＮ一体機１は、当該機能構成として、スナップショット制御部２ａ、スナップショット保持部２ｂ、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａ、及びＲｅａｄｙＧｕａｒｄプロセス保持部３ｂを備える。なお、上述のとおり、スナップショット制御部２ａ及びＲｅａｄｙＧｕａｒｄプロセス制御部３ａは、例えば、メモリ１１７等に格納された各種プログラム及びデータが、制御部１００の周辺回路であるＲＡＭ等に展開されて、制御部１００のマイコンにより実行され、各構成（外部記憶媒体再生部１０１等）が制御されることによって実現される。また、スナップショット保持部２ｂ及びＲｅａｄｙＧｕａｒｄプロセス保持部３ｂは、例えば、メモリ１１７等が備える不揮発性メモリによって実現される。
【０１３１】
スナップショット制御部２ａは、スナップショットブートと呼ばれるWindows Automotive 5.5の機能を実現する。スナップショットブートとは、システム起動中の任意の時点のシステム状態（メモリ内容、ＯＳの状態など）をスナップショットとして不揮発性のメモリに保存しておき、システムの起動時に当該保存したシステム状態を復元（ブート）することで起動時間を短縮する機能である。
【０１３２】
スナップショット保持部２ｂは、上述のスナップショットを格納する。なお、後述するとおり、本実施形態では、ＲｅａｄｙＧｕａｒｄプロセス４は、ＡＶＮ一体機１の起動（例えば、アクセサリ電源オン）に応じて、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａによりブートされる。したがって、本実施形態では、スナップショット保持部２ｂに格納されるスナップショットは、ＲｅａｄｙＧｕａｒｄプロセス４を除いた、ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７、及び、これらのプロセスに含まれるスレッドが生成された時点のシステム状態であるとする。ただし、当該格納されるスナップショットは、任意の時点のシステム状態でよい。当該格納されるスナップショットは、本発明を限定するものではない。
【０１３３】
なお、スナップショット制御部２ａが、スナップショット保持部２ｂよりスナップショットを取得し、当該スナップショットを制御部１００のＲＡＭ等に展開するタイミングは任意でよい。本実施形態では、ＲｅａｄｙＧｕａｒｄプロセス４及び当該プロセス内の各スレッドが起動した時点において、スナップショット制御部２ａは、当該スナップショットを制御部１００のＲＡＭ等に展開する。また、スナップショット制御部２ａは、当該時点をシステム管理スレッド４ａからの通知により認識する。
【０１３４】
ＲｅａｄｙＧｕａｒｄプロセス制御部３ａとＲｅａｄｙＧｕａｒｄプロセス保持部３ｂは、ＡＶＮ一体機１の起動（例えば、アクセサリ電源オン）に応じたＲｅａｄｙＧｕａｒｄプロセス４の起動を実現する。ＲｅａｄｙＧｕａｒｄプロセス保持部３ｂはＲｅａｄｙＧｕａｒｄプロセス４を格納している。そして、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａは、ＡＶＮ一体機１の起動に応じて、ＲｅａｄｙＧｕａｒｄプロセス保持部３ｂからＲｅａｄｙＧｕａｒｄプロセス４を取得し、当該ＲｅａｄｙＧｕａｒｄプロセス４を制御部１００のＲＡＭ等に展開する。そして、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａは、ＲｅａｄｙＧｕａｒｄプロセス４を起動する。これは、ＲｅａｄｙＧｕａｒｄと呼ばれる周知の機能を実現するための動作である。
【０１３５】
ここで、ＲｅａｄｙＧｕａｒｄと呼ばれる周知の機能について簡単に説明する。Windows Automotive 5.5には、ＲｅａｄｙＧｕａｒｄと呼ばれる機能がある。ＲｅａｄｙＧｕａｒｄとは、システム上で障害が発生した場合に、システム全体のリブートを行わず、あらかじめ定義した高信頼ソフトウェアの動作を継続させたまま、残りの部分（ＯＳを含めた、その他のソフトウェア）を再起動する機構を提供する技術である。
【０１３６】
ＲｅａｄｙＧｕａｒｄでは、この機構を実現するために最初にＲｅａｄｙＧｕａｒｄＯＳが起動され、その後、メインＯＳが起動される。ＲｅａｄｙＧｕａｒｄＯＳは、固定プロセス及び固定スレッドで構成された高信頼ソフトウェアが動作するための静的領域（スタティック領域）を構造体として確保する。そしてその後、その構造体の制御は、メインＯＳへ引き継がれる。このように、ＯＳがその内部に高信頼ソフトウェアの動作を保証するＯＳ（ＲｅａｄｙＧｕａｒｄＯＳ）を備えることにより、ＲｅａｄｙＧｕａｒｄは、上記残りの部分（メインＯＳを含めた、その他のソフトウェア）を再起動する機構を実現する。
【０１３７】
なお、本実施形態において、ＲｅａｄｙＧｕａｒｄＯＳに対応するプロセスがＲｅａｄｙＧｕａｒｄプロセス４であり、メインＯＳに対応するプロセスがＭＡＩＮプロセス５である。
【０１３８】
また、本実施形態において、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａは、ＡＶＮ一体機１の停止（例えば、アクセサリ電源オフ）に基づいて、ＲｅａｄｙＧｕａｒｄプロセス４の停止を実行する。
【０１３９】
＜プロセス構成＞
また、図６に示されるとおり、第２の実施形態におけるＡＶＮ一体機１は、当該プロセス構成として、ＲｅａｄｙＧｕａｒｄプロセス４、ＭＡＩＮプロセス５、Ｘプロセス６及びＹプロセス７を備える。図７は、図６におけるプロセス構成の詳細を例示する。
【０１４０】
図７に示されるとおり、ＲｅａｄｙＧｕａｒｄプロセス４は、プロセス内スレッド管理手段４ｅを備えたシステム管理スレッド４ａ、管理情報４ｂ、ＰＬＡＴＦＯＲＭ制御スレッド４ｃ、及び子プロセス管理手段４ｆを備えたＭＡＩＮプロセス管理スレッド４ｄを備える。
【０１４１】
また、図７に示されるとおり、ＭＡＩＮプロセス５は、プロセス内スレッド管理手段５ｆを備えたシステム管理スレッド５ａ、管理情報５ｂ、子プロセス管理手段５ｇを備えたＸプロセス管理スレッド５ｃ、子プロセス管理手段５ｈを備えたＹプロセス管理スレッド５ｄ、及びＡ制御スレッド５ｅを備える。
【０１４２】
また、図７に示されるとおり、Ｘプロセス６は、プロセス内スレッド管理手段６ｅを備えたシステム管理スレッド６ａ、管理情報６ｂ、Ｂ制御スレッド６ｃ、及びＣ制御スレッド６ｄを備える。
【０１４３】
また、図７に示されるとおり、Ｙプロセス７は、プロセス内スレッド管理手段７ｄを備えたシステム管理スレッド７ａ、管理情報７ｂ、及びＤ制御スレッド７ｃを備える。
【０１４４】
各プロセスに含まれるシステム管理スレッド（４ａ、５ａ、６ａ、７ａ）は、第１の実施形態におけるシステム管理スレッドと同様の機能を含む。すなわち、各プロセス内スレッド管理手段（４ｅ、５ｆ、６ｅ、７ｄ）は、第１の実施形態におけるプロセス内スレッド管理手段と同様の機能を有する。
【０１４５】
また、各プロセスに含まれる各プロセス管理スレッド（４ｄ、５ｃ、５ｄ）は、第１の実施形態における子プロセス管理スレッドと同様の機能を含む。すなわち、各子プロセス管理手段（４ｆ、５ｇ、５ｈ）は、第１の実施形態における子プロセス管理手段と同様の機能を有する。
【０１４６】
また、各管理情報（４ｂ、５ｂ、６ｂ、７ｂ）は、第１の実施形態における管理情報と同様のデータを含む。図８（Ａ）は、管理情報４ｂの一例としてのレコード例である。図８（Ｂ）は、管理情報５ｂの一例としてのレコード例である。図８（Ｃ）は、管理情報６ｂの一例としてのレコード例である。図８（Ｄ）は、管理情報７ｂの一例としてのレコード例である。
【０１４７】
また、その他の各スレッド（４ｃ、５ｅ、６ｃ、６ｄ、７ｃ）は、任意のスレッドである。
【０１４８】
なお、例えば、スレッドが起動と停止を繰り返すような状態（チャタリング）で、当該スレッドの起動及び停止を管理しようとすると、管理を行うスレッドは、起動中に停止を又は停止中に起動を行わなければならない。この時、スレッドの状態（例えば、起動がどの段階にあるか）に応じた管理が行われなければならないため、当該管理の処理が複雑となってしまう。この管理の処理が複雑となってしまうことを防ぐため、当該第２の実施形態では、ＭＡＩＮプロセスのシステム管理スレッド４ａは、管理対象のスレッドを管理する場合、当該スレッドに対する起動命令または停止命令が完了した後に、次の管理（起動命令または停止命令）を行うことにする（ハンドシェイク）。
【０１４９】
また、当該第２の実施形態では、ＡＶＮ一体機１上で実行される全てのプロセスは、ツリー構造になっているものとする。なお、ＡＶＮ一体機１上で実行されるプロセスまたはスレッドは、動的に生成されてもよい。当該プロセスの生成やスレッドの生成は周知の方法で行われる。例えば、子プロセスが生成された場合、当該周知の方法によって、子プロセス内にシステム管理スレッドが生成され、親プロセス内に当該子プロセスの起動及び停止を管理する子プロセス管理スレッドが生成されてもよい。また、例えば、スレッドが生成された場合、当該周知の方法によって、管理情報に当該スレッドの管理情報が登録されてもよい。これにより、全てのプロセスはツリー構造となり、図６及び図７で示されるプロセス及びスレッドの構成は維持される。
【０１５０】
なお、当該第２の実施形態では、ＡＶＮ一体機１は、上記スナップショット保持部２ｂに格納するためのスナップショット生成処理を実行するものとする。生成されるスナップショットは、上述のとおり、ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７、及び、これらのプロセスに含まれるスレッドが生成された時点におけるシステム状態である。
【０１５１】
当該スナップショットの生成処理は、例えば、ＡＶＮ一体機１上で実行されるＯＳの周知の機能、各プロセスのシステム管理スレッド、及びスナップショット制御部２ａによって実現される。例えば、ＯＳの周知の機能によりスナップショットの取得対象のプロセス及びシステム管理スレッドが生成される。そして、生成されたシステム管理スレッドは、プロセス内システム管理手段により、管理情報に基づいて各スレッド（管理対象のスレッド）を生成する。全てのプロセス及びスレッドが生成された時点において、スナップショット制御部２ａは、各プロセス及びスレッドの状態（具体的には、制御部１００の周辺回路であるＲＡＭ等に展開されているメモリ状態）をスナップショット保持部２ｂに格納する。なお、プロセス内システム管理手段は、任意の順番により各スレッドを生成する。
【０１５２】
この全てのプロセス及びスレッドが生成されたことをスナップショット制御部２ａが認識するために、当該第２の実施形態では、ＭＡＩＮプロセスのシステム管理スレッドが他のプロセス及びスレッドが生成されたことを管理するものとする。この時、例えば、ＭＡＩＮプロセスを除く各プロセスのシステム管理スレッドは、ＭＡＩＮプロセスのシステム管理スレッドに対して、自己のプロセス及び各スレッドが生成されたことを通知する。そして、当該通知に応じて、ＭＡＩＮプロセスのシステム管理スレッドは、スナップショット制御部２ａに対して、スナップショット格納の準備が整ったことを通知する。これにより、スナップショット制御部２ａは、全てのプロセス及びスレッドが生成されたことを認識する。
【０１５３】
§３−２  動作例
次に、第２の実施形態における各スレッドの起動及び停止についての管理方法について、以下の動作例を用いて説明する。図９は、第２の実施形態におけるスナップショットの取得処理手順の一例を示したシーケンスチャートである。図１０は、第２の実施形態における各スレッドの起動処理手順の一例を示したシーケンスチャートである。図１１は、第２の実施形態におけるスレッドの停止処理手順の一例を示したシーケンスチャートである。図１２は、第２の実施形態において、スナップショットが制御部１００の周辺回路であるＲＡＭ等に展開（ロード）される前に、ＡＶＮ一体機１を停止し、その後ＡＶＮ一体機１を起動させた時の処理手順の一例を示したシーケンスチャートである。図１３は、第２の実施形態において、あるスレッドを停止している最中に、ＡＶＮ一体機１を起動した時の処理手順の一例を示したシーケンスチャートである。なお、これらのシーケンスチャートでは、起動要求通知、起動完了通知、停止要求通知、停止完了通知はそれぞれ、起動要求、起動完了、停止要求、停止完了と記載を省略した。
【０１５４】
なお、各システム管理スレッドに含まれるプロセス内システム管理手段が用いる管理情
報は、図８で示される管理情報を前提とする。また、第１の実施形態と同様である各スレッドの起動手順及び停止手順については、説明を簡略化する。
【０１５５】
＜スナップショット取得時＞
最初に、図９に示されるスナップショット取得時の処理手順例について説明する。
【０１５６】
なお、上述のとおり、ＯＳの周知の機能により、ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７、及び、各プロセスのシステム管理スレッド（５ａ、６ａ、７ａ）は生成され、制御部１００の周辺回路であるＲＡＭ等に展開されている。
【０１５７】
図９に示されるとおり、各プロセスのシステム管理スレッドは、例えば、管理情報（５ｂ、６ｂ、７ｂ）に基づいて、自己のプロセス内のスレッドを生成する（Ｓ４０１、Ｓ４０２、Ｓ４０３、Ｓ４０５、Ｓ４０６、Ｓ４０８）。なお、当該動作は、非同期でよい。
【０１５８】
その後、Ｘプロセス６及びＹプロセス７のシステム管理スレッド（６ａ、７ａ）は、ＭＡＩＮプロセス５のシステム管理スレッド５ａに対して、自己のプロセス及び各スレッドが生成されたことを通知する（Ｓ４０７、Ｓ４０９）。
【０１５９】
ＭＡＩＮプロセス５のシステム管理スレッド５ａは、自己の各スレッドの生成を完了し、Ｘプロセス６及びＹプロセス７のシステム管理スレッド（６ａ、７ａ）から当該通知を受信すると、スナップショット制御部２ａに対して、ナップショット格納の準備が整ったことを通知する。スナップショット制御部２ａは、ＭＡＩＮプロセス５のシステム管理スレッド５ａの当該通知により、全てのプロセス及びスレッドが生成されたことを認識し、この時点におけるシステム状態（制御部１００の周辺回路であるＲＡＭ等のメモリ状態）をスナップショットとしてスナップショット保持部２ｂに格納する。
【０１６０】
以上により、第２の実施形態におけるスナップショットが取得される。
【０１６１】
＜スレッドの起動時＞
次に、図１０に示される各スレッドの起動時の処理手順例について説明する。
【０１６２】
まず、ＡＶＮ一体機１の起動により、ＲｅａｄｙＧｕａｒｄ制御部３ａは、ＲｅａｄｙＧｕａｒｄ保持部３ｂに格納されているＲｅａｄｙＧｕａｒｄプロセス４及び当該プロセス内のスレッドを制御部１００の周辺回路であるＲＡＭ等に展開する。そして、ＲｅａｄｙＧｕａｒｄ制御部３ａはＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａを起動する。
【０１６３】
当該起動後、図１０に示されるとおり、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内システム管理手段４ｅは、管理情報４ｂのスレッド優先度に基づいて、各スレッド（４ｃ、４ｄ）の起動を実行する（Ｓ５００〜Ｓ５０３）。例えば、図１０に示されるとおり、システム管理スレッド４ａに含まれるプロセス内システム管理手段４ｅは、管理情報４ｂに基づいて、各スレッド（４ｃ、４ｄ）に対し起動要求通知を送信する（Ｓ５００、Ｓ５０２）。各スレッド（４ｃ、４ｄ）は、起動完了後、システム管理スレッド４ａに対して起動完了通知を返信する（Ｓ５０１、Ｓ５０３）。以下、起動要求通知と起動完了通知の応答については第１の実施形態と同様であるため、記載を省略する。
【０１６４】
ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａは、各スレッド（４ｃ、４ｄ）を起動後、全てのスレッドの起動を完了したことをスナップショット制御部２ａに通知する。スナップショット制御部２ａは、当該通知により、スナップショット保持部２
ｂに格納されているスナップショット（システム状態）を制御部１００の周辺回路であるＲＡＭ等に展開する（Ｓ５０４）。なお、第２の実施形態における当該システム状態は、上述のとおり、ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７、及び、各プロセス内の各スレッドが生成された状態である。
【０１６５】
スナップショットのロードが完了すると、ＭＡＩＮプロセス５のシステム管理スレッド５ａは、ＭＡＩＮプロセス管理スレッド４ｄに対して、準備完了通知を送信する（Ｓ５０５）。
【０１６６】
準備完了通知を受信後、ＲｅａｄｙＧｕａｒｄプロセス４のＭＡＩＮプロセス管理スレッド４ｄに含まれる子プロセス管理手段４ｆは、ＭＡＩＮプロセス５のシステム管理スレッド５ａの起動を実行する（Ｓ５０６、Ｓ５０７）。
【０１６７】
起動したシステム管理スレッド５ａに含まれるプロセス内システム管理手段５ｆは、管理情報５ｂのスレッド優先度に基づいて、各スレッド（５ｃ、５ｄ、５ｅ）の起動を実行する（Ｓ５０８、Ｓ５０９、Ｓ５１７、Ｓ５１８、Ｓ５２４、Ｓ５２５）。
【０１６８】
プロセス内システム管理手段５ｆにより起動されたＸプロセス管理スレッド５ｃに含まれる子プロセス管理手段５ｇは、Ｘプロセス６のシステム管理スレッド６ａからの準備完了通知（Ｓ５１０）に基づいて、Ｘプロセス６のシステム管理スレッド６ａの起動を実行する（Ｓ５１１、Ｓ５１２）。
【０１６９】
子プロセス管理手段５ｇにより起動されたＸプロセス６のシステム管理スレッド６ａは、管理情報６ｂのスレッド優先度に基づいて、各スレッド（６ｃ、６ｄ）の起動を実行する（Ｓ５１３〜Ｓ５１６）。
【０１７０】
また、プロセス内システム管理手段５ｆにより起動されたＹプロセス管理スレッド５ｄに含まれる子プロセス管理手段５ｈは、Ｙプロセス７のシステム管理スレッド７ａからの準備完了通知（Ｓ５１９）に基づいて、Ｙプロセス７のシステム管理スレッド７ａの起動を実行する（Ｓ５２０、Ｓ５２１）。
【０１７１】
子プロセス管理手段５ｈにより起動されたＹプロセス７のシステム管理スレッド７ａは、管理情報７ｂのスレッド優先度に基づいて、Ｄ制御スレッド７ｃの起動を実行する（Ｓ５２２、Ｓ５２３）。
【０１７２】
以上により、存在する全てのプロセス及びスレッドの起動が完了する。
【０１７３】
＜スレッドの停止時＞
次に、図１１に示される各スレッドの停止時の処理手順例について説明する。
【０１７４】
第１の実施形態と同様、上記＜スレッドの起動時＞の処理の後、各プロセス及び各スレッドが起動しているものとする。
【０１７５】
例えば、ユーザのＡＶＮ一体機１に対するアクセサリ電源オフの操作により、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａは、ＲｅａｄｙＧｕａｒｄプロセス４の停止を開始する。
【０１７６】
このＲｅａｄｙＧｕａｒｄプロセス制御部３ａの動作に応じて、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、各スレッド（４ｃ、４ｄ）の停止を開始する。
【０１７７】
まず、プロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、ＰＬＡＴＦＲＯＭ制御スレッド４ｃの停止を実行する（Ｓ６０１、Ｓ６０２）。
【０１７８】
次に、プロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、ＭＡＩＮプロセス管理スレッド４ｄの停止を実行する（Ｓ６０３〜Ｓ６２２）。
【０１７９】
このＭＡＩＮプロセス管理スレッド４ｄの停止は、プロセス内スレッド管理手段４ｅからの停止要求通知により開始される（Ｓ６０３）。そして、当該停止要求通知により、ＭＡＩＮプロセス管理スレッド４ｄの子プロセス管理手段４ｆは、自身が管理しているＭＡＩＮプロセス５のシステム管理スレッド５ａに停止要求通知を送信し、当該プロセス及びスレッドの停止を開始する（Ｓ６０４）。
【０１８０】
子プロセス管理手段４ｆから停止要求通知を受信すると、システム管理スレッド５ａのプロセス内スレッド管理手段５ｆは、管理情報５ｂのスレッド属性に基づいて、各スレッド（５ｃ、５ｄ、５ｅ）の停止を実行する（Ｓ６０５〜Ｓ６２０）。
【０１８１】
まず、プロセス内スレッド管理手段５ｆは、管理情報５ｂのスレッド属性に基づいて、Ｘプロセス管理スレッド５ｃの停止を実行する（Ｓ６０５〜Ｓ６１２）。
【０１８２】
プロセス内スレッド管理手段５ｆは、Ｘプロセス管理スレッド５ｃに対して停止要求通知を送信する（Ｓ６０５）。当該停止要求通知を受信すると、Ｘプロセス管理スレッド５ｃの子プロセス管理手段５ｇは、Ｘプロセス６のシステム管理スレッド６ａに対して停止要求通知を送信する（Ｓ６０６）。
【０１８３】
Ｘプロセス６のシステム管理スレッド６ａ（プロセス内スレッド管理手段６ｅ）は、子プロセス管理手段５ｇからの停止要求通知により、管理情報６ｂに基づいて、自己が管理する各スレッド（６ｃ、６ｄ）の停止を実行する（Ｓ６０７〜Ｓ６１０）。各スレッド（６ｃ、６ｄ）の停止、システム管理スレッド６ａの停止、及びＸプロセス６の停止が完了すると、システム管理スレッド６ａは、Ｘプロセス管理スレッド５ｃに対して停止完了通知を返信する（Ｓ６１１）。
【０１８４】
Ｘプロセス管理スレッド５ｃは、システム管理スレッド６ａより停止完了通知を受信すると、自身を停止し、システム管理スレッド５ａに対して停止完了通知を返信する（Ｓ６１２）。
【０１８５】
以上により、プロセス内スレッド管理手段５ｆは、管理情報５ｂのスレッド属性に基づいた、Ｘプロセス管理スレッド５ｃの停止を完了する（Ｓ６０５〜Ｓ６１２）。
【０１８６】
次に、プロセス内スレッド管理手段５ｆは、管理情報５ｂのスレッド属性に基づいて、Ｙプロセス管理スレッド５ｄの停止を実行する（Ｓ６１３〜Ｓ６１８）。
【０１８７】
プロセス内スレッド管理手段５ｆは、Ｙプロセス管理スレッド５ｄに対して停止要求通知を送信する（Ｓ６１３）。当該停止要求通知を受信すると、Ｙプロセス管理スレッド５ｄの子プロセス管理手段５ｈは、Ｙプロセス７のシステム管理スレッド７ａに対して停止要求通知を送信する（Ｓ６１４）。
【０１８８】
Ｙプロセス７のシステム管理スレッド７ａ（プロセス内スレッド管理手段７ｄ）は、子プロセス管理手段５ｈからの停止要求通知により、管理情報７ｂに基づいて、自己が管理するD制御スレッド７ｃの停止を実行する（Ｓ６１５、Ｓ６１６）。D制御スレッド７ｃの
停止、システム管理スレッド７ａの停止、及びＹプロセス７の停止が完了すると、システム管理スレッド７ａは、Ｙプロセス管理スレッド５ｄに対して停止完了通知を返信する（Ｓ６１７）。
【０１８９】
Ｙプロセス管理スレッド５ｄは、システム管理スレッド７ａより停止完了通知を受信すると、自身を停止し、システム管理スレッド５ａに対して停止完了通知を返信する（Ｓ６１８）。
【０１９０】
以上により、プロセス内スレッド管理手段５ｆは、管理情報５ｂのスレッド属性に基づいた、Ｙプロセス管理スレッド５ｄの停止を完了する（Ｓ６１３〜Ｓ６１８）。
【０１９１】
最後に、プロセス内スレッド管理手段５ｆは、管理情報５ｂのスレッド属性に基づいて、Ａ制御スレッド５ｅの停止を実行する（Ｓ６１９〜Ｓ６２０）。
【０１９２】
各スレッドの停止（５ｃ、５ｄ、５ｅ）を完了すると、システム管理スレッド５ａは、自身及びＭＡＩＮプロセス５を停止し、ＭＡＩＮプロセス管理スレッド４ｄに対して停止完了通知を返信する（Ｓ６２１）。
【０１９３】
ＭＡＩＮプロセス管理スレッド４ｄは、システム管理スレッド５ａより停止完了通知を受信すると、自身を停止し、システム管理スレッド４ａに対して停止完了通知を返信する（Ｓ６２２）。
【０１９４】
以上により、プロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいた、ＭＡＩＮプロセス管理スレッド４ｄの停止を完了する（Ｓ６０３〜Ｓ６２２）。この後、システム管理スレッド４ａは自身及びＲｅａｄｙＧｕａｒｄプロセス４を停止する。
【０１９５】
これより、存在する全てのプロセス及びスレッドの停止が完了する。
【０１９６】
＜起動後、停止し、更に起動させた時＞
次に、図１２に示される、スナップショットがロードされる前に、ＡＶＮ一体機１を停止し、その後ＡＶＮ一体機１を起動させた時の処理手順例について説明する。
【０１９７】
まず、上記＜スレッドの起動時＞と同様、ユーザによるＡＶＮ一体機１の起動（例えば、アクセサリ電源のオン）により、ＲｅａｄｙＧｕａｒｄ制御部３ａは、ＲｅａｄｙＧｕａｒｄ保持部３ｂに格納されているＲｅａｄｙＧｕａｒｄプロセス４及び当該プロセス内のスレッドを制御部１００の周辺回路であるＲＡＭ等に展開する。そして、ＲｅａｄｙＧｕａｒｄ制御部３ａはＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａを起動する。
【０１９８】
当該起動後、図１２に示されるとおり、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内システム管理手段４ｅは、管理情報４ｂのスレッド優先度に基づいて、各スレッド（４ｃ、４ｄ）の起動を実行する（Ｓ７００〜Ｓ７０３）。
【０１９９】
ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａは、各スレッド（４ｃ、４ｄ）を起動後、全てのスレッドの起動を完了したことをスナップショット制御部２ａに通知する。スナップショット制御部２ａは、当該通知により、スナップショット保持部２ｂに格納されているスナップショット（システム状態）を制御部１００の周辺回路であるＲＡＭ等に展開する（Ｓ７０４）。なお、第２の実施形態における当該システム状態は、
上述のとおり、ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７、及び、各プロセス内の各スレッドが生成された状態である。
【０２００】
この時点において、ユーザがＡＶＮ一体機１のアクセサリ電源をオフ（ＡＣＣ−ＯＦＦ）にしたとする（Ｓ７０５）。
【０２０１】
当該アクセサリ電源のオフに応じて、ＲｅａｄｙＧｕａｒｄ制御部３ａは、ＲｅａｄｙＧｕａｒｄプロセス４の停止を開始する。このＲｅａｄｙＧｕａｒｄ制御部３ａの動作に応じて、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、各スレッド（４ｃ、４ｄ）の停止を開始する。
【０２０２】
まず、プロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、ＰＬＡＴＦＲＯＭ制御スレッド４ｃの停止を実行する（Ｓ７０６、Ｓ７０７）。
【０２０３】
次に、プロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、ＭＡＩＮプロセス管理スレッド４ｄの停止を実行する（Ｓ７０８〜Ｓ７１０）。
【０２０４】
プロセス内スレッド管理手段４ｅは、ＭＡＩＮプロセス管理スレッド４ｄに対して停止要求通知を送信する（Ｓ７０８）。
【０２０５】
プロセス内スレッド管理手段４ｅから停止要求通知を受信すると、ＭＡＩＮプロセス管理スレッド４ｄの子プロセス管理手段４ｆは、子プロセスであるＭＡＩＮプロセス５の停止を実行する。ただし、スナップショットが制御部１００の周辺回路であるＲＡＭ等に展開されるまで、停止の対象が当該ＲＡＭ等に存在しないこととなる。この場合、子プロセス管理手段４ｆは、システム管理スレッド５ａからの準備完了通知を待って（Ｓ７０９）、停止の対象であるＭＡＩＮプロセス５の停止を実行する。なお、この場合、ＭＡＩＮプロセス５は、制御部１００の周辺回路であるＲＡＭ等に展開されたのみであり、起動していないため、子プロセス管理手段４ｆは何も動作しない。
【０２０６】
その後、ＭＡＩＮプロセス管理スレッド４ｄは、システム管理スレッド４ａに対して停止完了通知を返信する（Ｓ７１０）。
【０２０７】
この時点において、ユーザがＡＶＮ一体機１のアクセサリ電源を再度オン（ＡＣＣ−ＯＮ）にしたとする（Ｓ７１１）。
【０２０８】
制御部１００の周辺回路であるＲＡＭ等には、既にＲｅａｄｙＧｕａｒｄプロセス４及び当該プロセス内のスレッドが停止状態で展開されているため、ＲｅａｄｙＧｕａｒｄ制御部３ａは、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａを起動する。
【０２０９】
当該起動後、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内システム管理手段４ｅは、管理情報４ｂのスレッド優先度に基づいて、各スレッド（４ｃ、４ｄ）の起動を実行する（Ｓ７１２〜Ｓ７１５）。上述と同様である。
【０２１０】
また、この時点において既にスナップショットはロードされており、準備完了通知は既に受信しているため（Ｓ７０９）、ＲｅａｄｙＧｕａｒｄプロセス４のＭＡＩＮプロセス管理スレッド４ｄに含まれる子プロセス管理手段４ｆは、ＭＡＩＮプロセス５のシステム管理スレッド５ａの起動を実行する（Ｓ７１６、Ｓ７１７）。
【０２１１】
これ以降の各スレッドの起動については、図１０におけるＳ５０８以降の処理と同様で
ある。これらの処理により、各プロセス及び各スレッドの起動が完了する。
【０２１２】
＜スレッド停止中に起動させた時＞
最後に、図１３に示される、あるスレッド（システム管理スレッド６ａ）を停止している最中に、ＡＶＮ一体機１を起動させた時の処理手順例について説明する。
【０２１３】
例えば、ユーザのＡＶＮ一体機１に対するアクセサリ電源オフの操作により、ＲｅａｄｙＧｕａｒｄプロセス制御部３ａは、ＲｅａｄｙＧｕａｒｄプロセス４の停止を開始する。
【０２１４】
このＲｅａｄｙＧｕａｒｄプロセス制御部３ａの動作に応じて、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内スレッド管理手段４ｅは、管理情報４ｂのスレッド属性に基づいて、各スレッド（４ｃ、４ｄ）の停止を開始する。
【０２１５】
ここで、プロセス内スレッド管理手段４ｅがＰＬＡＴＦＲＯＭ制御スレッド４ｃの停止を実行してから、プロセス内スレッド管理手段６ｅがＢ制御スレッド６ｃの停止を完了するまでの処理（Ｓ８０１〜Ｓ８０８）までの処理については、図１１におけるＳ６０１〜Ｓ６０８までの処理と同様である。
【０２１６】
この時点において、ユーザがＡＶＮ一体機１のアクセサリ電源をオン（ＡＣＣ−ＯＮ）にしたとする（Ｓ８０９）。
【０２１７】
制御部１００の周辺回路であるＲＡＭ等には、既にＲｅａｄｙＧｕａｒｄプロセス４及び当該プロセス内のスレッドが停止状態で展開されているため、ＲｅａｄｙＧｕａｒｄ制御部３ａは、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａを起動する。
【０２１８】
当該起動後、ＲｅａｄｙＧｕａｒｄプロセス４のシステム管理スレッド４ａに含まれるプロセス内システム管理手段４ｅは、管理情報４ｂのスレッド優先度に基づいて、各スレッド（４ｃ、４ｄ）の起動を実行する（Ｓ８１０〜Ｓ８１３）。
【０２１９】
なお、この時点において各プロセス（ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７）の停止は完了していない。このため、当該各プロセス及び当該各プロセス内の各スレッドは、既に制御部１００の周辺回路であるＲＡＭ等に展開された状態となっている。したがって、ＲｅａｄｙＧｕａｒｄプロセス４のＭＡＩＮプロセス管理スレッド４ｄに含まれる子プロセス管理手段４ｆは、ＭＡＩＮプロセス５のシステム管理スレッド５ａの起動を実行する（Ｓ８１４、Ｓ８１５）。
【０２２０】
ＭＡＩＮプロセス５のシステム管理スレッド５ａは起動すると、管理情報５ｂに基づき、プロセス内スレッド管理手段５ｆによるＸプロセス管理スレッド５ｃの起動を実行しようとする。この時、Ｘプロセス管理スレッド５ｃに対する先行する停止命令が完了していないため、プロセス内スレッド管理手段５ｆは、上記ハンドシェイクを行うため、当該先行する停止命令の完了を待つ。
【０２２１】
この時、Ｘプロセス６内においては、引き続き停止命令が実行されている（Ｓ８１６、Ｓ８１７）。システム管理スレッド６ａのプロセス内スレッド管理手段６ｅが各スレッド（６ｃ、６ｄ）の停止を完了すると、システム管理スレッド６ａは、Ｘプロセス管理スレッド５ｃに対して、停止完了通知を返信する（Ｓ８１８）。Ｘプロセス管理スレッド５ｃは、システム管理スレッド６ａより停止完了通知を受信すると、システム管理スレッド５ａに対して、停止完了通知を返信する（Ｓ８１９）。これにより、上記先行する停止命令が完了する。
【０２２２】
システム管理スレッド５ａのプロセス内スレッド管理手段５ｆは、上記先行する停止命令が完了すると、管理情報５ｂのスレッド優先度に基づいて、Ｘプロセス管理スレッド５ｃの起動を実行する（Ｓ８２０、Ｓ８２１）。
【０２２３】
なお、Ｘプロセス管理スレッド５ｃの起動関連の処理（Ｓ８２０〜Ｓ８２７）は、図１０におけるＳ５０８〜Ｓ５１６からＳ５１０の処理を省略した処理と同様である。上述のとおり、各プロセス（ＭＡＩＮプロセス５、Ｘプロセス６、Ｙプロセス７）及び各プロセス内の各スレッドは既に制御部１００の周辺回路であるＲＡＭ等に展開された状態となっているため、Ｓ５１０の処理（システム管理スレッド６ａからＸプロセス管理スレッド５ｃへの準備完了通知）は省略される。
【０２２４】
以上により、存在する全てのプロセス及びスレッドの起動が完了する。
【０２２５】
§３−３  第２の実施形態の作用及び効果
以上によれば、第２の実施形態は、少なくとも上記第１の実施形態と同様の作用及び効果を得ることができる。
【０２２６】
すなわち、第２の実施形態におけるスレッドの起動及び停止の管理は、プロセス内においては、当該プロセス内に設けられたシステム管理スレッドのプロセス内スレッド管理手段（４ｅ、５ｆ、６ｅ、７ｄ）によって行われる。また、プロセス内のスレッドの起動及び停止の管理を行うシステム管理スレッドの起動及び停止の管理は、親プロセスの子プロセス管理手段（４ｆ、５ｇ、５ｈ）によって行われる。
【０２２７】
これによって、第２の実施形態においては、プロセス内のスレッドの起動及び停止の管理は、従来のタスクによる制御方法におけるシンプルな方法でのシステム設計及び構築と同様の方法によって行うことができる。したがって、第２の実施形態は、シンプルなシステムの設計及び構築を可能とする。
【０２２８】
また、第２の実施形態において、プロセス間通信は、子プロセス管理手段を含む子プロセス管理スレッド（４ｄ、５ｃ、５ｄ）とシステム管理スレッド（５ａ、６ａ、７ａ）の間で行われる通信に限られる。したがって、第２の実施形態は、各スレッドの起動及び停止を管理する際に発生するプロセス間通信を極力抑えることができる。
【０２２９】
また、システム管理スレッドのプロセス内スレッド管理手段（４ｅ、５ｆ、６ｅ、７ｄ）によって行われるプロセス内のスレッドの起動及び停止の管理方法は、当該システム管理スレッドを備えるプロセスで同一である。したがって、第１の実施形態は、当該システム管理スレッドを各プロセスに備えることで、各プロセス内のスレッドの管理手法を同一にすることができる。
【０２３０】
また、第２の実施形態は、第１の実施形態とは異なり、装置（ＡＶＮ一体機１）の起動及び停止に基づいて、上記プロセス及びスレッドの起動及び停止を実行する。これによって、第２の実施形態は、装置の動作に応じたプロセス及びスレッドの管理を行うことができる。
【０２３１】
また、第２の実施形態は、第１の実施形態とは異なり、装置内で実行される全てのプロセスはツリー構造を形成しているため、上記管理の対象となる。これによって、装置内で実行される全てのプロセスに対して、上述までの効果を得ることができる。
【０２３２】
§４  補足
以上、本発明の実施形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈される。また、当業者は、上記本実施形態の記載から、特許請求の範囲の記載および技術常識に基づいて等価な範囲を実施することができる。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられる。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解される意味と同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【０２３３】
なお、以上までの説明において、本発明に係る情報処理装置の一実施形態について説明したが、本発明に係る情報処理方法の一実施形態についても同様に説明することができる。つまり、上記情報処理装置の各処理を各ステップとする手順が本発明に係る情報処理方法の一実施形態である。
【符号の説明】
【０２３４】
１  ＡＶＮ一体機
２ａ  スナップショット制御部
２ｂ  スナップショット保持部
３ａ  ＲｅａｄｙＧｕａｒｄプロセス制御部
３ｂ  ＲｅａｄｙＧｕａｒｄプロセス保持部
４  ＲｅａｄｙＧｕａｒｄプロセス
４ａ  Ｒシステム管理スレッド
４ｂ  管理情報
４ｃ  ＰＬＡＴＦＯＲＭ制御スレッド
４ｄ  ＭＡＩＮプロセス管理スレッド
４ｅ  プロセス内スレッド管理手段
４ｆ  子プロセス管理手段
５  ＭＡＩＮプロセス
５ａ  Ｍシステム管理スレッド
５ｂ  管理情報
５ｃ  Ｙプロセス管理スレッド
５ｄ  Ｚプロセス管理スレッド
５ｅ  Ａ制御スレッド
５ｆ  プロセス内スレッド管理手段
５ｇ  子プロセス管理手段
６  Ｘプロセス
６ａ  Ｘシステム管理スレッド
６ｂ  管理情報
６ｃ  Ｂ制御スレッド
６ｄ  Ｃ制御スレッド
６ｅ  プロセス内スレッド管理手段
７  Ｙプロセス
７ａ  Ｙシステム管理スレッド
７ｂ  管理情報
７ｃ  Ｄ制御
７ｄ  プロセス内スレッド管理手段
５０  親プロセス
５０ａ  システム管理スレッド
５０ｂ  管理情報
５０ｃ  スレッドＡ
５０ｄ  子プロセス管理スレッド
５０ｅ  プロセス内スレッド管理手段
５０ｆ  子プロセス管理手段
５１  子プロセス
５１ａ  システム管理スレッド
５１ｂ  管理情報
５１ｃ  スレッドＢ
５１ｄ  子プロセス管理スレッド
５１ｅ  プロセス内スレッド管理手段
５１ｆ  子プロセス管理手段
１００  制御部
１０１  外部記憶媒体再生部
１０２  ラジオ受信部
１０３  ＴＶ受信部
１０４  ディスク再生部
１０５  ＨＤ再生部
１０６  ナビゲーション部
１０７  分配回路
１０８  画像調整回路
１０９  音声調整回路
１１０  画像出力部
１１１  ＶＩＣＳ情報受信部
１１２  ＧＰＳ情報受信部
１１３  セレクタ
１１４  操作部
１１５  リモコン送受信部
１１６  リモコン
１１７  メモリ
１１８  外部音声／映像入力部
１１９  カメラ
１２０  ＥＴＣ車載
１２１  通信ユニット
１２２  表示部
１２３  スピーカ
２００  バックライト
２０１  液晶パネル
２０２  タッチパネル
【図１】
0005566832.tif 000002
【図２】
0005566832.tif 000003
【図３】
0005566832.tif 000004
【図４】
0005566832.tif 000005
【図５】
0005566832.tif 000006
【図６】
0005566832.tif 000007
【図７】
0005566832.tif 000008
【図８】
0005566832.tif 000009
【図９】
0005566832.tif 000010
【図１０】
0005566832.tif 000011
【図１１】
0005566832.tif 000012
【図１２】
0005566832.tif 000013
【図１３】
0005566832.tif 000014
【図１４】
0005566832.tif 000015
【図１５】
0005566832.tif 000016
【図１６】
0005566832.tif 000017