(57)【特許請求の範囲】
【請求項１】
複数のタスクを制御するリアルタイムオペレーティングシステム（ＲＴＯＳ）を搭載した情報処理装置であって、
割り込みの少なくとも一部を禁止又は許可する割り込み制御手段を備え、
前記複数のタスクのいずれかにおいて所定のエラー事象が発生したことに起因して行われるアプリケーションの停止処理を、前記リアルタイムオペレーティングシステムが行うオペレーティングシステム側停止処理と、前記リアルタイムオペレーティングシステムが起床する停止処理タスクが行うタスク側停止処理に分割し、
前記割り込み制御手段は、前記オペレーティングシステム側停止処理の実行中には割り込みを全て禁止し、前記タスク側停止処理の実行中には割り込みの少なくとも一部を許可することを特徴とする、
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記アプリケーションの停止処理が実行される際には、まず前記オペレーティングシステム側停止処理が実行され、その後、前記タスク側停止処理が実行されることを特徴とする、
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記リアルタイムオペレーティングシステムは、前記複数のタスクに設定される優先度によって前記複数のタスクの実行状態を制御しており、前記停止処理タスクに対して最も低い優先度を設定することを特徴とする、
情報処理装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の情報処理装置であって、
前記リアルタイムオペレーティングシステムは、前記複数のタスクに設定される優先度によって前記複数のタスクの実行状態を制御しており、前記オペレーティングシステム側停止処理に対して最も高い優先度を設定することを特徴とする、
情報処理装置。
【請求項５】
請求項１ないし４のいずれか１項に記載の情報処理装置であって、
前記所定のエラー事象は、実行中のタスクによる制限時間違反、及び／又はアクセス制限違反である、
情報処理装置。
【請求項６】
請求項１ないし５のいずれか１項に記載の情報処理装置であって、
前記所定のエラー事象は、実行中のタスクに関するエラー事象であって、
該タスクを呼び出した、該タスクの属するアプリケーションとは異なるアプリケーションによって検知される事象である、
情報処理装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の情報処理装置であって、
前記オペレーティングシステム側停止処理は、前記アプリケーションの停止処理によって停止されるアプリケーションに属する要素をレディーキューから外す処理、及び前記タスク側停止処理を起床する処理を含み、
前記タスク側停止処理は、エラー事象が生じたタスクの強制終了を含む、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクを制御するオペレーティングシステムを搭載した情報処理装置に関する。
【背景技術】
【０００２】
従来、ＡＵＴＯＳＡＲ  ＯＳ（ＳＣ３，４）に代表される、複数のアプリケーションが統合して動作するＲＴＯＳ（リアルタイムオペレーティングシステム）が知られている。ＲＴＯＳでは、実行されるアプリケーション或いはタスク毎に時間保護やメモリ保護が設定されている。時間保護とは、アプリケーション或いはタスク毎に処理期限ないし制限時間が設定されることをいい、メモリ保護とは、アプリケーション或いはタスク毎にメモリ等へのアクセス権が設定されることをいう。
【０００３】
そして、ＲＴＯＳでは、保護違反（制限時間を超えて処理が行われたり、アクセス権の無いメモリ等へのアクセス要求がなされることをいう）が発生すると、違反したアプリケーション或いはタスクを停止して再起動する処理が行われる。
【０００４】
特許文献１には、複数のアプリケーションプログラムに優先度を設定し、優先度に従ってアプリケーションプログラムを制御するコントローラについて記載されている。このコントローラでは、アプリケーションの実行時にエラーが発生した場合には、アプリケーションの停止を含むエラー処理を最優先で起動している。また、エラー処理の内容に応じて処理内容を変更している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０４−０３３１０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の装置を含めて、従来のＲＴＯＳを搭載したコンピュータ（情報処理装置）では、アプリケーションの停止処理が最優先で行われ、その間、ソフトウエア間の割り込みや外部機器からの割り込みが禁止される。この結果、プロセスの処理応答の低下や時間保護の再発生などが生じる場合がある。
【０００７】
図１は、従来の情報処理装置において、アプリケーションの停止処理によってプロセスの処理応答の低下や時間保護の再発生などが生じるという不都合が生じる場面を示すシーケンス図である。図中、ＡＰＰ１、ＡＰＰ２は、アプリケーションプログラムを示し、タスク１、タスク２は、それぞれＡＰＰ１、ＡＰＰ２に属するタスクを示す。割り込みハンドラは、ソフトウエア割り込みやハードウエア割り込みを検知したときに起動して、実行中のタスク等に対する割り込みを制御するソフトウエア手段である。保護違反ハンドラは、オペレーティングシステム（図中、ＯＳと表記した）の一部として機能し、保護違反が生じた際に起動して停止処理のうち開始直後の処理を実行する。本図において、割り込みハンドラは高優先度に設定されており、タスク１が中優先度、タスク２が低優先度で作動する。
【０００８】
図１の時刻ｔ１１において、タスク２の実行が終了し、タスク１が実行開始する。次いで、時刻ｔ１２においてタスク１に何らかの保護違反が発生すると、ソフトウエア通知によって保護違反ハンドラが呼び出される。
【０００９】
保護違反ハンドラは、まずハードウエア（マイコン）に対して全ての割り込みを禁止する通知を行った上で、時刻ｔ１３においてタスク１の属するＡＰＰ１の停止要求をオペレーティングシステム本体部に通知する。オペレーティングシステムは、オペレーティングシステムの実行レベルでＡＰＰ１の停止処理を行い、これが終了した時刻ｔ１５において、ハードウエア（マイコン）に対して全ての割り込みを許可する通知を行う。
【００１０】
従って、時刻ｔ１３から時刻ｔ１５までが割り込み禁止期間となり、その間の時刻ｔ１４に外部等から割り込み通知が行われた場合、タスクへの割り込みは行われない（現実には、割り込みの受付は可能であり、割り込み内容はキューに登録され、割り込みが許可された後の時刻ｔ１６において割り込みが実行されることになる）。
【００１１】
このように、従来のＲＴＯＳを搭載したコンピュータでは、アプリケーションの停止処理の全期間に亘って割り込みが禁止されるため、割り込みによって起動されるタスクの待ち時間が長くなり、プロセスの処理応答の低下や時間保護の再発生などが生じる場合がある。
【００１２】
特に、ＲＴＯＳを搭載したコンピュータが、車両等の移動体やプラント等を制御する制御装置として用いられた場合に、このような不都合は回避する必要性が高いものとなる。例えば、車載制御装置では、センサやアクチュエータからの信号入力は外部からの割り込み通知によって行われることが多く、この割り込み通知をトリガーとして演算処理等のタスクが起動する。従って、停止処理が行われている期間の全てに亘って割り込みが禁止される場合、走行に関する処理（走る、止まる、曲がるに関する処理）に遅延が生じるため、好ましくない。
【００１３】
本発明はこのような課題を解決するためのものであり、タスクの実行により生じたアプリケーションの停止処理による処理遅延の影響を低減することが可能な情報処理装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するための本発明の一態様は、
複数のタスクを制御するリアルタイムオペレーティングシステム（ＲＴＯＳ）を搭載した情報処理装置であって、
割り込みの少なくとも一部を禁止又は許可する割り込み制御手段を備え、
前記複数のタスクのいずれかにおいて所定のエラー事象が発生したことに起因して行われるアプリケーションの停止処理を、前記リアルタイムオペレーティングシステムが行うオペレーティングシステム側停止処理と、前記リアルタイムオペレーティングシステムが起床する停止処理タスクが行うタスク側停止処理に分割し、
前記割り込み制御手段は、前記オペレーティングシステム側停止処理の実行中には割り込みを全て禁止し、前記タスク側停止処理の実行中には割り込みの少なくとも一部を許可することを特徴とする、
情報処理装置である。
【００１５】
この本発明の一態様によれば、複数のタスクのいずれかにおいて所定のエラー事象が発生したことに起因して行われるアプリケーションの停止処理を、リアルタイムオペレーティングシステムが行うオペレーティングシステム側停止処理と、オペレーティングシステムが起床する停止処理タスクが行うタスク側停止処理に分割したため、タスクの実行により生じたアプリケーションの停止処理による処理遅延の影響を低減することができる。
【００１６】
特に、停止処理タスクの実行に起因して他のタスクの処理遅延が生じるという不都合を抑制することができる。
【００１７】
本発明の一態様において、
前記アプリケーションの停止処理が実行される際には、まず前記オペレーティングシステム側停止処理が実行され、その後、前記タスク側停止処理が実行されることを特徴とするものとしてもよい。
【００１８】
また、本発明の一態様において、
前記リアルタイムオペレーティングシステムは、前記複数のタスクに設定される優先度によって前記複数のタスクの実行状態を制御しており、前記停止処理タスクに対して最も低い優先度を設定することを特徴とするものとすると、好適である。
【００１９】
こうすれば、停止処理タスクの実行に起因して他のタスクの処理遅延が生じるという不都合を抑制することができる。
【００２０】
また、本発明の一態様において、
前記リアルタイムオペレーティングシステムは、前記複数のタスクに設定される優先度によって前記複数のタスクの実行状態を制御しており、前記オペレーティングシステム側停止処理に対して最も高い優先度を設定することを特徴とするものとすると、好適である。
【００２１】
こうすれば、速やかにオペレーティングシステム側停止処理を終了することができ、オペレーティングシステム側停止処理の実行に起因するタスク等の待ち期間を迅速に解消することができる。
【００２２】
また、本発明の一態様において、
前記所定のエラー事象は、例えば、実行中のタスクによる制限時間違反、及び／又はアクセス制限違反である。
【００２３】
情報処理装置。
【００２４】
また、本発明の一態様において、
前記所定のエラー事象は、実行中のタスクに関するエラー事象であって、
該タスクを呼び出した、該タスクの属するアプリケーションとは異なるアプリケーションによって検知される事象であるものとしてもよい。
【００２５】
また、本発明の一態様において、
前記オペレーティングシステム側停止処理は、前記アプリケーションの停止処理によって停止されるアプリケーションに属する要素をレディーキューから外す処理、及び前記タスク側停止処理を起床する処理を含み、
前記タスク側停止処理は、エラー事象が生じたタスクの強制終了を含むものとしてもよい。
【発明の効果】
【００２６】
本発明によれば、タスクの実行により生じたアプリケーションの停止処理による処理遅延の影響を低減することが可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００２７】
【図１】従来の情報処理装置において、アプリケーションの停止処理によってプロセスの処理応答の低下や時間保護の再発生などが生じるという不都合が生じる場面を示すシーケンス図である。
【図２】本発明の一実施例に係る情報処理装置１のシステム状態の一例を概念的に示す概念図である。
【図３】本実施例に係る情報処理装置１により実行されるアプリケーション（ＯＳアプリ）を概念的に示すイメージ図である。
【図４】本実施例の情報処理装置１において、アプリケーションの停止処理が行われる場面を示すシーケンス図である。
【図５】オペレーティングシステム１０により実行されるオペレーティングシステム側停止処理（保護違反ハンドラによる処理を含む）の流れを示すフローチャートである。
【図６】停止処理タスク３５により実行されるタスク側停止処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２９】
以下、図面を参照し、本発明の一実施例に係る情報処理装置について説明する。本発明の情報処理装置は、マルチコア・プロセッサやシングルコア・プロセッサ、マルチプロセッサ等、コンピュータのハードウエア上の種別を問わずに適用可能なものであり、時間保護（制限時間ないし処理期限）が設定された種々のタスクを実行する。
【００３０】
［構成］
図２は、本発明の一実施例に係る情報処理装置１のシステム状態の一例を概念的に示す概念図である。情報処理装置１は、オペレーティングシステム（図中、ＯＳと表記した）１０を搭載し、このオペレーティングシステム１０によって複数のタスクを実行可能なマルチタスクコンピュータである。
【００３１】
図２に示すように、オペレーティングシステム１０、及びタスク２０＃１、タスク２０＃２…、ＩＳＲ（Interrupt  Service  Routine；割り込みハンドラ）３０＃３、停止処理タスク３５は、ハードウエア手段であるマイコン４０上に搭載される。タスク２０＃１は、アプリケーション＃１（図中、ＯＳアプリ＃１と表記した；以下同様）に属し、タスク２０＃２は、アプリケーション＃２に属し、ＩＳＲ（Interrupt  Service  Routine；割り込みハンドラ）３０＃３は、アプリケーション＃３に属している。
【００３２】
なお、ＯＳアプリとは、タスクやＩＳＲ、アラーム、リソース等、オペレーティングシステム１０が取り扱うことが可能なＯＳオブジェクトの集合体を意味する。
【００３３】
図３は、本実施例に係る情報処理装置１により実行されるアプリケーション（ＯＳアプリ）を概念的に示すイメージ図である。
【００３４】
オペレーティングシステム１０は、いわゆるリアルタイムオペレーティングシステム（ＲＴＯＳ）である。オペレーティングシステム１０は、基本的な機能として、予め定められ、或いは動的に変更されるタスクの優先度に応じて各タスクが処理を実行するように制御している。
【００３５】
具体的には、例えば、優先度の高いタスク２０＃１に対しては数［ｍｓ］毎に処理を実行させると共に、優先度のより低いタスク２０＃２に対しては、より低頻度な十数［ｍｓ］毎に処理を実行させるような制御を行う。
【００３６】
タスクの優先度に応じた制御は、上記のように頻度でタスクの処理時間を調整する場合に限定されず、例えば優先度の高いタスク２０＃１にＡ１サイクルの時間を割り当て、次いで優先度のより低いタスク２０＃２にＡ２サイクルの時間を割り当てる（Ａ１＞Ａ２）ことを繰り返すような制御であってもよいし、実行期間が競合した際に、優先度の高いタスクに優先的に実行開始させる制御であってもよい。
【００３７】
また、オペレーティングシステム１０は、タスクについて時間保護やメモリ保護に関する制御も行っている。すなわち、タスクが制限時間内に処理を終えたか、アクセス権の無いメモリ等へのアクセス要求が行われていないか等を監視しており、保護違反（タスクが制限時間内に処理を終えなかった、タスクがアクセス権の無いメモリ等へのアクセス要求を行った等）が生じた場合には、アプリケーションの停止処理を行っている。
【００３８】
ここで、「メモリ等」とは、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）等の記憶装置の全部或いは一部の領域を指す他、外部機器とのＩ／ＯやＡ／Ｄ変換器等を含み得る。
【００３９】
また、アプリケーションの停止処理は、上記のような保護違反が生じた場合にのみ行われるのではなく、その他の事由により行われてもよい。この場合、あるアプリケーションが他のアプリケーションに属するタスクを呼び出している最中に、当該タスクの処理結果に異常が生じたことを検知したことにより、当該タスクの属するアプリケーションの停止を要求するような流れが生じ得る。
【００４０】
なお、本実施例に係る情報処理装置１は、複数のオペレーティングシステムを搭載した装置として構成されることができる。図２におけるＩＳＲ３０＿２は、他のオペレーティングシステムが制御するアプリケーション群に関する処理を行う割り込みハンドラである。
【００４１】
タスク２０＃１、タスク２０＃２…は、情報処理装置１の用途に応じた処理を並行・独立して行うタスクである。なお、タスクの個数等に特段の制限はなく、如何なる個数のタスクが実行されてもよい。
【００４２】
ＩＳＲ３０＃３は、ソフトウエア割り込みやハードウエア割り込みを検知したときに起動し、ソフトウエア割り込みやハードウエア割り込みを検知したときに起動して、実行中のタスク等に対する割り込みを制御するソフトウエア手段（コールバックルーチン）である。ＩＳＲ３０＃３は、割り込み原因によって複数のものが用意されており、ハードウエア機器のための処理をしたり、システムコールなどを行ったりする。
【００４３】
停止処理タスク３５については後述する。
【００４４】
マイコン４０は、タイマ４２その他のハードウエアを有しており、ＣＰＵ割り込みをオペレーティングシステム１０やＩＳＲ３０＿２に通知することができる。
【００４５】
タイマ４２は、タスクの切り替えのための計時を行っており、所定の時刻になるとタイマ割り込みをオペレーティングシステム１０に対して行う。
【００４６】
［停止処理］
以下、本実施例の情報処理装置１による特徴的な処理について説明する。図４は、本実施例の情報処理装置１において、アプリケーションの停止処理が行われる場面を示すシーケンス図である。
【００４７】
図中、ＡＰＰ＃１、ＡＰＰ＃２、ＡＰＰ＃３は、アプリケーションプログラムを示し、タスク＃１、タスク＃２は、それぞれＡＰＰ＃１、ＡＰＰ＃２に属するタスクを示す。ＩＳＲ３０＃３は、ＡＰＰ＃３に属する割り込みハンドラである。保護違反ハンドラは、図１の場面と同様に、オペレーティングシステム１０の一部として機能し、保護違反が生じた際に起動して停止処理のうち開始直後の処理を実行する。本図において、ＩＳＲ３０＃３は高優先度に設定されており、タスク＃１が中優先度、タスク＃２が低優先度で作動する。
【００４８】
停止処理タスク３５は、オペレーティングシステム１０によって起動されるタスクであり、その起動後は、他のタスクと同様に、オペレーティングシステム１０による優先度に基づく実行制御が行われる。すなわち、停止処理タスク３５は、他のタスクと同列に制御される。
【００４９】
また、本実施例では、停止処理タスク３５は最低優先度に設定される。従って、他の優先度が高いタスクよりも低頻度で、処理順を比較的後回しにして、或いは実行タイミングが所定周期となっている他のタスクの実行期間の隙間に処理を実行するような態様で実行されるため、停止処理タスク３５の実行により他のタスクの処理応答性が低下するという不都合を低減することができる。
【００５０】
また、停止処理タスク３５の実行中は、情報処理装置１における割り込みが許可される。この結果、割り込み禁止期間が長くなることによりタスクの処理応答性が低下するという不都合を低減することができる。
【００５１】
図４の時刻ｔ１において、タスク２０＃２の実行が終了し、タスク２０＃１が実行開始する。次いで、時刻ｔ２においてタスク２０＃１に何らかの保護違反が発生すると、ソフトウエア通知によって保護違反ハンドラが呼び出される。
【００５２】
保護違反ハンドラは、まずハードウエア（マイコン）に対して全ての割り込みを禁止する通知を行った上で、時刻ｔ３においてタスク２０＃１の属するＡＰＰ１の停止要求をオペレーティングシステム１０の本体部に通知する。オペレーティングシステム１０は、オペレーティングシステム１０の実行レベルでＡＰＰ１の停止処理のうち前段部分の、オペレーティングシステム１０側の処理（オペレーティングシステム側停止処理）を行い、これが終了した時刻ｔ４において、ハードウエア（マイコン）に対して全ての割り込みを許可する通知を行う。オペレーティングシステム側停止処理の内容については後述する。なお、オペレーティングシステム側停止処理は、保護違反ハンドラによる処理を含んでもよい。
【００５３】
オペレーティングシステム側停止処理が終了すると、停止処理タスク３５が起床する。停止処理タスク３５は、起床後においては、他のタスクと同列に優先度に基づき実行制御がなされる。図４の例では、時刻ｔ４の時点で実行されるタスクのうち最も優先度が高いタスクはタスク２０＃２であるため、まずタスク２０＃２が実行状態となる。
【００５４】
タスク２０＃２の実行中における時刻ｔ５において外部等から割り込み通知が行われると、タスク２０＃２が一時的に実行を中断し、時刻ｔ６において割り込みが実行された後、タスク２０＃２が実行を再開する。
【００５５】
そして、タスク２０＃２が実行を終了すると、停止処理タスク３５が実行状態となる。停止処理タスク３５は、後述するように、保護違反が発生したタスク２０＃１の属するＡＰＰ１の停止処理のうち後段部分の、停止処理タスク３５側の処理（タスク側停止処理）を行う。タスク側停止処理の内容については後述する。
【００５６】
このように、本実施例に係る情報処理装置１では、アプリケーションの停止処理がオペレーティングシステム側停止処理とタスク側停止処理に分割され、オペレーティングシステム側停止処理が行われる期間に限って割り込みが禁止されるため、割り込みによって起動されるタスクの待ち時間が従来のＲＴＯＳを搭載したコンピュータに比して短くなる。この結果、タスクの実行により生じたアプリケーションの停止処理による処理遅延の影響を低減することができる。
【００５７】
［処理フロー］
以下、前述したオペレーティングシステム側停止処理とタスク側停止処理の具体的な内容について説明する。オペレーティングシステム側停止処理は、主として、アプリケーションを停止する必要が生じた際に、オペレーティングシステム１０が管理する内部情報のうち、停止する対象のアプリケーションに関連する情報を操作するための処理である。正常にアプリケーションを停止するためには、こうした操作処理を、他のアプリケーションの割り込み処理やタスクに優先して行うことはやむを得ない。従って、オペレーティングシステム側停止処理は、全割り込みが禁止された状態で高い優先度で（オペレーティングシステム１０の実行レベルで）実行される処理と位置づけされる。
【００５８】
図５は、オペレーティングシステム１０により実行されるオペレーティングシステム側停止処理（保護違反ハンドラによる処理を含む）の流れを示すフローチャートである。本フローは、タスクに保護違反が生じた際、及びあるアプリケーションが他のアプリケーションに属するタスクを呼び出している最中に、当該タスクの処理結果に異常が生じたことを検知した場合（これらをエラー事象と総称する）に開始される。以下、エラー事象が生じたタスクの属するアプリケーション（すなわち停止する対象のアプリケーション）を、停止対象アプリケーションと称する。
【００５９】
まず、保護違反ハンドラが全割り込み禁止を行う（Ｓ１００）。ここで、「全割り込み禁止」とは、マイコン４０からの全ての割り込みを禁止することを意味する。
【００６０】
次に、保護違反ハンドラが割り込み要因毎の割り込み禁止を行う（Ｓ１０２）。割り込み要因毎の割り込み禁止とは、停止対象アプリケーション（図４の例では、ＯＳアプリ＃１）に関連する割り込み要因から発生する割り込みを禁止することを意味する。なお、停止対象アプリケーションが一旦停止すると、再び割り込みを受け付けることが無いため、係る禁止処理に対応する解除処理は不要となる。
【００６１】
次に、オペレーティングシステム１０（保護違反ハンドラ以外の部分）は、停止対象アプリケーションに属するＯＳオブジェクト（実行可能タスク）をレディーキューから外す処理を行う（Ｓ１０４）。ここで、レディーキューとは、オペレーティングシステムにおいて、実行可能タスクをキューで管理するためのデータ構造である。図３の例においてタスク２０＃１にエラー事象が発生した場合、タスク２０＃１＿２、ＩＳＲ３０＃１、ＩＳＲ３０＃１＿２等がレディーキューから外されることになる。
【００６２】
そして、発生したエラー事象が保護違反によるものであるか否かを判定する（Ｓ１０６）。
【００６３】
発生したエラー事象が保護違反によるものである場合は、停止処理タスク３５を起床し（Ｓ１０８）、全割り込み禁止を解除する（Ｓ１１０）。
【００６４】
一方、発生したエラー事象が保護違反によるものでなく、あるアプリケーションが他のアプリケーションに属するタスクを呼び出している最中に、当該タスクの処理結果に異常が生じたことを検知したものである場合は、停止処理タスク３５を起床し（Ｓ１１２）、全割り込み禁止を解除し（Ｓ１１４）、異常が生じたタスクを呼び出していたアプリケーションに復帰する（Ｓ１１６）。
【００６５】
このように、発生したエラー事象が保護違反によるものであるか否かに拘わらず、停止処理タスク３５を起床した後は、速やかに割り込み禁止が解除されるため、割り込み禁止期間が長くなることによりタスクの処理応答性が低下するという不都合を低減することができる。
【００６６】
図６は、停止処理タスク３５により実行されるタスク側停止処理の流れを示すフローチャートである。本フローは、オペレーティングシステム側停止処理において停止処理タスク３５が起床され、その後、オペレーティングシステム１０によって停止処理タスク３５が実行状態とされたときに開始される。
【００６７】
まず、停止処理タスク３５は、停止対象アプリケーションに関して、実行中の割り込み処理の強制停止を行う（Ｓ２００）。
【００６８】
次に、停止処理タスク３５は、停止対象アプリケーションのアラーム機能を停止させる（Ｓ２０２）。アラーム機能とは、相対カウンタ、絶対カウンタ、同期カウンタ等のカウンタ値に基づいて、ソフトウエアに対するイベント通知を行う機能をいう。なお、既に通知されたイベントについては、図５のレディーキューから外す処理（Ｓ１０４）においてリセットされている。
【００６９】
そして、停止処理タスク３５は、停止対象アプリケーションの実行中タスクの強制停止を行い（Ｓ２０４）、本フローを終了する。
【００７０】
以上説明した本実施例の情報処理装置１によれば、アプリケーションの停止処理がオペレーティングシステム側停止処理とタスク側停止処理に分割され、オペレーティングシステム側停止処理が行われる期間に限って割り込みが禁止されるため、割り込みによって起動されるタスクの待ち時間が従来のＲＴＯＳを搭載したコンピュータに比して短くなる。この結果、タスクの実行により生じたアプリケーションの停止処理による処理遅延の影響を低減することができる。
【００７１】
また、停止処理タスク３５が最低優先度に設定されることにより、停止処理タスク３５の実行により他のタスクの処理応答性が低下するという不都合を低減することができる。
【００７２】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００７３】
例えば、保護違反が発生した場合、及び呼び出し元のアプリケーションが、呼び出し先のタスクの異常を検知した場合の双方において、アプリケーションの停止処理を行うものとしたが、保護違反が発生した場合にのみアプリケーションの停止処理を行うものとしてもよい。
【符号の説明】
【００７４】
１      情報処理装置
１０    オペレーティングシステム
２０＃１、２０＃２、…  タスク
３０＃３  ＩＳＲ
３５    停止処理タスク
４０    マイコン
４２    タイマ
【図１】
0005718712.tif 000002
【図２】
0005718712.tif 000003
【図３】
0005718712.tif 000004
【図４】
0005718712.tif 000005
【図５】
0005718712.tif 000006
【図６】
0005718712.tif 000007