(57)【要約】【課題】リアルタイムタスクと時分割多重タスクという異なる性質のタスクが混在する場合であっても、両方のタスクの処理を実行することができるタスク実行制御方法及び装置を提供する。【解決手段】リアルタイムタスクの実行順序についての優先度を設定する設定部３と、設定部３が設定した優先度のうち最も高い優先度のリアルタイムタスクを実行するタスク実行部７と、タスク実行部７が実行するリアルタイムタスクの次に実行するリアルタイムタスクを決定する制御部４を有する。また、制御部４が決定したリアルタイムタスクの優先度が、タスク実行部７が実行しているリアルタイムタスクの優先度よりも低い場合には、タスク実行部７によるリアルタイムタスクの実行後、リアルタイムタスクの実行を所定時間停止し時分割多重タスクを実行する。また、所定間隔経過後、リアルタイムタスクの実行を再開する。【選択図】図２
2006244293.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御方法であって、
前記リアルタイムタスクの実行順序についての優先度を設定する第１のステップと、
前記第１のステップで設定した優先度のうち最も高い第１の優先度のリアルタイムタスクを実行する第２のステップと、
前記第２のステップで実行するリアルタイムタスクの次に実行する第２の優先度のリアルタイムタスクを決定する第３のステップと、
前記第２の優先度が前記第１の優先度よりも低い場合には、前記第２のステップで実行するリアルタイムタスクの終了後、第１の時間間隔、リアルタイムタスクの実行を停止し、前記時分割多重タスクを実行する第４のステップと、
前記第１の時間間隔の経過後、前記第３のステップで決定したリアルタイムタスクを実行する第５のステップと、
を有することを特徴とするタスク実行制御方法。
【請求項２】
リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御方法であって、
前記リアルタイムタスクの実行順序についての優先度を設定する第１のステップと、
前記第１のステップで設定した優先度が高い順にリアルタイムタスクを実行する第２のステップと、
前記第２のステップで実行するリアルタイムタスクの優先度が所定の優先度以下になり、かつ、システムが高負荷状態の場合に、リアルタイムタスクと前記時分割多重タスクを並行して実行する第３のステップと、
を有することを特徴とするタスク実行制御方法。
【請求項３】
第２の時間間隔ごとに前記優先度が最も高いリアルタイムタスクの実行を開始することを特徴とする請求項１又は２に記載のタスク実行制御方法。
【請求項４】
リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御装置であって、
前記リアルタイムタスクの実行順序についての優先度を設定する優先度設定手段と、
前記優先度設定手段が設定した優先度のうち最も高い第１の優先度のリアルタイムタスクを実行するリアルタイムタスク実行手段と、
前記リアルタイムタスク実行手段が実行するリアルタイムタスクの次に実行する第２の優先度のリアルタイムタスクを決定する第１の制御手段と、
前記第２の優先度が前記第１の優先度よりも低い場合には、前記リアルタイムタスク実行手段が実行するリアルタイムタスクの終了後、第１の時間間隔、リアルタイムタスクの実行を停止し、前記時分割多重タスクを実行する時分割多重タスク実行手段と、
前記第１の時間間隔の経過後、前記第１の制御手段が決定したリアルタイムタスクを前記リアルタイムタスク実行手段に実行させる第２の制御手段と、
を有することを特徴とするタスク実行制御装置。
【請求項５】
リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御装置であって、
前記リアルタイムタスクの実行順序についての優先度を設定する優先度設定手段と、
前記優先度設定手段が設定した優先度が高い順にリアルタイムタスクを実行するリアルタイムタスク実行手段と、
前記リアルタイムタスク実行手段が実行するリアルタイムタスクの優先度が所定の優先度以下になり、かつ、システムが高負荷状態の場合に、リアルタイムタスクと前記時分割多重タスクを並行して実行する時分割多重タスク実行手段と、
を有することを特徴とするタスク実行制御装置。
【請求項６】
前記リアルタイムタスク実行手段は、第２の時間間隔ごとに前記優先度が最も高いリアルタイムタスクの実行を開始することを特徴とする請求項４又は５に記載のタスク実行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｌｉｎｕｘ（登録商標）などの汎用的なオペレーティングシステム（ＯＳ：Operating System）上でリアルタイムタスクと時分割多重タスクを実行するためのタスク実行制御方法及び装置に関する。
【背景技術】
【０００２】
従来から知られているリアルタイム処理システムでは、オペレーティングシステムがリアルタイム処理に特化したタスクの実行制御を行っている。また、Ｌｉｎｕｘ（登録商標）のようなオペレーティングシステムでは、複数のタスクの実行制御を時分割多重処理により実行している。なお、Ｌｉｎｕｘ（登録商標）のようなオペレーティングシステムでは、時分割多重によるタスクの処理だけでなく、ＣＰＵ（Central Processing Unit：中央演算処理装置）の使用権を独占してタスクの処理を行うリアルタイム処理も可能である。
【０００３】
しかし、リアルタイム処理に特化したオペレーティングシステムのように、実行するタスクの順序の制御や、実行するタスク間の優先制御を行うことはできない。そのため、優先度が設定されたタスクのリアルタイム処理を行うには、優先度が最も高いタスクにより他のリアルタイムタスクの実行制御を行う必要がある。また、リアルタイムタスクはＣＰＵの使用権を独占してしまうため、リアルタイムタスクが多数発生する場合には時分割多重タスクにＣＰＵの使用権が与えられず、リアルタイムタスク及び時分割多重タスクを実行するコンピュータ全体としての動作に問題が発生する可能性がある。
【非特許文献１】島田  禎晉、外１名、“ネットワーク・ノード方式”、オーム社、１９９４年１月２５日（１５０−１５８頁）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
リアルタイム処理が要求されるシステムの場合、優先度の高いリアルタイムタスクから順次ＣＰＵを占有して実行していく方法があるが、Ｌｉｎｕｘ（登録商標）のようなオペレーティングシステムではリアルタイムタスク以外の時分割多重タスクもシステムに生じる場合があるため、それらのタスクについても考慮する必要がある。
例えば、可用性を向上させるミドルウエアを組み込んだコンピュータ上でリアルタイムタスクの処理を実行する場合、可用性を向上させるミドルウエアの時分割多重タスクに対してもＣＰＵの使用権を適切に割り当てないと、そのミドルウエアの機能を利用できなくなるという問題がある。
また、リアルタイムタスクが時分割多重タスクに依存した処理を行う場合には、リアルタイムタスクが多数発生すると時分割多重タスクが停止してしまい、その結果としてリアルタイムタスクも停止してしまうという問題がある。
【０００５】
本発明は、上記事情を考慮してなされたもので、その目的は、リアルタイムタスクと時分割多重タスクという異なる性質のタスクが混在する場合であっても、両方のタスクの処理を実行することができるタスク実行制御方法及び装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記課題を解決するためになされたもので、請求項１に記載の発明は、リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御方法であって、前記リアルタイムタスクの実行順序についての優先度を設定する第１のステップと、前記第１のステップで設定した優先度のうち最も高い第１の優先度のリアルタイムタスクを実行する第２のステップと、前記第２のステップで実行するリアルタイムタスクの次に実行する第２の優先度のリアルタイムタスクを決定する第３のステップと、前記第２の優先度が前記第１の優先度よりも低い場合には、前記第２のステップで実行するリアルタイムタスクの終了後、第１の時間間隔、リアルタイムタスクの実行を停止し、前記時分割多重タスクを実行する第４のステップと、前記第１の時間間隔の経過後、前記第３のステップで決定したリアルタイムタスクを実行する第５のステップとを有することを特徴とするタスク実行制御方法である。
【０００７】
また、請求項２に記載の発明は、リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御方法であって、前記リアルタイムタスクの実行順序についての優先度を設定する第１のステップと、前記第１のステップで設定した優先度が高い順にリアルタイムタスクを実行する第２のステップと、前記第２のステップで実行するリアルタイムタスクの優先度が所定の優先度以下になり、かつ、システムが高負荷状態の場合に、リアルタイムタスクと前記時分割多重タスクを並行して実行する第３のステップとを有することを特徴とするタスク実行制御方法である。
【０００８】
また、請求項３に記載の発明は、第２の時間間隔ごとに前記優先度が最も高いリアルタイムタスクの実行を開始することを特徴とする請求項１又は２に記載のタスク実行制御方法である。
【０００９】
また、請求項４に記載の発明は、リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御装置であって、前記リアルタイムタスクの実行順序についての優先度を設定する優先度設定手段と、前記優先度設定手段が設定した優先度のうち最も高い第１の優先度のリアルタイムタスクを実行するリアルタイムタスク実行手段と、前記リアルタイムタスク実行手段が実行するリアルタイムタスクの次に実行する第２の優先度のリアルタイムタスクを決定する第１の制御手段と、前記第２の優先度が前記第１の優先度よりも低い場合には、前記リアルタイムタスク実行手段が実行するリアルタイムタスクの終了後、第１の時間間隔、リアルタイムタスクの実行を停止し、前記時分割多重タスクを実行する時分割多重タスク実行手段と、前記第１の時間間隔の経過後、前記第１の制御手段が決定したリアルタイムタスクを前記リアルタイムタスク実行手段に実行させる第２の制御手段とを有することを特徴とするタスク実行制御装置である。
【００１０】
また、請求項５に記載の発明は、リアルタイム処理を行うリアルタイムタスクと、時分割多重処理を行う時分割多重タスクを制御するためのタスク実行制御装置であって、前記リアルタイムタスクの実行順序についての優先度を設定する優先度設定手段と、前記優先度設定手段が設定した優先度が高い順にリアルタイムタスクを実行するリアルタイムタスク実行手段と、前記リアルタイムタスク実行手段が実行するリアルタイムタスクの優先度が所定の優先度以下になり、かつ、システムが高負荷状態の場合に、リアルタイムタスクと前記時分割多重タスクを並行して実行する時分割多重タスク実行手段とを有することを特徴とするタスク実行制御装置である。
【００１１】
また、請求項６に記載の発明は、前記リアルタイムタスク実行手段は、第２の時間間隔ごとに前記優先度が最も高いリアルタイムタスクの実行を開始することを特徴とする請求項４又は５に記載のタスク実行制御装置である。
【発明の効果】
【００１２】
本発明では、実行するリアルタイムタスクの優先度が低下する際に、第１の時間間隔、時分割多重タスクを実行し、第１の時間間隔経過後は、リアルタイムタスクの実行を再開することにした。
これにより、リアルタイムタスクだけではなく、時分割多重タスクについても所定の割り合いで実行させることにより、リアルタイムタスクと時分割多重タスク双方を協調動作させることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の実施形態によるタスク実行制御装置の概略構成図である。ここでは、Ｌｉｎｕｘ（登録商標）を利用して本実施形態によるタスク実行制御装置の処理を実行する場合について説明する。
タスク実行制御装置には、ユーザによるキーボードなどの入力部からの操作等により、タスク実行制御装置が処理を行うタスクが生じる。このタスクには、高優先リアルタイムタスク４０、低優先リアルタイムタスク５０などのリアルタイムタスクと、時分割多重タスク６０がある。リアルタイムタスクは、リアルタイムに処理が行われるタスクであり、時分割多重タスクは、所定時刻ごとにＣＰＵが処理を実行するタスクを変化させることにより同時に複数のタスクを実行するタスクをいう。
【００１４】
実行制御タスク２０は、リアルタイムタスクを実行するためのタスクであり、リアルタイムタスク情報テーブル３０に記録される優先度の高低の情報に応じて、例えば、高優先リアルタイムタスク４０、低優先リアルタイムタスク５０の順にタスクを実行する。
リアルタイムタスクと時分割多重タスクを同時に処理することはできないため、オペレーティングシステムのスケジューラ１０は、いずれのタスクを実行するかによって制御を切り替える。
【００１５】
なお、オペレーティングシステムとしてＬｉｎｕｘ（登録商標）を使用することにより高可用機能を実現するためには、高可用機能を実現するためのソフトウエアをコンピュータにインストールして利用することが考えられる。この場合、高可用機能を提供するタスクがオペレーティングシステムのスケジューラ１０に自らの処理の管理を任せる時分割多重タスク６０である可能性がある。
【００１６】
オペレーティングシステムとしてＬｉｎｕｘ（登録商標）を使用した場合に、高優先リアルタイムタスク４０、低優先リアルタイムタスク５０の処理が開始されると、自タスクがＣＰＵの使用権を他のタスクに譲らない限り、時分割多重タスクが実行されなくなってしまう。以下に、そのような問題を解決するためのタスク実行制御方法について説明する。
【００１７】
図２は、本実施形態によるタスク実行制御装置１の構成を示すブロック図である。このタスク実行制御装置１は、入力部２、設定部３、制御部４、記録部５、タイマ６、タスク実行部７、表示部８を有する。
入力部２は、キーボードなどの入力機器であり、ユーザの操作情報などを入力する。ユーザによる入力部２の操作等によってリアルタイムタスクや時分割多重タスクが生じる。
設定部３は、入力部２での操作等により生じるリアルタイムタスクについて、そのリアルタイムタスクをどの程度優先して実行するかについての優先度の情報や、システム全体としてリアルタイムタスクを実行するのにどの程度の負荷を要するかについての負荷情報を生成し、制御部４に出力する。例えば、リアルタイムタスクが多数発生して時分割多重タスクが所定の時間実行されていない場合には、システムが高負荷状態であるという負荷情報を生成する。
【００１８】
制御部４は、設定部３から出力される優先度の情報や負荷情報を記録部５に記録する。記録部５としてはＲＡＭ（Random Access Memory）などが用いられる。なお、記録部５は、図１におけるリアルタイムタスク情報テーブル３０に該当する。
図３は、記録部５に記録されるリアルタイムタスク情報テーブル３０の一例を示す図である。図に示すように、リアルタイムタスク情報テーブルには、リアルタイムタスク名（タスクＡ、タスクＢ、・・・）、優先度（高優先、中優先、低優先）などの情報が、それぞれ対応付けられて記録される。
【００１９】
図２に戻り、制御部４は記録部５に記録されている優先度の情報や現在時刻についての情報を出力するタイマ６の情報に基づいて、タスク実行部７に対してリアルタイムタスクや時分割多重タスクの実行命令を出力する。なお、制御部４は図１におけるオペレーティングシステムのスケジューラ１０、実行制御タスク２０に該当する。
タスク実行部７は、制御部４から出力されるタスクの実行命令に基づいて、リアルタイムタスク又は時分割多重タスクのいずれかを実行する。タスク実行部７により実行されたタスクの処理結果は、例えば、表示画面などの表示部８に出力され表示される。
【００２０】
次に、制御部４（図２参照）によるリアルタイムタスク、時分割多重タスクの実行制御方法について説明する。
始めに、本発明の第１から第３の実施形態によるタスク実行制御方法を説明する前提として、従来から使用されているタスク実行制御方法を図４を参照して説明する。
図４は、リアルタイムタスク、時分割多重タスクの一般的な実行制御方法を示す図である。ここでは、高優先リアルタイムタスク、中優先リアルタイムタスク、低優先リアルタイムタスク、時分割多重タスクがそれぞれ生じている場合について説明する。
制御部４は、優先度が高いリアルタイムタスクの順番、つまり、高優先リアルタイムタスクの処理ｐ１２、中優先リアルタイムタスクの処理ｐ１３、低優先リアルタイムタスクの処理ｐ１４の順番に従ってリアルタイムタスクを実行し、その後、時分割多重タスクの処理ｐ１５を実行する。
【００２１】
制御部４には、所定の時間間隔ｔ１（請求項における第２の時間間隔）ごとにタイマ６から割り込み信号１１ａ、１１ｂ、・・・が出力される。制御部４はタイマ６から割り込み信号１１ａ、１１ｂ、・・・を受信すると、タスク実行部７に実行命令を出力することにより、それまで実行していたタスクの処理（ここでは、時分割多重タスクの処理ｐ１５）を停止し、優先度が最も高いリアルタイムタスクの処理（ここでは、高優先リアルタイムタスクの処理ｐ１６）を実行し、その後、優先度の高い順にリアルタイムタスクの処理（ここでは、中優先リアルタイムタスクの処理ｐ１７、低優先リアルタイムタスクの処理ｐ１８、・・・）を実行する。しかし、この実行制御方法を使用すると、リアルタイムタスクが多数発生したような場合に、時分割多重タスクの処理が実行される前に所定の時間間隔ｔ１が経過して、優先度の高いリアルタイムタスクへと処理が移行してしまう可能性がある。このような問題を解決するために、本発明の第１から第３の実施形態によるタスク実行制御方法では、以下に示すような制御を行うようにした。
【００２２】
始めに、本発明の第１の実施形態によるタスク実行制御方法について説明する。
図５は、本実施形態によるリアルタイムタスク、時分割多重タスクの実行制御方法を示す図である。ここでは、高優先リアルタイムタスク、中優先リアルタイムタスク、低優先リアルタイムタスク、時分割多重タスクがそれぞれ生じている場合について説明する。
制御部４は、優先度が高いリアルタイムタスクの順番、つまり、高優先リアルタイムタスクの処理ｐ２２、中優先リアルタイムタスクの処理ｐ２４、低優先リアルタイムタスクの処理ｐ２６の順にリアルタイムタスクを実行する。
【００２３】
ただ、高優先リアルタイムタスクの処理ｐ２２を終了して中優先リアルタイムタスクの処理ｐ２４に移る際（又は、中優先リアルタイムタスクの処理ｐ２４を終了して低優先リアルタイムタスクの処理ｐ２６に移る際）、つまり、優先度が低いリアルタイムタスクの実行に移行する際に所定の時間間隔ｔ２（請求項における第１の時間間隔）だけリアルタイムタスクの実行を停止し、時分割多重タスクの処理ｐ２３（又は、時分割多重タスクの処理ｐ２５）を実行する。そして、所定の時間間隔ｔ２経過後、停止していた中優先リアルタイムタスクの処理ｐ２４（又は、低優先リアルタイムタスクの処理ｐ２６）を実行する。
【００２４】
制御部４には、所定の時間間隔ｔ１ごとにタイマ６から割り込み信号が出力される。制御部４はタイマ６から割り込み信号１１ａ、１１ｂ、・・・を受信すると、タスク実行部７を制御することにより、それまで実行していたタスクの処理（ここでは、時分割多重タスクの処理ｐ２７）を中止し、優先度が最も高いリアルタイムタスクの処理を開始する。
上述した実施形態によるタスク実行制御方法を使用すれば、タスク実行部７により実行するリアルタイムタスクの優先度が低下するたびに、所定の時間間隔ｔ２だけ時分割多重タスクに対して、ＣＰＵ等の使用権が割り当てられるため、時分割多重タスクが実行されないという問題を防ぐことができる。
【００２５】
次に、本発明の第２の実施形態によるタスク実行制御方法について説明する。
図６は、本実施形態によるリアルタイムタスク、時分割多重タスクの実行制御方法を示す図である。ここでは、高優先リアルタイムタスク、中優先リアルタイムタスク、低優先リアルタイムタスク、時分割多重タスクがそれぞれ生じている場合について説明する。
制御部４は、優先度が高いリアルタイムタスクの順番、つまり、高優先リアルタイムタスクの処理ｐ３２、中優先リアルタイムタスクの処理ｐ３３、低優先リアルタイムタスクの処理ｐ３４の順にリアルタイムタスクを実行する。
【００２６】
ただ、本実施形態では、所定の優先度よりも低い優先度のリアルタイムタスクの処理を実行する際には、時分割多重タスクも並行して実行する。ここでは、所定の優先度として「低優先」を設定しており、中優先リアルタイムタスクの処理ｐ３３の実行後、低優先リアルタイムタスクの処理ｐ３４を実行する際に、時分割多重タスクの処理ｐ３５についても同時に実行する。
【００２７】
制御部４には、所定の時間間隔ｔ１ごとにタイマ６から割り込み信号１１ａ、１１ｂ、・・・が出力される。制御部４はタイマ６から割り込み信号（ここでは、割り込み信号１１ｂ）を受信すると、タスク実行部７を制御することにより、それまで実行していたタスクの処理（ここでは、時分割多重タスクの処理ｐ３５）を中止し、優先度が最も高いリアルタイムタスクの処理を開始する。
上述した実施形態によるタスク実行制御方法を使用すれば、タスク実行部７により低優先リアルタイムタスクを実行する代わりに時分割多重タスクに対して、ＣＰＵ等の使用権が割り当てられるため、時分割多重タスクが実行されないという問題を防ぐことができる。
【００２８】
次に、本発明の第３の実施形態によるタスク実行制御方法について説明する。
図７は、本実施形態によるリアルタイムタスク、時分割多重タスクの実行制御方法を示すフローチャートである。始めに、タスク実行制御装置１で実行中の実行制御タスク２０が存在する場合、その実行制御タスク２０を中止する（ステップＳ０１）。そして、タスク実行モードをリアルタイム実行モードに設定する（ステップＳ０２）。
次に、設定部３はタスク実行制御装置１が処理の対象とするリアルタイムタスクの優先度についての情報である「カレント優先度」を、最も高い優先度に設定する（ステップＳ０３）。
次に、制御部４はカレント優先度と同じ優先度のリアルタイムタスクが中断中であるか否かについて判定する（ステップＳ０４）。中断中である場合には、ステップＳ０４で「Ｙｅｓ」と判定し、中断中のリアルタイムタスクの実行を再開する（ステップＳ０５）。一方、中断中ではない場合には、ステップＳ０４で「Ｎｏ」と判定し、ステップＳ０６へ進む。
【００２９】
そして、カレント優先度に設定されている優先度を有する実行待ちのリアルタイムタスクが存在するか否かについて判定する（ステップＳ０６）。実行待ちのリアルタイムタスクが存在する場合には、ステップＳ０６で「Ｙｅｓ」と判定し、実行モードに従って実行待ちタスクを実行し（ステップＳ０７）、実行タスクが終了するまでスリープする（ステップＳ０８）。そして、再度ステップＳ０６へ進む。一方、実行待ちのリアルタイムタスクが存在しない場合には、ステップＳ０６で「Ｎｏ」と判定しステップＳ０９へ進む。
そして、カレント優先度が最低優先度であるか否かについて判定する。カレント優先度が最低優先度である場合、例えば、カレント優先度が「低優先」である場合には、ステップＳ０９で「Ｙｅｓ」と判定し、図７によるフローチャートの処理を終了する。一方、カレント優先度が最低優先ではない場合、例えば、カレント優先度が「高優先」、「中優先」である場合には、ステップＳ０９で「Ｎｏ」と判定し、ステップＳ１０へ進む。
【００３０】
そして、カレント優先度を下げる（ステップＳ１０）。例えば、カレント優先度が「高優先」に設定されている場合には、カレント優先度を「中優先」に再設定する。また、カレント優先度が「中優先」に設定されている場合には、カレント優先度を「低優先」に再設定する。
次に、カレント優先度が低優先、かつ、負荷状態が高負荷であるか否かについて、記録部５に記録されているリアルタイム情報テーブル３０を参照することなどにより判定する（ステップＳ１１）。カレント優先度が低優先、かつ、負荷状態が高負荷の条件を満たさない場合には、ステップＳ１１で「Ｎｏ」と判定しステップＳ１３へ進む。一方、カレント優先度が低優先、かつ、負荷状態が高負荷の条件を満たす場合には、ステップＳ１１で「Ｙｅｓ」と判定し、タスク実行モードを時分割多重モードに設定する（ステップＳ１２）。
【００３１】
そして、所定時間ｔ２の間、優先度が低優先のリアルタイムタスクの処理を実行するとともに、時分割多重タスクの処理を実行する。所定時間ｔ２の経過後は、時分割多重タスクの処理を停止し、リアルタイムタスクの処理を実行する。そして、再度ステップＳ０２へ進む。
上述した実施形態によるタスク実行制御方法を使用すれば、リアルタイムタスクだけではなく、時分割多重タスクに対して、ＣＰＵの使用権が与えられ、リアルタイムタスクと時分割多重タスク双方の協調動作が可能となる。
【００３２】
上述した本発明の第１から第３の実施形態によるタスク実行制御方法では、従来のリアルタイム処理システムではリアルタイムタスクのＣＰＵ使用権の解放はリアルタイムタスクが自発的に行う必要があったのに対して、制御部４（図１の実行制御タスク２０）がリアルタイムタスクの処理に対する所定の割り合いで時分割多重タスクを実行するようにした。これにより、リアルタイムタスクが自発的にＣＰＵの使用権を解放しなくても、時分割多重タスクにＣＰＵの使用権を割り当てることが可能となる。
【００３３】
なお、上述した第１〜第３の実施形態の説明では、優先度が「高優先」、「中優先」、「低優先」の３種類の場合について説明したが、このような構成に限定されるものではない。例えば、優先度として−２０から２０の整数値を使用することにより、リアルタイムタスクを管理してもよい。
【００３４】
なお、以上説明した実施形態において、図２の設定部３、制御部４、タスク実行部７などの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりタスク実行制御装置１の制御を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウエアを含むものとする。
【００３５】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００３６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態によるタスク実行制御装置の概略構成図である。
【図２】本実施形態によるタスク実行制御装置１の構成を示すブロック図である。
【図３】記録部５に記録されるリアルタイムタスク情報テーブル３０の一例を示す図である。
【図４】リアルタイムタスク、時分割多重タスクの一般的な実行制御方法を示す図である。
【図５】本発明の第１の実施形態によるリアルタイムタスク、時分割多重タスクの実行制御方法を示す図である。
【図６】本発明の第２の実施形態によるリアルタイムタスク、時分割多重タスクの実行制御方法を示す図である。
【図７】本発明の第３の実施形態によるリアルタイムタスク、時分割多重タスクの実行制御方法を示すフローチャートである。
【符号の説明】
【００３８】
１・・・タスク実行制御装置、２・・・入力部、３・・・設定部、４・・・制御部、５・・・記録部、６・・・タイマ、７・・・タスク実行部、８・・・表示部、１０・・・オペレーティングシステムのスケジューラ１０、２０・・・実行制御タスク、３０・・・リアルタイムタスク情報テーブル、４０・・・高優先リアルタイムタスク、５０・・・低優先リアルタイムタスク、６０・・・時分割多重タスク
【図１】
2006244293.tif 000003
【図２】
2006244293.tif 000004
【図３】
2006244293.tif 000005
【図４】
2006244293.tif 000006
【図５】
2006244293.tif 000007
【図６】
2006244293.tif 000008
【図７】
2006244293.tif 000009