(57)【要約】【課題】  各オペレーティングシステムにて管理されるタスクの実行履歴を、同一の時間座標で記録することが可能なコンピュータシステムを提供すること。【解決手段】  コンピュータシステムは、各オペレーティングシステム（リアルタイムＯＳ４０及びマルチメディアＯＳ５０）に、ＣＰＵが備えるハードウェア構成のフリーランカウンタの値に基づいて、自システムの管理下で、ＣＰＵにより実行されるタスクの実行履歴情報を生成し、これをＲＡＭに記録するログ記録部を備える。ログ記録部は、ディスパッチが発生すると（Ｓ１１０でＹｅｓ）、フリーランカウンタからカウンタ値を取得し（Ｓ１３０）、これと、ディスパッチの対象となったタスクのＩＤと、からなる実行履歴情報を作成して（Ｓ１４０）、ＲＡＭに記録する（Ｓ１５０）。【選択図】  図３
2005352669.tif 000002
【特許請求の範囲】
【請求項１】
複数のオペレーティングシステムを備え、これら複数のオペレーティングシステムにより運営されるコンピュータシステムであって、
前記複数のオペレーティングシステムが組み込まれるプロセッサには、ハードウェア構成のフリーランカウンタが設けられており、
前記各オペレーティングシステムは、
前記プロセッサにより実行される自システム管理下のタスクの実行時刻を表す実行履歴情報を、前記プロセッサが備えるフリーランカウンタの値に基づいて生成し、これを記録媒体に記録するログ記録手段、
を備えることを特徴とするコンピュータシステム。
【請求項２】
前記各オペレーティングシステムが備えるログ記録手段により生成される前記実行履歴情報は、タスクの識別情報と、タスク実行時の前記フリーランカウンタの値と、からなることを特徴とする請求項１記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のオペレーティングシステムにより運営されるコンピュータシステムに関する。
【背景技術】
【０００２】
従来より、オペレーティングシステム（ＯＳ）としては、Ｗｉｎｄｏｗｓ（登録商標）シリーズやＬｉｎｕｘ等の汎用ＯＳ、組込みシステムに使用される時間管理に優れたリアルタイムＯＳ等が知られている。
【０００３】
リアルタイムＯＳとしては、ＩＴＲＯＮ仕様のリアルタイムＯＳが周知である。ＩＴＲＯＮ仕様のリアルタイムＯＳは、公開されたソースコード等に基づいて、比較的簡単に開発することができるため、ディジタル家電等、種々の電子機器のオペレーティングシステムとして採用されている。
【０００４】
しかしながら、既存のリアルタイムＯＳは、時間管理に特化したものであり、目的に応じて適宜開発される比較的小規模なオペレーティングシステムである。従って、アプリケーションプログラムの開発環境が豊富ではなく、大規模なソフトウェア開発を行う場合には、効率が悪い。
【０００５】
このため、上述したような電子機器においては、リアルタイムＯＳと共に、開発環境に優れたＷｉｎｄｏｗｓ（登録商標）シリーズなどの汎用ＯＳを搭載し、リアルタイムＯＳ下で、高度な時間管理を要する処理を実行させ、Ｗｉｎｄｏｗｓ（登録商標）シリーズなどの汎用ＯＳ下で、マルチメディア関連の機能や、通信機能等を実現することが考えられている。
【０００６】
ところで、オペレーティングシステムには、通常、ソフトウェア構成の内部時計が設けられている（例えば、特許文献１参照）。このソフトウェア構成の内部時計は、オペレーティングシステムの稼動時に動作し、時間をカウントする構成にされており、タスクの時間管理を行う際や、プロセッサの利用状況・タスクの実行履歴等を記録する際などに用いられる。尚、内部時計を用いて記録されるタスクの実行履歴等は、機器の動作を確認する際や、システムの最適化を図る際などに用いられる。
【特許文献１】特開２００１−１６６９５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、複数のオペレーティングシステムにて運営される電子機器では、一のオペレーティングシステムの動作時に、他のオペレーティングシステムの動作が停止され、これと同時に、内部時計の動作が停止する。
【０００８】
即ち、オペレーティングシステムと共に動作するソフトウェア構成の内部時計では、オペレーティングシステムの停止と共に、時刻のカウント動作が停止するため、このような機器では、各オペレーティングシステムの内部時計の夫々が、他のオペレーティングシステムとは異なる時刻を示すことになる。
【０００９】
従って、ソフトウェア構成の内部時計を用いて各オペレーティングシステム下でタスクの実行履歴等を記録すると、その記録内容が、各オペレーティングシステム毎に、異なる時間軸で表されてしまうのである。
【００１０】
このため、複数のオペレーティングシステムにて運営される機器では、従来の手法で、タスクの実行履歴等を記録しても、各オペレーティングシステムでのタスクの切替態様、実行時刻等を把握する程度しかできず、各オペレーティングシステムで動作するタスク間の切替、連携等の態様を総合的に把握することができないといった問題があった。
【００１１】
本発明は、こうした問題に鑑みなされたものであり、タスクの実行履歴等を、複数のオペレーティングシステムにて、同一の時間座標（時間軸）で、記録することが可能なコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
かかる目的を達成するためになされた請求項１記載の発明は、複数のオペレーティングシステムにより運営されるコンピュータシステムであって、各オペレーティングシステムに、プロセッサが備えるハードウェア構成のフリーランカウンタの値に基づいてタスクの実行履歴情報を生成し、これを記録媒体に記録するログ記録手段を設けたものである。
【００１３】
ログ記録手段は、自システム（自身が所属するオペレーティングシステム）の管理下で、プロセッサにより実行されるタスクの実行時刻を表す情報を、上記実行履歴情報として記録媒体（半導体製メモリ等）に書き込む。
【００１４】
このコンピュータシステムによれば、ログ記録手段が、ソフトウェア構成の内部時計ではなく、ハードウェア構成のフリーランカウンタの値に基づいて、タスクの実行履歴情報を記録媒体に書き込むため、各オペレーティングシステムの実行履歴情報は、オペレーティングシステムの種類に関係なく、同一の時間軸で表される。
【００１５】
従って、本発明によれば、各オペレーティングシステムの実行履歴情報に基づき、一のオペレーティングシステムにより管理されるタスクと、他のオペレーティングシステムにより管理されるタスクとの連携態様や、各オペレーティングシステムにて管理されるタスクの実行時間・実行タイミング等、当該コンピュータシステム全体の動作を、総合的に把握することができる。
【００１６】
よって、本発明によれば、複数のオペレーティングシステムにより運営される電子機器を開発する際に、各タスクの動作確認や、システム全体の動作確認、システムの最適化を効率よく行うことができ、製品の開発効率を高めることができる。
【００１７】
尚、実行履歴情報は、タスクの識別情報と、タスク実行時のフリーランカウンタの値と、からなる構成にされるとよい。このように構成された請求項２記載のコンピュータシステムによれば、実行履歴情報にて、各タスクの実行時刻を容易に把握することができ、当該コンピュータシステムで実行される処理の時間的な流れを、総合的且つ容易に把握することができる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施例について、図面とともに説明する。図１は、本発明が適用されたカーナビゲーション装置１の構成を表すブロック図である。
図１に示すように、本実施例のカーナビゲーション装置１は、液晶ディスプレイ等からなる表示装置１１と、現在地の位置座標を算出するＧＰＳ受信機等からなる位置検出装置１３と、各種キースイッチからなり利用者の操作情報を制御装置２０に入力する入力装置１５と、地図データ等を記憶するハードディスク装置（ＨＤＤ）１６と、外部通信機器と無線通信可能な通信装置１７と、各種メディア（コンパクトディスク等）に記録されたオーディオデータを再生するオーディオ装置１９と、これら各ハードウェア１１〜１９を統括制御する制御装置２０と、を備える。
【００１９】
制御装置２０は、各種演算処理を行うＣＰＵ２１と、プログラム等を記憶するＲＯＭ２３と、ＣＰＵ２１によるプログラム実行時に各種データを記憶するＲＡＭ２５とを備える。ＣＰＵ２１には、一定周期でカウンタ値を更新するハードウェア構成のフリーランカウンタ２２が搭載されており、ＲＯＭ２３には、カーナビゲーション装置１の運営に必要な基本ソフトウェアとして、複数のマルチタスクＯＳ（オペレーティングシステム）が格納されている。
【００２０】
この制御装置２０は、カーナビゲーション装置１の起動時に、ＲＯＭ２３に格納された上記マルチタスクＯＳ等の基本ソフトウェアを読出し、これをＣＰＵ２１にて実行することにより、図２に示す構成のコンピュータシステム３０を、当該制御装置２０内に構築し、カーナビゲーション装置１各部を統括制御（運営）する。
【００２１】
図２に示すように、本実施例のコンピュータシステム３０は、リアルタイムＯＳ４０と、マルチメディアＯＳ５０と、を備える。ＲＯＭ２３には、上記マルチタスクＯＳとして、ＩＴＲＯＮ仕様のリアルタイムＯＳ４０と、マルチメディア関連の機能に優れた汎用ＯＳ(マルチメディアＯＳ)５０とが格納されており、ＣＰＵ２１は、カーナビゲーション装置１の起動時に、このリアルタイムＯＳ４０を実行し、リアルタイムＯＳ４０の下で、マルチメディアＯＳ５０を実行する。尚、マルチメディアＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）ＣＥ等が挙げられる。
【００２２】
リアルタイムＯＳ４０は、当該リアルタイムＯＳ４０下で作成された複数のタスクを、各タスクに設定されたプライオリティに従って管理するスケジューラ４１と、実行準備状態（ＲＥＡＤＹ状態）にある自身管理下のタスクを、プライオリティの高い順に記憶するレディキュー４３と、を備える。
【００２３】
スケジューラ４１は、ＩＴＲＯＮ仕様にされており、各タスクに設定されたプライオリティに従って、レディキュー４３を構成し、スケジューリングを行う。即ち、実行準備状態（ＲＥＡＤＹ状態）にあるタスクを、プライオリティの高い順に配列して待ち行列を作る。そして、レディキュー４３の先頭に位置する最もプライオリティの高いタスクを、実行準備状態（ＲＥＡＤＹ状態）から実行状態（ＲＵＮ状態）に遷移させ、ＣＰＵ２１に、そのタスクを実行させる（即ち、ディスパッチする）。
【００２４】
また、スケジューラ４１は、ログ記録部４５を備え、ディスパッチ時に、このログ記録部４５にて、ディスパッチされたタスクの識別情報としてのタスクＩＤを、フリーランカウンタ２２の値と共に、そのタスクの実行履歴情報２５ａとしてＲＡＭ２５に書き込む（詳細後述）。その他、このコンピュータシステム３０のマルチメディアＯＳ５０は、当該リアルタイムＯＳ４０の起動時に、一つのタスクとして、レディキュー４３に登録され、スケジューラ４１により実行権が付与された際、ＣＰＵ２１により実行される。
【００２５】
マルチメディアＯＳ５０は、リアルタイムＯＳ４０と同様に、当該マルチメディアＯＳ５０下で作成された複数のタスクを管理するスケジューラ５１と、実行準備状態（ＲＥＡＤＹ状態）にある自身管理下のタスクについての待ち行列を形成するレディキュー５３と、を備え、スケジューラ５１にて、実行準備状態（ＲＥＡＤＹ状態）にある自身管理下のタスクについてのスケジューリングを行う。
【００２６】
このスケジューラ５１は、レディキュー５３の先頭に位置するタスクを、実行準備状態（ＲＥＡＤＹ状態）から実行状態（ＲＵＮ状態）に遷移させ、ＣＰＵ２１に、そのタスクを実行させる（即ち、ディスパッチする）。その他、スケジューラ５１は、ディスパッチ時に、ディスパッチされたタスクの識別情報としてのタスクＩＤを、フリーランカウンタ２２の値と共に、そのタスクの実行履歴情報２５ｂとしてＲＡＭ２５に記録するログ記録部５５を備える。
【００２７】
図３は、ログ記録部４５及びログ記録部５５が繰り返し実行するログ記録処理を表すフローチャートであり、図４は、ログ記録処理にて、ＲＡＭ２５に記録される実行履歴情報２５ａ，２５ｂの構成を表す説明図である。
【００２８】
図３に示すように、ログ記録部４５，５５は、スケジューラ４１，５１によりディスパッチが発生し、ＣＰＵ２１にて実行される自システム（ログ記録部４５ではリアルタイムＯＳ４０、ログ記録部５５ではマルチメディアＯＳ５０）管理下のタスクが切り替わると（Ｓ１１０でＹｅｓ）、ディスパッチの対象となったタスクのタスクＩＤを識別する（Ｓ１２０）。尚、ここでいうタスクＩＤとは、タスク生成時に、そのタスクに対してユニークに割り当てられる周知のＩＤのことである。
【００２９】
この後、ログ記録部４５，５５は、フリーランカウンタ２２から、フリーランカウンタ２２が示すカウンタ値を取得する（Ｓ１３０）。そして、ディスパッチの対象となったタスクのＩＤ（タスクＩＤ）と、フリーランカウンタ２２から取得したカウンタ値と、その他の図示しないタスクの状態に関わる情報（スタック位置など）と、からなる実行履歴情報２５ａ，２５ｂを作成し（Ｓ１４０）、これをＲＡＭ２５に書き込む（Ｓ１５０）。
【００３０】
尚、ログ記録部４５にて作成された実行履歴情報２５ａ、及び、ログ記録部５５にて作成された実行履歴情報２５ｂは、ＲＡＭ２５において、夫々分けて記憶される。また、実行履歴情報２５ａ，２５ｂの書込は、既にＲＡＭ２５に書き込まれた実行履歴情報２５ａ，２５ｂを上書きしないように行われる。Ｓ１５０での処理後、ログ記録部４５，５５は、ログ記録処理を一旦終了し、次のディスパッチが発生するまで待機する（Ｓ１１０）。
【００３１】
以上の手順により、各オペレーティングシステム（リアルタイムＯＳ４０及びマルチメディアＯＳ５０）の管理下でＣＰＵ２１により実行されるタスクの実行履歴情報２５ａ，２５ｂは、ＲＡＭ２５に書き込まれる。また、ＲＡＭ２５に記録されたタスクの実行履歴情報は、適宜、ハードディスク装置１６に保存され、又、表示プログラムを介して、表示装置１１に表示される。
【００３２】
以上、本実施例のコンピュータシステム３０について説明したが、本実施例では、ＣＰＵ２１に組み込まれる各オペレーティングシステム（リアルタイムＯＳ４０及びマルチメディアＯＳ５０）に、自システムで管理するタスクがディスパッチされると（Ｓ１１０でＹｅｓ）、そのディスパッチによりＣＰＵ２１にて実行されるタスクの実行時刻を表す情報として、ＣＰＵ２１が備えるハードウェア構成のフリーランカウンタ２２からカウンタ値を取得し（Ｓ１３０）、これに基づいてタスクの実行履歴情報２５ａ，２５ｂを生成し（Ｓ１４０）、これをＲＡＭ２５に記録（Ｓ１５０）するログ記録部４５，５５を設け、各タスクの実行履歴情報２５ａ，２５ｂを、オペレーティングシステムの種類に関係なく、同一の時間座標で表し記録できるようにした。
【００３３】
従って、本実施例のコンピュータシステム３０によれば、リアルタイムＯＳ４０の下でＣＰＵ２１により実行されたタスクの実行履歴情報２５ａ、及び、マルチメディアＯＳ５０の下でＣＰＵ２１により実行されたタスクの実行履歴情報２５ｂを、表示装置１１に、同じ時間軸で表示させることができる。
【００３４】
よって、本実施例によれば、ソフトウェア構成の内部時計を用いて、オペレーティングシステム毎の時間軸で、実行履歴情報を作成するよりも、コンピュータシステム３０全体の動作を、利用者に容易に把握させることができる。即ち、リアルタイムＯＳ４０により管理されるタスクと、マルチメディアＯＳ５０により管理されるタスクとの連携関係や、各オペレーティングシステムにて管理されるタスクの実行時間・実行タイミング等を、総合的に、詳細且つ容易に把握させることができる。
【００３５】
従って、本実施例によれば、複数のオペレーティングシステムを搭載したカーナビゲーション装置１等の電子機器を開発する際に、各タスクの動作確認や、システム全体の動作確認、システムの最適化を、効率よく行うことができ、製品の開発効率等を高めることができる。
【００３６】
尚、本発明のコンピュータシステムは、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、カーナビゲーション装置１に本発明のコンピュータシステムを適用した例を示したが、その他の電子装置に、本発明のコンピュータシステムを適用してもよい。また、上記実施例では、ＩＴＲＯＮ仕様のリアルタイムＯＳの下で、Ｗｉｎｄｏｗｓ（登録商標）ＣＥを動作させる例を示したが、その他のＯＳについて、本発明のコンピュータシステムを適用してもよい。
【図面の簡単な説明】
【００３７】
【図１】カーナビゲーション装置１の構成を表すブロック図である。
【図２】コンピュータシステム３０の構成を表すブロック図である。
【図３】ログ記録部４５，５５にて実行されるログ記録処理を表すフローチャートである。
【図４】ログ記録処理にてＲＡＭ２５に記録される実行履歴情報２５ａ，２５ｂの構成を表す説明図である。
【符号の説明】
【００３８】
１…カーナビゲーション装置、２０…制御装置、２１…ＣＰＵ、２２…フリーランカウンタ、２３…ＲＯＭ、２５…ＲＡＭ、２５ａ，２５ｂ…実行履歴情報、３０…コンピュータシステム、４０…リアルタイムＯＳ、４１，５１…スケジューラ、４３，５３…レディキュー、４５，５５…ログ記録部、５０…マルチメディアＯＳ
【図１】
2005352669.tif 000003
【図２】
2005352669.tif 000004
【図３】
2005352669.tif 000005
【図４】
2005352669.tif 000006