説明

時間監視装置及び方法

【課題】1つのタイマ手段にて複数の処理の実行時間を監視する際に、その監視自体に異常が生じていないかを検知する。
【解決手段】既に獲得したリソースの獲得時間を監視している最中に新たなリソースの獲得を行うとき、タイマ回路18のカウンタ値と、新たなリソースの獲得時間の上限制約時間との差分時間を算出し、RAM16に退避させる。リソースの解放時には、差分時間の符号を判定した加算時間をカウント値に加算して、タイマ回路18が新たにカウントすべきカウント値を算出する。そして、タイマ回路18において、差分時間及び加算時間を計測し、計測した差分時間の合計時間と計測した加算時間の合計時間とが一致するか否か、および差分時間の計測回数と加算時間の計測回数とが一致するか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1つのタイマ回路を用いて、複数の処理の実行時間を監視する時間監視装置及び時間監視方法に関する。
【背景技術】
【0002】
例えば、特許文献1に記載されているように、複数のリソース管理を行うオペレーティングシステムにおいて、リソースの獲得が長時間に及んで保留状態にあることを検出することにより、リソース管理機能を向上したシステム管理方法が知られている。
【0003】
このシステム管理方法では、オペレーティングシステム部が、複数のリソースを管理するリソース管理部を有し、リソース管理部のタイマにより、アプリケーションプログラムが獲得したリソースの使用時間を監視する。そして、この使用時間が監視時間を超えると、タイムアウトルーチンを呼び出し、システム異常状態に対する修復処理を行う。
【0004】
また、このシステム管理方法では、リソース獲得時間を計測するためにリソース毎にタイマを設けると、タイマの数が膨大となるため、タイマの管理対象をリソース種別及び計測時間とし、差分法のロジックを用いて、1個のリソース管理タイマにより複数のリソースの獲得時間の計測を行っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平5−342023号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した従来のシステム管理方法によれば、1個のリソース管理タイマにて複数のリソースの獲得時間を監視することができる。しかしながら、リソース管理タイマの時間監視に差分法のロジックが用いられる場合、タイマが現在計測している時間を計測し終えたときに、さらに計測すべき残り時間(差分時間)をRAM等に記憶しておく必要がある。この記憶された差分時間が、例えばノイズ等の影響により変化してしまった場合、リソース獲得時間を適切に監視することができなくなってしまう。
【0007】
本発明は、上述した点に鑑みてなされたものであり、1つのタイマ手段にて複数の処理の実行時間を監視する際に、その監視自体に異常が生じていないかを検知することが可能な時間監視装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、請求項1に記載の時間監視装置は、オペレーティングシステムが複数の処理の実行状態の管理を適切に行うために、その複数の処理の実行時間を監視するものであって、
複数の処理の内の一の処理が実行されるとき、当該一の処理が終了するまで、その処理の上限時間をカウントするタイマ手段と、
タイマ手段によって一の処理の実行時間をカウントしている最中に、複数の処理の内、前記一の処理の上限時間よりも早く終了する上限時間を有する他の処理を実行する必要が生じて、他の処理が実行される際、タイマ手段は他の処理の上限時間のカウントを開始するものであって、タイマ手段による他の処理の上限時間のカウントの開始前に、その時点までの一の処理の実行時間を示すタイマ手段によるカウント時間と、他の処理の上限時間との差分時間を算出して記憶する差分時間記憶手段と、
他の処理が終了すると、タイマ手段における他の処理の終了時点のカウント時間に、差分時間記憶手段に記憶された差分時間を加算時間として加算した時間を、タイマ手段がカウントすべき時間として設定する加算処理手段と、
一の処理が実行されている最中に他の処理が実行されるとき差分時間を計測するとともに、他の処理が終了したとき加算時間を計測する計測手段、及び一の処理を実行している最中に他の処理が実行されるとき差分時間の算出回数を計測するとともに、他の処理が終了したとき加算時間の加算回数を計測する計測手段の少なくとも一方を有し、計測手段によって計測された差分時間と加算時間とが一致するか否か、及び、計測手段によって計測された差分時間の算出回数と加算時間の加算回数とが一致するか否かの少なくとも一方を判定する一致判定手段と、を備え、
オペレーティングシステムにて、一致判定手段における判定結果に基づき、複数の処理が適切に実行されたか否かが検知されることを特徴とする。
【0009】
このように、請求項1に記載の時間監視装置では、一致判定手段の計測手段にて、差分時間と加算時間、及び、差分時間の算出回数と加算時間の加算回数の少なくとも一方を計測する。例えば、差分時間記憶手段に記憶された差分時間がノイズ等の影響により値が変化すると、その差分時間から求められる加算時間も変化するため、一致判定手段の計測手段にて計測される差分時間と加算時間とが一致しなくなる。また、ノイズやプログラムのバグなどにより差分時間自体が消去されてしまったような場合には、差分時間の算出回数と加算時間の加算回数が一致しなくなる。従って、一致判定手段における判定結果を用いることで、1つのタイマ手段によって複数の処理の実行時間を監視する場合であっても、オペレーティングシステムは、監視自体に異常が生じたことを検知することが可能となる。
【0010】
請求項2に記載したように、差分時間記憶手段は、相違する他の処理を実行する必要が生じるごとに、現在、実行中の処理の実行時間を示すタイマ手段によるカウント時間と、実行が必要な他の処理の上限時間との差分時間を算出して記憶する処理を繰り返し行い、その際、一致判定手段の計測手段も、差分時間及び前記差分時間の算出回数の少なくとも一方の計測を繰り返し行い、加算処理手段は、他の処理が終了するごとに、その終了した他の処理が開始されるときに差分時間記憶手段により算出され記憶された差分時間を加算時間として、タイマ手段のカウント時間に加算した時間を、タイマ手段がカウントすべき時間として設定し、一致判定手段の計測手段は、タイマ手段にカウントすべき時間が設定されるごとに、加算時間及び前記加算時間の加算回数の少なくとも一方の計測を繰り返すことが好ましい。このようにすれば、同時期に3つ以上の処理を実行することが必要になった場合でも、1つのタイマ手段により、各処理の実行時間を監視しつつ、監視に異常が生じた場合には、その異常発生を検知することができる。
【0011】
請求項3に記載したように、オペレーティングシステムにおいては、一の処理が終了した時点での、一致判定手段における判定結果から、一の処理及び他の処理が適切に実行されたか否かが検知されることが好ましい。これにより、同時期に実行することが必要であった一の処理及び他の処理がともに終了した後、一致判定手段により即座にそれらの処理が適切に実行されたか否かを検知することができる。
【0012】
請求項4に記載したように、一致判定手段は、計測手段にて計測された加算時間が差分時間よりも大きくなるか、もしくは計測手段にて計測された加算時間の加算回数が差分時間の算出回数よりも大きくなると、即座に異常が発生したことをオペレーティングシステムに通知することが好ましい。先に一の処理が実行されている最中に他の処理の実行を開始し、そして、一の処理よりも上限時間の短い他の処理が先に終了する場合、必ず、差分時間の計測が加算時間の計測よりも先に行われ、また、差分時間の算出回数のカウントも、加算時間の加算回数のカウントよりも先に行われる。従って、複数の処理の実行時間の監視が正常に行われている限り、計測した加算時間が差分時間よりも大きくなったり、加算時間の加算回数が差分時間の算出回数よりも大きくなったりすることは起こりえない。このため、計測された加算時間が差分時間よりも大きくなるか、もしくは計測された加算時間の加算回数が差分時間の算出回数よりも大きくなった場合、何らかの異常が発生したとみなしえるので、即座にオペレーティングシステムに異常が発生したことを通知することが好ましい。
【0013】
請求項5に記載したように、一致判定手段の計測手段は、差分時間及び加算時間を計測するための共通の計測レジスタを有し、差分時間と加算時間とを符号を異ならせた上で積算した結果を共通の計測レジスタに保存することにより、その共通の計測レジスタの値に基づいて、差分時間と加算時間とが一致するか否かを判定することができる。この場合、共通の計測レジスタは、差分時間が計測された時点で、その差分時間に対応する値を保持するが、その後、加算時間が計測され、その加算時間が積算されることにより、計測レジスタの値は0となるはずである。従って、一致判定手段は、共通の計測レジスタの値が0となっている場合、差分時間と加算時間とが一致しており、0以外であれば、不一致であると判定できる。
【0014】
あるいは、請求項6に記載したように、一致判定手段の計測手段は、差分時間を計測するための差分時間計測レジスタと、加算時間を計測するための加算時間計測レジスタを有し、差分時間計測レジスタにて計測された差分時間と、加算時間計測レジスタにて計測された加算時間とが一致するか否かにより、差分時間と加算時間とが一致するか否かを判定しても良い。
【0015】
請求項5及び6は、差分時間及び加算時間を計測するレジスタに関するものであるが、差分時間の算出回数及び加算時間の加算回数を計測するレジスタについても同様である。すなわち、請求項7に記載したように、一致判定手段の計測手段は、差分時間の算出回数及び加算時間の加算回数を計測するための共通の計測レジスタを有し、差分時間の算出回数と加算時間の加算回数とを符号を異ならせた上で積算した結果を共通の計測レジスタに保存し、その共通の計測レジスタの値に基づいて、差分時間の算出回数と加算時間の加算回数とが一致するか否かを判定することができる。あるいは、請求項8に記載したように、一致判定手段の計測手段は、差分時間の算出回数を計測するための算出回数計測レジスタと、前記加算時間の加算回数を計測するための加算回数計測レジスタを有し、算出回数計測レジスタにて計測された差分時間の算出回数と、加算回数計測レジスタにて計測された加算時間の加算回数とが一致するか否かにより、差分時間の算出回数と前記加算時間の加算回数とが一致するか否かを判定しても良い。
【0016】
請求項9に記載したように、複数の処理は、それぞれ、リソースを獲得するとともに獲得したリソースを解放するものであっても良い。例えば、あるタスクを実行するために、メモリの所定の領域や、コンピュータの周辺回路(A/D変換器、タイマなど)などリソースとし、あるリソースを獲得している状態において、他のリソースも獲得し、その後、獲得したリソースを順次、解放する場合がある。このような場合、本願発明を用いることにより、オペレーティングシステムは、1つのタイマ手段によって複数のリソースの獲得、解放が正常に行われていることを監視しつつ、その監視自体に異常が生じていないかも検知することができる。
【0017】
請求項10〜18にかかわる発明は、時間監視方法に関するものであるが、その作用効果は、上述した請求項1〜9の発明とほぼ同様であるため、説明を省略する。
【図面の簡単な説明】
【0018】
【図1】実施形態による時間監視装置を具現化した際の一例における、基本的な電子回路構成を示す回路構成図である。
【図2】タスクによりリソース獲得要求が生じたときにOSにより実行される処理を示すフローチャートである。
【図3】タスクによるリソース解放要求が生じたときにOSにより実行される処理を示すフローチャートである。
【図4】タスク終了要求が生じたときにOSにより実行される処理を示すフローチャートである。
【図5】(a)は複数のリソースの獲得、解放が正常に行われたときのタイミングを示すタイミングチャートであり、(b)は、その際のタイマ回路18におけるカウント値を示すグラフである。
【図6】(a)は、複数のリソースのうち、1つのリソースの獲得タイミングが送れた場合における、複数のリソースの獲得、解放のタイミングを示すタイミングチャートであり、(b)は、その際のタイマ回路18におけるカウント値を示すグラフである。
【図7】タイマ回路18の詳細な構成を示す構成図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態による時間監視装置について、図面に基づいて説明する。図1は、本実施形態による時間監視装置を具現化した際の一例における、基本的な電子回路構成を示す回路構成図である。
【0020】
図1に示す電子回路装置は、CPU12、ROM14、RAM16、タイマ回路18、及び割込制御部20を備え、それらはバスにより相互に接続されている。
【0021】
CPU12は、ROM14に記憶されたオペレーティングシステム用のプログラムや各種の実行コンテキストを保持するタスク(スレッドとも呼ばれる)を命令として実行するものである。本実施形態においては、オペレーティングシステム(以下、OS)として、リアルタイムOSを採用している。このリアルタイムOSは、処理をリアルタイムに実行することを重視して設計されたものである。そのため、メモリや、図示しない周辺回路(A/D、タイマ、バッファなど)などのリソース管理などにおいても、時間制約を守ることが重要視される。
【0022】
RAM16は、CPU12における演算結果等を一時的に保存しておくためのものである。このRAM16には、予めOSのデータを格納する領域が定められている。例えば、後に詳しく説明するが、タイマ回路18によって複数のリソースの獲得時間を監視するために、OSにより差分時間が算出される。その差分時間も、RAM16のOSデータ格納領域に保存される。
【0023】
タイマ回路18は、あるタスクが実行されるとき、そのタスクによるリソース獲得時間の上限制約時間をカウントし、カウント時間が上限制約時間に達すると、タイムアウト通知を出力するものである。なお、タスクによるリソースの獲得時間が上限制約時間に達する前に、リソースが解放されれば、タイマ回路18からタイムアウト通知が出力されることはない。このタイマ回路18の構成については、後に詳細に説明する。
【0024】
割込制御部20は、タイマ回路18からタイムアウト通知を受領すると、CPU12に対して割込を通知する。この場合、OSは、リソース獲得時間が異常とみなして、実行中のタスクの中断処理などを行う。
【0025】
ここで、タイマ回路18の構成や作用効果について説明する前に、まず、OSによる1つのタイマ回路18を用いた複数のリソースの管理方法について、図2〜図6を参照しつつ説明する。なお、図2は、タスクによりリソース獲得要求が生じたときにOSにより実行される処理を示すフローチャートであり、図3は、タスクによるリソース解放要求が生じたときに実行される処理を示すフローチャートであり、図4は、タスク終了要求が生じたときに実行される処理を示すフローチャートである。また、図5(a)は複数のリソースの獲得、解放が正常に行われたときのタイミングを示すタイミングチャートであり、図5(b)は、その際のタイマ回路18におけるカウント値を示すグラフである。一方、図6(a)は、複数のリソースのうち、1つのリソースの獲得タイミングが遅れた場合における、複数のリソースの獲得、解放のタイミングを示すタイミングチャートであり、図6(b)は、その際のタイマ回路18におけるカウント値を示すグラフである。
【0026】
実行中のタスクによりリソースの獲得が要求されると、OSは、そのリソースを獲得する処理を行う。獲得されたリソースは、実行中のタスクにより独占的に所有され、他のタスクが同時に同じリソースにアクセスすることが防止される。そして、タスクによるリソースの所有が不要になってリソース解放要求が生じると、OSはリソースを解放する処理を行う。このようなリソースの獲得時に、OSは、タスクによる異常なリソース獲得時間を監視するために、リソースの獲得時間に対して上限制約時間を設定する。この上限制約時間は、OSによりタイマ回路18に出力される。
【0027】
ただし、タスクによっては、リソース獲得の追加が必要となる場合がある。このように複数のリソースの獲得がなされる際、特にリアルタイムOSでは時間制約を守ることが重要との観点から、本実施形態では、リソースの解放は、獲得した順序と逆になるとの制約条件を設けている。
【0028】
このような制約条件を設けた場合、先に獲得したリソース獲得時間の上限制約時間が満了する以前に、後に獲得したリソース獲得時間の上限制約時間が満了する。従って、このような制約条件の下で、1つのタイマ回路18により、複数のリソースの獲得時間を監視するには、新たなリソースの獲得時に差分時間を算出してRAM16に退避させておき、そのリソースの解放時に、その退避させた差分時間を用いて先のリソースの獲得時間のカウント値を復帰させれば良い。
【0029】
そのため、図3のフローチャートに示すように、タスクによりリソース獲得要求が生じると、ステップS100において、既に獲得されているリソースがあり、そのリソースの獲得時間の監視中であるか否かを判定する。そして、監視中でなければ、ステップS110に進んで、差分時間をゼロとして、その差分時間をRAM16に退避させる。一方、監視中であれば、ステップS120に進んで、その時点のタイマ残り時間(タイマ回路18のカウント値)から、新たに獲得するリソースの獲得時間の上限制約時間を減算した減算値が、0より大きい正の数であるか否かを判定する。
【0030】
ここで、本実施形態においては、上述したように、リソースの解放は、獲得した順序と逆になるとの制約条件を設けている。このため、リソースの獲得が正常なタイミングで行われた場合、タイマ回路18のカウント値から、新たに獲得するリソースの獲得時間の上限制約時間を減算した減算値が、0もしくは負の数となることはない。しかしながら、何らかの原因でリソースの獲得タイミングが、本来のタイミングよりも遅れる可能性もあるので、ステップS120の判定処理を設けている。
【0031】
ステップS120の判定処理において、上記減算値が正の数と判定された場合には、ステップS130に進み、当該減算値を差分時間として、RAM16に退避させる。その後、ステップS140にて、新たに獲得するリソースの獲得時間の上限制約時間を、タイマ回路18に出力してカウントを開始させる。
【0032】
一方、ステップS120において、上記減算値が0もしくは負の数と判定された場合、ステップS150に進み、差分時間として0値をRAM16に退避させる。さらに、ステップS160において、その時点のタイマ残り時間(タイマ回路18のカウント値)をタイマ回路18に出力する。このように、差分時間としてゼロをRAM16に退避させ、かつ、タイマ回路18のカウント値そのものを、改めてタイマ回路18に出力する理由は、タイマ回路18において、リソース獲得時間の上限制約時間の満了時点が、先に獲得されているリソースの獲得時間に対する上限制約時間の満了時点よりも遅くなるほど、獲得のタイミングが遅れたリソースの獲得や解放に対しても、タイマ回路18において、差分時間や加算時間を計測したり、リソースの獲得や解放の回数を計測したりするためである。
【0033】
リソース獲得要求時の処理の具体例を、図5(a),(b)及び図6(a),(b)に基づいて説明する。
【0034】
図5(a),(b)に示す例では、あるタスクの実行時に、まずリソースAの獲得処理が行われ、その後、さらにリソースB,Cの獲得処理が順次行われている。そして、リソースの解放処理に関しては、獲得の順番とは逆に、リソースC,B、Aの順で行われたものである。なお、これらのリソースの獲得及び解放は、正常なタイミングで行われている。また、図5(a),(b)において、リソースAの獲得時間の上限制約時間はt11であり、リソースBの獲得時間の上限制約時間はt6であり、リソースCの獲得時間の上限制約時間はt3である。
【0035】
リソースAの獲得時には、時間監視中のリソース獲得がないので、OSは、差分時間としてゼロをRAM16に退避させつつ、リソースAの獲得時間の上限制約時間であるt11をタイマ回路18に出力する。すると、タイマ回路18のカウンタに上限制約時間t11がセットされ、カウンタは、所定の時間間隔でダウンカウントを開始する。
【0036】
タイマ回路18のカウンタが、リソースAの上限制約時間t11をダウンカウントしている最中に、タスクによりリソースBの獲得要求が生じると、OSは、リソースBを獲得する処理を行う。さらに、リソースBの獲得要求が生じたとき、既にリソースAの獲得時間の監視が行われているので、OSは、リソースBの獲得を行う時点でのタイマ回路18のカウント値を読み出し、リソースBの獲得時間の上限制約時間との差である差分時間を算出して、RAM16に退避させる。なお、差分時間をRAM16に退避させる際、差分時間にはマイナスの符号が付与される。そして、リソースBの獲得時間の上限制約時間を、タイマ回路18のカウンタにセットする。
【0037】
図5(a),(b)に示す例では、リソースBの獲得処理がなされた時点のカウンタのカウント値は、t9であり、リソースBの獲得時間の上限制約時間はt6であるため、差分時間は−t3となる。そして、リソースBの獲得時に、タイマ回路18のカウンタには、リソースBの上限制約時間であるt6がセットされる。
【0038】
さらに、タイマ回路18のカウンタが、リソースBの上限制約時間t6をダウンカウントしている最中に、タスクによりリソースCの獲得要求が生じると、OSは、リソースCを獲得する処理を行う。そして、OSは、リソースCの獲得を行う時点でのタイマ回路18のカウンタによるカウント値を読み出し、リソースCの獲得時間の上限制約時間との差分時間を算出して、既にRAM16に格納されている差分時間とは異なる領域に退避させる。そして、リソースCの獲得時間の上限制約時間を、タイマ回路18のカウンタにセットする。
【0039】
図5(a),(b)に示す例では、リソースCの獲得処理がなされた時点のカウンタのカウント値はt5であり、リソースCの獲得時間の上限制約時間はt3であるため、差分時間は−t2となる。また、リソースCの獲得時に、タイマ回路18のカウンタには、リソースCの上限制約時間であるt3がセットされる。
【0040】
一方、図6(a),(b)には、図5(a),(b)と同様のタスクが実行され、リソースA,B,Cの獲得及び解放が行われる際に、リソースBの獲得のタイミングが遅れた例が示されている。
【0041】
このため、リソースAの獲得時の処理は、図5(a),(b)に示す例と、図6(a),(b)に示す例とで変わりはないが、リソースBの獲得以降の処理において、両者は相違する。すなわち、リソースAが獲得され、タイマ回路18のカウンタが、リソースAの上限制約時間t11をダウンカウントしている最中に、タスクによりリソースBの獲得要求が生じると、OSは、リソースBを獲得する処理を行う。ただし、リソースBの獲得を行う時点でのタイマ回路18のカウント値はt5であるのに対し、リソースBの獲得時間の上限制約時間はt6であるため、タイマ回路18のカウント値からリソースBの獲得時間の上限制約時間を減算した減算値が負の数となる。このため、差分時間としてゼロをRAM16に退避させる。そして、リソースBの獲得時間の上限制約時間ではなく、その時点のタイマ回路18のカウント値を、改めてタイマ回路18のカウンタにセットする。
【0042】
さらに、タスクによりリソースCの獲得要求が生じると、OSは、リソースCを獲得する処理を行う。そして、OSは、リソースCの獲得を行う時点でのタイマ回路18のカウンタによるカウント値を読み出し、リソースCの獲得時間の上限制約時間との差分時間(減算値)を算出する。このときの減算値は正の数(t4−t3=t1)であるため、その減算値t1を、RAM16に退避させる。そして、リソースCの獲得時間の上限制約時間t3を、タイマ回路18のカウンタにセットする。
【0043】
次に、タスクにおいてリソースの獲得を要する処理が終了して、タスクによりリソース解放要求が生じた場合の処理を説明する。この場合、OSはリソースを解放する処理を行うとともに、図3のフローチャートに示すように、ステップS200において、リソースの解放要求が生じた時点のタイマ回路18のカウント値と、そのリソースの獲得時にRAM16に退避させた差分時間とを読み出して加算することにより、タイマ回路18のカウンタが新たにカウントするカウント値を算出する。このカウント値は、タイマ回路18に出力されて、カウンタにセットされる。すると、タイマ回路18のカウンタは、新たにセットされたカウント値からダウンカウントを開始する。
【0044】
例えば、図5(a)、(b)に示す例において、リソースCの解放要求が生じた場合、OSは、リソースCを獲得する際に算出し、RAM16に退避させた差分時間を読み出すとともに、その時点のタイマ回路18のカウンタのカウント値を読み出す。そして、読み出した差分時間の符合を反転して加算時間としつつ、カウンタのカウント値に加算時間を加算して、新たにカウンタがカウントすべきカウント値を算出する。図5(a),(b)に示す例では、リソースCの解放が行われるときのカウンタのカウント値はt1であり、リソースCの獲得が行われたときに算出された差分時間は−t2である。従って、新たにカウンタがカウントすべきカウント値はt3と算出される。
【0045】
また、図5(a),(b)において、タスクがリソースBの獲得を要する処理が終了して、タスクによりリソースBの解放要求が生じた時点でも、上述したステップS200の処理が実行される。リソースBの解放時には、新たにカウンタがカウントすべきカウント値として、t4が算出され、このカウント値t4がカウンタにセットされる。
【0046】
さらに、リソースAの獲得を要する処理が終了して、リソースAの解放要求が生じた時点でも、上述したステップS200の処理が実行される。しかしながら、この場合、リソースAが解放された時点で全てのリソースが解放されており、そのリソースAの解放後に、時間監視を行うべきリソースの獲得は残っていない。従って、ステップS210において、時間監視中のリソースの獲得があるかとの判定にて、“NO”と判定される。そのため、処理はステップS220に進み、タイマ回路18のカウンタのカウント動作が停止される。
【0047】
一方、図6(a),(b)に示す例では、リソースCの解放が行われるときのカウンタのカウント値はt1であり、リソースCの獲得が行われたときに算出された差分時間は−t1である。従って、新たにカウンタがカウントすべきカウント値はt2と算出される。この算出されたカウント値t2が、タイマ回路18に出力される。
【0048】
さらに、タスクによりリソースBの解放要求が生じた時点でも、ステップS200の処理が実行される。ただし、リソースBの獲得時に算出された差分時間はゼロであるため、新たにカウンタがカウントすべきカウント値は、その時点のカウンタのカウント値そのものとなる。また、リソースAが解放される際にも、その獲得の際に算出された差分時間はゼロであるため、その時点のカウンタのカウント値が、あらためてタイマ回路18のカウンタにセットされる。
【0049】
ここで、図6(a),(b)の例を用いて説明したように、本実施形態では、リソースの獲得時間が遅れたことのみをもって異常が生じたとは判定せず、タイマ回路18によるリソース獲得時間の監視を継続する。そして、すべてのリソースの解放が、それぞれのリソース獲得時間の上限制約時間までになされれば、後述するタイマ回路18による監視に異常が生じていない限り、タスクによる処理が正常に行われたとみなす。
【0050】
ただし、図6(a),(b)の例によって説明したように、後に獲得されるリソースBの上限制約時間が、先に獲得されているリソースAの上限制約時間よりも遅く満了する場合には、タイマ回路18は、後に獲得されるリソースBの上限制約時間をカウントせず、先に獲得したリソースAの上限制約時間のカウントを継続する。すなわち、タイマ回路18は、直接的には、リソースBの獲得時間の上限制約時間の監視を行っていない。
【0051】
しかしながら、リソースの解放の順序は、獲得の順序と逆となるという制約から、図6(a),(b)に示すように、リソースBの獲得が遅れたことに起因して、結果的に、リソースAの解放が、リソースAの獲得時間の上限制約時間内に行われなかった場合、タイマ回路18によりタイムアウト通知が出力されることになる。この場合、上述したように、リソース獲得時間が異常であるとみなして、実行中のタスクの中断処理などが行われる。このように、タイマ回路18が、リソースBの獲得時間の上限制約時間を直接的にはカウントせずとも、リソースAの上限制約時間を監視することにより、間接的に、リソースBの獲得時間の異常について監視することができる。
【0052】
そして、タスクの終了要求が生じると、OSは、図4のフローチャートに示す処理を実行する。すなわち、ステップS300において、タスクの終了要求が生じた時点(タスクの終了直前)で、後述するように、タイマ回路18において計測した差分時間の合計時間と加算時間の合計時間とが一致するか否か、およびリソースの獲得時のタイマ設定回数(すなわち、差分時間の算出回数に等しい)とリソース解放時のタイマ設定回数(すなわち、加算時間の加算回数に等しい)とが一致するか否かを判定した判定結果をタイマ回路18から取得して判定する。
【0053】
この判定結果において、「一致」と判定した場合には、時間監視が正常に行われたとみなして、タスクを終了する。一方、「不一致」と判定した場合には、リソースの獲得時間の監視に何らかの異常が生じたと考えられるため、エラールーチンを起動する。このエラールーチンにおいては、タスクの再試行、ダイアグ情報の記録、及び/又は電子回路装置10のリセットなどを行う。
【0054】
上述したような差分時間及び加算時間を用いることにより、1つのタイマ回路18を用いるだけで、複数のリソースの獲得時間の上限制約時間をそれぞれ監視することが可能となる。
【0055】
次に、上述した時間監視を行い、その監視の異常を検出するために必要となるタイマ回路18の詳細な構成について、図7を用いて説明する。図7に示すように、タイマ回路18は、所定の時間間隔でカウントを行うカウンタ23を有する。このカウンタ23は上述したようにダウンカウンタであり、カウントすべき時間に相当するカウント値がセットされると、そのカウント値を所定時間間隔でダウンカウントしていくものである。そして、カウント値がゼロとなったとき、タイムアウト通知を出力する。ただし、カウンタ23として、カウント値が増加するアップカウンタを用いることも可能である。
【0056】
カウンタ23にセットされるカウンタ値は、上述したように、リソースの獲得が行われたとき、及びリソースの解放がおこなわれたときに、OSから与えられる。なお、図7では、リソース獲得時のカウンタ値の設定経路と、リソース解放時のカウンタ値の設定経路の2系統が示されているが、通常のバス構成では、信号の伝達経路は1本のみである。従って、送信されたカウント値が、リソース獲得時の設定経路によるカウント値であるか、リソース解放時の設定経路によるカウント値であるかを識別する必要がある。そのため、以下の2つの手法のいずれかを用いる。
【0057】
まず、1つ目の手法として、リソース獲得時の設定経路による場合と、リソース解放時による場合とで、バスアドレスを別個に設定する。この別個のバスアドレスに向けて送信されるデータは、いずれも選択部22にて受信され、バスアドレスをデコードして、いずれの経路によるカウント値であるかを識別する。
【0058】
また、2つ目の手法として、バスアドレスは共通とするが、OSが送信するデータに、リソース獲得時の設定経路によるものか、リソース解放時の設定経路によるものかを識別するための識別ビットを含ませる。このようにしても、選択部22において、いずれの経路によるカウント値であるかを識別することができる。
【0059】
ここで、図5に基づいて説明したように、本実施形態では、複数のリソースの獲得がなされる場合、リソースの獲得とリソースの解放とは逆の順序で行われる。そして、差分時間はリソースの獲得時に算出され、加算時間は、リソース解放時に差分時間の符号を反転したものとして算出される。従って、差分時間と加算時間とは符合が異なるだけで時間自体は一致している。またリソースの獲得が行われた回数だけ、リソースの解放が行われるので、リソースの獲得回数とリソースの解放回数も一致する。
【0060】
本実施形態では、このような差分時間と加算時間との関係、もしくはリソース獲得回数とリソース解放回数との関係を用いて、タイマ回路18によるリソース獲得時間の監視自体に異常が生じていないかを検知する。そのため、タイマ回路18は、一致判定回路24を有している。
【0061】
一致判定回路24は、差分時間計測部26及び加算時間計測部28を備えている。差分時間計測部26は、リソース獲得時の設定経路を介して新たなカウント値がOSから与えたれたときに、その時点のカウンタ23のカウント値と、与えられた新たなカウント値との差分時間を計測する。ただし、差分時間計測部26は、カウンタ23のカウント値がゼロであり、リソースの獲得時間監視中ではない場合、差分時間をゼロとして処理する。また、カウンタ23のカウント値と、与えられた新たなカウント値とが同じ値である場合にも、差分時間をゼロとして処理する。
【0062】
差分時間計測部26によって計測された差分時間は、時間計測用レジスタ部30に出力され、保持される。ただし、時間計測用レジスタ部30に既に計測された差分時間が保持されている場合には、時間計測用レジスタ部30は、保持している差分時間と新たに計測された差分時間との合計差分時間を算出し、その合計差分時間を保持する。
【0063】
また、加算時間計測部28は、リソース解放時の設定経路を介して新たなカウント値がOSから与えたれたときに、与えられた新たなカウント値から、その時点のカウンタ23のカウント値を減じることにより、加算時間を計測する。計測された加算時間は、時間計測用レジスタ部30に出力される。なお、この加算時間に関しても、与えられた新たなカウント値と、カウンタ23のカウント値とが同じである場合には、加算時間をゼロとして処理する。
【0064】
ここで、時間計測用レジスタ部30が、差分時間及び加算時間を計測するための共通の計測レジスタを有する場合には、差分時間と加算時間とを符号を異ならせた上で、保持されている差分時間と計測した加算時間とを積算した積算時間を共通の計測レジスタに保存する。この場合、共通の計測レジスタは、差分時間が計測された時点で、その差分時間を保持するが、その後、加算時間が計測され、その加算時間が積算されることにより、(合計)差分時間と(合計)加算時間とが一致していれば、計測レジスタの値は0となる。
【0065】
また、時間計測用レジスタ部30は、差分時間を計測するための差分時間計測レジスタと、加算時間を計測するための加算時間計測レジスタとを別個に備えていても良い。この場合、複数の差分時間が計測された場合には、その合計差分時間が差分時間計測レジスタに保持され、複数の加算時間が計測された場合には、その合成加算時間が加算時間計測レジスタに保持される。
【0066】
また、一致判定回路24は、回数計測用レジスタ部32も備えており、差分時間計測部26にて計測された差分時間、及び加算時間計測部28にて計測されて加算時間は、回数計測用レジスタ部32にも与えられる。回数計測用レジスタ部32は、差分時間計測部26にて差分時間が計測された回数と(この差分時間計測回数は、リソースの獲得回数に等しく、OSによる差分時間の算出回数にも等しい)、加算時間計測部28にて加算時間が計測された回数(加算時間計測回数は、リソースの解放回数に等しく、OSによる加算時間の加算回数にも等しい)とを共通の計測レジスタ又は専用の各計測レジスタに保持する。
【0067】
判定部34は、時間計測用レジスタ部30に保持された差分時間と加算時間とが一致しているか否か、および回数計測用レジスタ部32に保持された差分時間の計測回数と加算時間の計測回数とが一致しているか否かを判定して、その判定結果を出力する。また、判定部34は、時間計測用レジスタ部30に保持された加算時間が、差分時間よりも大きくなるか、あるいは回数計測用レジスタ部32に保持された加算時間の計測回数が、差分時間の計測回数よりも大きくなると、即座に異常が生じた旨の通知をOSに対して出力する。
【0068】
このように、本実施形態では、タイマ回路18の一致判定回路24にて、差分時間と加算時間、及び、リソース獲得時のタイマ設定回数(差分時間の算出回数)とリソース解放時のタイマ設定回数(加算時間の加算回数)を計測している。
【0069】
ここで、OSによって算出されRAM16に退避された差分時間が、ノイズ等の影響によって変化してしまうと、その差分時間から求められる加算時間も変化するため、差分時間と加算時間とが一致しなくなる。また、ノイズやプログラムのバグなどにより、RAMに退避された差分時間自体が消去されてしまったような場合には、リソース獲得時のタイマ設定回数とリソース解放時のタイマ設定回数とが一致しなくなる。換言すると、一致判定回路24における判定結果が不一致である場合には、リソース獲得時間の監視においてなんらかの異常が発生したとみなすことができる。
【0070】
なお、何らかの原因で、タイマ回路18にて差分時間や加算時間の計測が正しく行なわれなかったり、差分時間と加算時間との比較が正しく行われなかった場合等においても、監視機能に異常が生じており、一致判定回路24での判定結果は「不一致」となる。
【0071】
一致判定回路24における判定結果を用いることで、1つのタイマ回路18によって複数のリソースの獲得時間を監視する場合であっても、OSは、監視自体に異常が生じたことを検知することが可能となる。
【0072】
また、上述した実施形態では、タスクの終了要求が生じた時点(タスクの終了直前)で、OSが、タイマ回路18の一致判定回路24からの判定結果を読み出して、不一致であれば、エラールーチン処理を実行する。従って、早期に異常を発見することができ、かつその異常に対して適切な処理を施すことができる。なお、OSが一致判定回路24から判定結果を読み出すのは、リソースを解放した際に、時間監視を行うべきリソース獲得が残っていないことを判定した時点でも良い。
【0073】
さらに、上述した実施形態では、一致判定回路24の判定部34は、時間計測用レジスタ部30に保持された加算時間が、差分時間よりも大きくなるか、あるいは回数計測用レジスタ部32に保持された加算時間の計測回数が、差分時間の計測回数よりも大きくなると、即座に異常が生じた旨の通知をOSに対して出力する。図5(a),(b)に例示したように、リソースA,B,Cの獲得、解放に関しては、必ずリソースの獲得が先に行われ、その後、獲得されたリソースが解放される。従って、一致判定回路24においても、必ず、差分時間の計測が加算時間の計測よりも先に行われるとともに、差分時間の計測回数のカウントも、加算時間の計測回数のカウントよりも先に行われる。従って、リソースの獲得時間の監視が正常に行われている限り、計測した加算時間が差分時間よりも大きくなったり、加算時間の計測回数が差分時間の計測回数よりも大きくなったりすることは起こりえない。
【0074】
このため、時間計測用レジスタ部30に保持された加算時間が、差分時間よりも大きくなるか、あるいは回数計測用レジスタ部32に保持された加算時間の計測回数が、差分時間の計測回数よりも大きくなった場合、リソース獲得時間の監視機能に何らかの異常が発生したとみなしえるので、即座にOSに異常が発生したことを通知することが好ましい。
【0075】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において種々変形して実施することができる。
【0076】
例えば、上述した実施形態では、あるタスクが実行されるときに、複数のリソースが獲得される場合に、1つのタイマ回路にて、複数のリソースの獲得時間を監視する例について説明した。しかしながら、リソースが獲得された順序とは逆の順序でリソースが解放される上限制約時間の関係を有していれば、本発明は、複数のタスクにおける複数のリソース管理に適用することも可能である。さらに、上述した実施形態では、リソースの獲得時間を対象として時間監視を行う例について説明したが、リソースの獲得時間ばかりでなく、タスクの実行時間も監視対象に含めても良い。
【0077】
さらに、本発明は、リソースの獲得時間の監視ばかりでなく、例えば、割込み処理の時間監視に適用しても良い。すなわち、割込み処理が多重に行われる場合に、各割込み処理の突入、復帰に対して、上述した手法を用いて、1つのタイマ回路により時間監視を行うことができる。
【0078】
また、上述した実施形態では、タイマ回路18の一致判定回路24が、時間計測用レジスタ部30及び回数計測用レジスタ部32をともに備え、差分時間と加算時間との一致、不一致及び差分時間の計測回数と加算時間の計測回数との一致、不一致をともに判定するものであった。しかしながら、差分時間と加算時間との一致、不一致の判定と、差分時間の計測回数と加算時間の計測回数との一致、不一致の判定との、少なくとも一方を行うものであっても良い。
【0079】
また、上述した実施形態では、後に獲得されたリソースの獲得時間に対する上限制約時間の満了時点が、先に獲得されているリソースの獲得時間に対する上限制約時間の満了時点よりも遅くなるほど、獲得のタイミングが遅れたリソースの獲得や解放に対しても、タイマ回路18において、差分時間や加算時間を計測したり、リソースの獲得や解放の回数を計測したりする対象としていた。しかしながら、獲得のタイミングが遅れたリソースの獲得及び解放に関しては、差分時間及び加算時間の計測対象や、リソースの獲得回数及び解放回数の計測対象から除外しても良い。この場合、ゼロとなる差分時間をRAM16に退避させたり、タイマ回路18のカウンタに、そのカウント値と同じカウント値をセットするなどの処理を行わずに済む。
【0080】
さらに、上述した実施形態では、タイマ回路18に設けた一致判定回路24により、すなわちハードウエア回路により、差分時間及び加算回数の計測と比較を行い、差分時間の設定回数及び加算時間の設定回数の計測と比較を行っていた。しかしながら、このような計測及び比較は、OSの一機能としてソフトウエアにて実現することも可能である。この場合、OSは差分時間を算出したとき、RAM16の差分時間の格納領域とは、別個の記憶領域あるいは記憶媒体に、上述したレジスタ部の機能を持たせて、差分時間等を保持する。さらに、そのレジスタ部に、加算時間との積算時間、あるいは差分時間と加算時間などを別個に保持させ、タスクの終了要求が生じたとき、保持された値から一致、不一致を判定すれば良い。
【0081】
また、上述した実施形態では、タイマ回路18の一致判定回路24において、差分時間計測部26及び加算時間計測部28が、カウンタ23のカウント値と、OSによって新たにカウンタ23にセットされるカウント値とから差分時間及び加算時間を計測していた。しかしながら、OSにおいて差分時間及び加算時間がそれぞれ算出されたとき、タイマ回路18がそれら差分時間及び加算時間を直接OSから取得するようにしても良い。
【符号の説明】
【0082】
10 電子回路装置
12 CPU
14 ROM
16 RAM
18 タイマ回路
20 割込制御部
22 選択部
23 カウンタ
24 一致判定回路
26 差分時間計測部
28 加算時間計測部
30 時間計測用レジスタ部
32 回数計測用レジスタ部
34 判定部

【特許請求の範囲】
【請求項1】
オペレーティングシステムが複数の処理の実行状態の管理を適切に行うために、その複数の処理の実行時間を監視する時間監視装置であって、
前記複数の処理の内の一の処理が実行されるとき、当該一の処理が終了するまで、その処理の上限時間をカウントするタイマ手段と、
前記タイマ手段によって前記一の処理の実行時間をカウントしている最中に、前記複数の処理の内、前記一の処理の上限時間よりも早く終了する上限時間を有する他の処理を実行する必要が生じて、前記他の処理が実行される際、前記タイマ手段は前記他の処理の上限時間のカウントを開始するものであって、前記タイマ手段による前記他の処理の上限時間のカウントの開始前に、その時点までの前記一の処理の実行時間を示す前記タイマ手段によるカウント時間と、前記他の処理の上限時間との差分時間を算出して記憶する差分時間記憶手段と、
前記他の処理が終了すると、前記タイマ手段における前記他の処理の終了時点のカウント時間に、前記差分時間記憶手段に記憶された差分時間を加算時間として加算した時間を、前記タイマ手段がカウントすべき時間として設定する加算処理手段と、
前記一の処理が実行されている最中に前記他の処理が実行されるとき前記差分時間を計測するとともに、前記他の処理が終了したとき前記加算時間を計測する計測手段、及び前記一の処理が実行されている最中に前記他の処理が実行されるとき前記差分時間の算出回数を計測するとともに、前記他の処理が終了したとき、前記加算時間の加算回数を計測する計測手段の少なくとも一方を有し、前記計測手段によって計測された前記差分時間と前記加算時間とが一致するか否か、及び、前記計測手段によって計測された前記差分時間の算出回数と前記加算時間の加算回数とが一致するか否かの少なくとも一方を判定する一致判定手段と、を備え、
前記オペレーティングシステムにて、前記一致判定手段における判定結果に基づき、前記複数の処理が適切に実行されたか否かが検知されることを特徴とする時間監視装置。
【請求項2】
前記差分時間記憶手段は、相違する他の処理を実行する必要が生じるごとに、現在、実行中の処理の実行時間を示す前記タイマ手段によるカウント時間と、実行が必要な他の処理の上限時間との差分時間を算出して記憶する処理を繰り返し行い、その際、前記一致判定手段の計測手段も、前記差分時間及び前記差分時間の算出回数の少なくとも一方の計測を繰り返し行い、
前記加算処理手段は、前記他の処理が終了するごとに、その終了した他の処理が開始されるときに前記差分時間記憶手段により算出され記憶された差分時間を加算時間として、前記タイマ手段のカウント時間に加算した時間を、前記タイマ手段がカウントすべき時間として設定し、前記一致判定手段の計測手段は、前記タイマ手段にカウントすべき時間が設定されるごとに、前記加算時間及び前記加算時間の加算回数の少なくとも一方の計測を繰り返すことを特徴とする請求項1に記載の時間監視装置。
【請求項3】
前記オペレーティングシステムにおいて、前記一の処理が完了した時点での、前記一致判定手段における判定結果から、前記一の処理及び他の処理が適切に実行されたか否かが検知されることを特徴とする請求項1又は2に記載の時間監視装置。
【請求項4】
前記一致判定手段は、前記計測手段にて計測された前記加算時間が前記差分時間よりも大きくなるか、もしくは前記計測手段にて計測された前記加算時間の加算回数が前記差分時間の算出回数よりも大きくなると、即座に異常が発生したことを前記オペレーティングシステムに通知することを特徴とする請求項1乃至3のいずれかに記載の時間監視装置。
【請求項5】
前記一致判定手段の計測手段は、前記差分時間及び前記加算時間を計測するための共通の計測レジスタを有し、前記差分時間と前記加算時間とを符号を異ならせた上で積算した結果を前記共通の計測レジスタに保存し、その共通の計測レジスタの値に基づいて、前記差分時間と前記加算時間とが一致するか否かを判定することを特徴とする請求項1乃至4のいずれかに記載の時間監視装置。
【請求項6】
前記一致判定手段の計測手段は、前記差分時間を計測するための差分時間計測レジスタと、前記加算時間を計測するための加算時間計測レジスタを有し、前記差分時間計測レジスタにて計測された差分時間と、前記加算時間計測レジスタにて計測された加算時間とが一致するか否かにより、前記差分時間と前記加算時間とが一致するか否かを判定することを特徴とする請求項1乃至4のいずれかに記載の時間監視装置。
【請求項7】
前記一致判定手段の計測手段は、前記差分時間の算出回数及び前記加算時間の加算回数を計測するための共通の計測レジスタを有し、前記差分時間の算出回数と前記加算時間の加算回数とを符号を異ならせた上で積算した結果を前記共通の計測レジスタに保存し、その共通の計測レジスタの値に基づいて、前記差分時間の算出回数と前記加算時間の加算回数とが一致するか否かを判定することを特徴とする請求項1乃至4のいずれかに記載の時間監視装置。
【請求項8】
前記一致判定手段の計測手段は、前記差分時間の算出回数を計測するための算出回数計測レジスタと、前記加算時間の加算回数を計測するための加算回数計測レジスタを有し、前記算出回数計測レジスタにて計測された差分時間の算出回数と、前記加算回数計測レジスタにて計測された加算時間の加算回数とが一致するか否かにより、前記差分時間の算出回数と前記加算時間の加算回数とが一致するか否かを判定することを特徴とする請求項1乃至4のいずれかに記載の時間監視装置。
【請求項9】
前記複数の処理は、それぞれ、リソースを獲得するとともに獲得したリソースを解放するものであることを特徴とする請求項1乃至8のいずれかに記載の時間監視装置。
【請求項10】
オペレーティングシステムが複数の処理の実行状態の管理を適切に行うために、その複数の処理の実行時間を監視する時間監視方法であって、
前記複数の処理の内の一の処理が実行されるとき、当該一の処理が終了するまで、その処理の上限時間をカウントするカウント工程と、
前記カウント工程によって前記一の処理の実行時間をカウントしている最中に、前記複数の処理の内、前記一の処理の上限時間よりも早く終了する上限時間を有する他の処理を実行する必要が生じて、前記他の処理が実行される際、前記カウント工程において、前記他の処理の上限時間のカウントを開始するものであって、前記カウント工程における前記他の処理の上限時間のカウントの開始前に、その時点までの前記一の処理の実行時間を示すカウント時間と、前記他の処理の上限時間との差分時間を算出して記憶する差分時間記憶工程と、
前記他の処理が終了すると、前記カウント工程における前記他の処理の終了時点のカウント時間に、前記差分時間記憶工程にて記憶された差分時間を加算時間として加算した時間を、前記カウント工程にてカウントすべき時間として設定する加算処理工程と、
前記一の処理が実行されている最中に前記他の処理が実行されるとき前記差分時間を計測するとともに、前記他の処理が終了したとき前記加算時間を計測する計測工程、及び前記一の処理が実行されている最中に前記他の処理が実行されるとき前記差分時間の算出回数を計測するとともに、前記他の処理が終了したとき前記加算時間の加算回数を計測する計測工程の少なくとも一方を行い、前記計測工程によって計測された前記差分時間と前記加算時間とが一致するか否か、及び、前記計測工程によって計測された前記差分時間の算出回数と前記加算時間の加算回数とが一致するか否かの少なくとも一方を判定する一致判定工程と、を備え、
前記オペレーティングシステムにて、前記一致判定工程における判定結果に基づき、前記複数の処理が適切に実行されたか否かが検知されることを特徴とする時間監視方法。
【請求項11】
前記差分時間記憶工程では、相違する他の処理を実行する必要が生じるごとに、現在、実行中の処理の実行時間を示すカウント時間と、実行が必要な他の処理の上限時間との差分時間を算出して記憶する処理を繰り返し行い、その際、前記計測工程においても、前記差分時間及び前記差分時間の算出回数の少なくとも一方の計測を繰り返し行い、
前記加算処理工程では、前記他の処理が終了すると、その終了した他の処理が開始されるときに前記差分時間記憶工程において算出され記憶された差分時間を加算時間として、
前記他の処理の終了時点のカウント時間に加算した時間を、前記カウント工程にてカウントすべき時間として設定し、その際、前記計測工程において、前記カウント工程にてカウントすべき時間が設定されるごとに、前記加算時間及び前記加算時間の加算回数の少なくとも一方の計測を繰り返すことを特徴とする請求項10に記載の時間監視方法。
【請求項12】
前記オペレーティングシステムにおいて、前記一の処理が完了した時点での、前記一致判定工程における判定結果から、前記一の処理及び他の処理が適切に実行されたか否かが検知されることを特徴とする請求項10又は11に記載の時間監視方法。
【請求項13】
前記一致判定工程では、前記計測工程にて計測された前記加算時間が前記差分時間よりも大きくなるか、もしくは前記計測手段にて計測された前記加算時間の加算回数が前記差分時間の算出回数よりも大きくなると、その時点で、異常が発生したことを前記オペレーティングシステムに通知することを特徴とする請求項10乃至12のいずれかに記載の時間監視方法。
【請求項14】
前記一致判定工程の計測工程では、前記差分時間及び前記加算時間を計測するための共通の計測レジスタを用いて、前記差分時間と前記加算時間とを符号を異ならせた上で積算した結果を前記共通の計測レジスタに保存し、その共通の計測レジスタの値に基づいて、前記差分時間と前記加算時間とが一致するか否かを判定することを特徴とする請求項10乃至13のいずれかに記載の時間監視方法。
【請求項15】
前記一致判定工程の計測工程では、前記差分時間を計測するための差分時間計測レジスタと、前記加算時間を計測するための加算時間計測レジスタとを用いて、前記差分時間計測レジスタにて計測された差分時間と、前記加算時間計測レジスタにて計測された加算時間とが一致するか否かにより、前記差分時間と前記加算時間とが一致するか否かを判定することを特徴とする請求項10乃至13のいずれかに記載の時間監視方法。
【請求項16】
前記一致判定工程の計測工程では、前記差分時間の算出回数及び前記加算時間の加算回数を計測するための共通の計測レジスタを用いて、前記差分時間の算出回数と前記加算時間の加算回数とを符号を異ならせた上で積算した結果を前記共通の計測レジスタに保存し、その共通の計測レジスタの値に基づいて、前記差分時間の算出回数と前記加算時間の加算回数とが一致するか否かを判定することを特徴とする請求項10乃至13のいずれかに記載の時間監視方法。
【請求項17】
前記一致判定工程の計測工程では、前記差分時間の算出回数を計測するための算出回数計測レジスタと、前記加算時間の加算回数を計測するための加算回数計測レジスタとを用いて、前記算出回数計測レジスタにて計測された差分時間の算出回数と、前記加算回数計測レジスタにて計測された加算時間の加算回数とが一致するか否かにより、前記差分時間の算出回数と前記加算時間の加算回数とが一致するか否かを判定することを特徴とする請求項10乃至13のいずれかに記載の時間監視方法。
【請求項18】
前記複数の処理は、それぞれ、リソースを獲得するとともに獲得したリソースを解放するものであることを特徴とする請求項10乃至17のいずれかに記載の時間監視方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−3611(P2012−3611A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−139633(P2010−139633)
【出願日】平成22年6月18日(2010.6.18)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】