(57)【要約】【課題】システムリソースに制限がある組み込み装置に適用され、システムリソースの負荷を低減することができるマルチタスクスケジューリング機能搭載装置等を提供する。【解決手段】タスク２は、実行命令として記述された実行ブレイクポイントに応じて、複数のセグメントルーチンに分割されている。装置は、タスク毎に規定された占有可能時間と、セグメントルーチン毎に対応付けられたセグメント実行時間とを有するタスク参考情報を蓄積するタスク参考情報蓄積部１０４と、タスク参考情報を用いて、実行すべき複数のセグメントルーチンのセグメント実行時間の合計が、そのタスクの占有可能時間以内となるように、そのタスクを実行するタスク切替部１０３とを有する。【選択図】図１
2008033577.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクの実行順序をスケジューリングするマルチタスクスケジューリング機能搭載装置において、
前記タスクは、実行命令として記述された実行ブレイクポイントに応じて、複数のセグメントルーチンに分割されており、
前記タスク毎に規定された占有可能時間と、前記セグメントルーチン毎に対応付けられたセグメント実行時間とを有するタスク参考情報を蓄積するタスク参考情報蓄積手段と、
前記タスク参考情報を用いて、実行すべき複数の前記セグメントルーチンのセグメント実行時間の合計が、当該タスクの占有可能時間以内となるように、当該タスクを実行する前記タスク切替手段と
を有することを特徴とするマルチタスクスケジューリング機能搭載装置。
【請求項２】
前記タスク切替手段は、当該タスクにおける現時点までの総実行時間に、次セグメントルーチンのセグメント実行時間を合計した予測実行時間が、当該タスクの占有可能時間以内となる場合に、前記次セグメントルーチンを続けて実行することを特徴とする請求項１に記載のマルチタスクスケジューリング機能搭載装置。
【請求項３】
前記タスクは、オブジェクト指向における基底クラスによって前記実行ブレイクポイントの分割が実現されており、派生クラスによって前記基底クラスを継承したセグメントルーチンが実現されることを特徴とする請求項１又は２に記載のマルチタスクスケジューリング機能搭載装置。
【請求項４】
前記セグメント実行時間は、当該タスクの当該セグメントルーチンにおける平均実行時間であることを特徴とする請求項１から３のいずれか１項に記載のマルチタスクスケジューリング機能搭載装置。
【請求項５】
前記タスク参考情報は、前記タスク毎に優先度を更に含み、
前記占有可能時間は、前記優先度に応じて決定されている
ことを特徴とする請求項１から４のいずれか１項に記載のマルチタスクスケジューリング機能搭載装置。
【請求項６】
前記タスク参考情報は、タスク識別子及びセグメント識別子に基づいて管理されていることを特徴とする請求項１から５のいずれか１項に記載のマルチタスクスケジューリング機能搭載装置。
【請求項７】
複数のタスクの実行順序をスケジューリングするようにコンピュータを機能させるマルチタスクスケジューリングプログラムにおいて、
前記タスクは、実行命令として記述された実行ブレイクポイントに応じて、複数のセグメントルーチンに分割されており、
前記タスク毎に規定された占有可能時間と、前記セグメントルーチン毎に対応付けられたセグメント実行時間とを有するタスク参考情報を蓄積するタスク参考情報蓄積手段と、
前記タスク参考情報を用いて、実行すべき複数の前記セグメントルーチンのセグメント実行時間の合計が、当該タスクの占有可能時間以内となるように、当該タスクを実行する前記タスク切替手段と
してコンピュータを機能させることを特徴とするマルチタスクスケジューリングプログラム。
【請求項８】
前記タスク切替手段は、当該タスクにおける現時点までの総実行時間に、次セグメントルーチンのセグメント実行時間を合計した予測実行時間が、当該タスクの占有可能時間以内となる場合に、前記次セグメントルーチンを続けて実行するようにコンピュータを機能させることを特徴とする請求項７に記載のマルチタスクスケジューリングプログラム。
【請求項９】
前記タスクは、オブジェクト指向における基底クラスによって前記実行ブレイクポイントの分割が実現されており、派生クラスによって前記基底クラスを継承したセグメントルーチンが実現されることを特徴とする請求項７又は８に記載のマルチタスクスケジューリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタスクスケジューリング機能搭載装置及びプログラムに関する。特に、ＣＰＵ(Central Processing Unit)を搭載した組み込み装置におけるマルチタスクスケジューリング技術に関する。
【背景技術】
【０００２】
従来、ＣＰＵによって実行されるオペレーティングシステム（ＯＳ:Operating System）は、複数のタスクの実行順序をスケジューリングし、複数のタスクを見かけ上、同時に処理するマルチタスクスケジューリング機能を有する。タスクとは、オペレーティングシステムから見た（ユーザから見た）処理の単位である。即ち、１つのアプリケーションの処理全体を１つのタスクとして扱う。例えば、メールの送受信やファイルダウンロードのような処理単位である。
【０００３】
マルチタスクスケジューリング機能は、ＣＰＵの処理時間を非常に短い単位に分割し、複数のアプリケーションに順番に割り当てる。即ち、一定時間間隔（タイムスライス）で、タスクが切り替えられる。これにより、複数のアプリケーションは、見かけ上、同時に処理される。マルチタスクスケジューリング機能には、主に以下の２つのアプローチがある。
【０００４】
第１のアプローチとして、ラウンドロビンスケジューリングについて、各タスクに実行優先順位を設け、それに基づいて各タスクの実行許可時間を決定し、各タスクを順番に実行する技術がある（例えば特許文献１参照）。
【０００５】
第２のアプローチとして、ラウンドロビンスケジューリングについて、過去に実行されたタスクの実行回数によって、優先度を決定する技術もある（例えば特許文献２参照）。
【０００６】
【特許文献１】特開２００２−１６３１１７号公報
【特許文献２】特開２０００−２１５０６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のマルチタスクスケジューリングによれば、アプリケーションの一連の処理を、処理内容に関係なく、強制的に切り替える。そのために、タスクを一時的に中止し、そのタスクの実行状態を、メモリに保存し且つメモリから回復する処理が必要となる。また、複数のタスクを高速に且つ頻繁に切り替えるため、ＣＰＵ又はメモリ等のシステムリソースに多くの負荷がかかる。このような処理は、高い処理能力のシステムリソースを備えるパーソナルコンピュータでは殆ど問題とならないが、低い処理能力のシステムリソースしか搭載できない組み込み装置では負担となる。
【０００８】
一方で、ＯＳがＣＰＵを管理することなく、実行中の各アプリケーション自身が処理時間を管理する技術もある。即ち、各アプリケーションが、自らの空き時間に、自身が占有するシステムリソースを自発的に開放し、他のアプリケーションが利用できるようにする。この場合、ＯＳがマルチタスクスケジューリング機能を搭載する必要がなくなる。しかしながら、アプリケーション開発者が、常にマルチタスクスケジューリング機能を意識して、アプリケーションを開発する必要があるため、開発コストや複雑度が非常に高い。
【０００９】
従って、本発明は、システムリソースに制限がある組み込み装置に適用され、システムリソースの負荷を低減することができるマルチタスクスケジューリング機能搭載装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によれば、複数のタスクの実行順序をスケジューリングするマルチタスクスケジューリング機能搭載装置において、
タスクは、実行命令として記述された実行ブレイクポイントに応じて、複数のセグメントルーチンに分割されており、
タスク毎に規定された占有可能時間と、セグメントルーチン毎に対応付けられたセグメント実行時間とを有するタスク参考情報を蓄積するタスク参考情報蓄積手段と、
タスク参考情報を用いて、実行すべき複数のセグメントルーチンのセグメント実行時間の合計が、当該タスクの占有可能時間以内となるように、当該タスクを実行するタスク切替手段とを有することを特徴とする。
【００１１】
本発明のマルチタスクスケジューリング機能搭載装置における他の実施形態によれば、タスク切替手段は、当該タスクにおける現時点までの総実行時間に、次セグメントルーチンのセグメント実行時間を合計した予測実行時間が、当該タスクの占有可能時間以内となる場合に、次セグメントルーチンを続けて実行することも好ましい。
【００１２】
本発明のマルチタスクスケジューリング機能搭載装置における他の実施形態によれば、タスクは、オブジェクト指向における基底クラスによって実行ブレイクポイントの分割が実現されており、派生クラスによって基底クラスを継承したセグメントルーチンが実現されることも好ましい。
【００１３】
本発明のマルチタスクスケジューリング機能搭載装置における他の実施形態によれば、セグメント実行時間は、当該タスクの当該セグメントルーチンにおける平均実行時間であることも好ましい。
【００１４】
本発明のマルチタスクスケジューリング機能搭載装置における他の実施形態によれば、タスク参考情報は、タスク毎に優先度を更に含み、占有可能時間は、優先度に応じて決定されていることも好ましい。
【００１５】
本発明のマルチタスクスケジューリング機能搭載装置における他の実施形態によれば、タスク参考情報は、タスク識別子及びセグメント識別子に基づいて管理されていることも好ましい。
【００１６】
本発明によれば、複数のタスクの実行順序をスケジューリングするようにコンピュータを機能させるマルチタスクスケジューリングプログラムにおいて、
タスクは、実行命令として記述された実行ブレイクポイントに応じて、複数のセグメントルーチンに分割されており、
タスク毎に規定された占有可能時間と、セグメントルーチン毎に対応付けられたセグメント実行時間とを有するタスク参考情報を蓄積するタスク参考情報蓄積手段と、
タスク参考情報を用いて、実行すべき複数のセグメントルーチンのセグメント実行時間の合計が、当該タスクの占有可能時間以内となるように、当該タスクを実行するタスク切替手段としてコンピュータを機能させることを特徴とする。
【００１７】
本発明のマルチタスクスケジューリングプログラムにおける他の実施形態によれば、タスク切替手段は、当該タスクにおける現時点までの総実行時間に、次セグメントルーチンのセグメント実行時間を合計した予測実行時間が、当該タスクの占有可能時間以内となる場合に、次セグメントルーチンを続けて実行するようにコンピュータを機能させることも好ましい。
【００１８】
本発明のマルチタスクスケジューリングプログラムにおける他の実施形態によれば、タスクは、オブジェクト指向における基底クラスによって実行ブレイクポイントの分割が実現されており、派生クラスによって基底クラスを継承したセグメントルーチンが実現されることも好ましい。
【発明の効果】
【００１９】
本発明のマルチタスクスケジューリング機能搭載装置及びプログラムによれば、システムリソースに制限がある組み込み装置であっても、システムリソースの負荷を低減することができる。タスクは、複数のセグメントルーチンに分割され、一連の処理単位となるセグメントルーチンは、タスク切り替えの中止無しに処理されるために、タスク切替時のシステムリソースの負荷が少なくてすむ。
【発明を実施するための最良の形態】
【００２０】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２１】
図１は、本発明におけるマルチタスクスケジューリング機能搭載装置のソフトウェア機能構成図である。
【００２２】
図１の装置は、オペレーティングシステム１と、複数のタスク２とを有する。これら機能部は、通常、コンピュータによって実行されるプログラムによって実現される。
【００２３】
タスク２は、基本的に、初期化部、実行部及び終了部を有する。初期化部は、メモリから、そのタスクの実行状態を回復する処理をする。一方、終了部は、そのタスクの実行状態を、メモリへ記憶する処理をする。
【００２４】
実行部は、本発明によれば複数のセグメントルーチンから構成される。複数のセグメントルーチンは、実行命令として記述された実行ブレイクポイントに応じて分割される。
【００２５】
実行ブレイクポイントを指定する第１の方法として、実行ブレイクポイントとして予め規定したコード"Do Something;"を、アプリケーションプログラムに記述する。通常、アプリケーション開発者は、ＯＳのスケジューリング機能を全く意識しないけれども、本発明によれば、タスクの切替許可を指定する必要がある。
【００２６】
実行ブレイクポイントを指定する第２の方法として、オブジェクト指向における継承を用いる。
【００２７】
図２は、本発明におけるタスクで用いられるクラスの記述である。
【００２８】
図２によれば、タスクは、基底クラスによって実行ブレイクポイントの分割が実現されており、派生クラスによってその基底クラスを継承したセグメントルーチンが実現される。図２によれば、"OnSegmentRoute1()"、"OnSegmentRoute2()"・・・"OnSegmentRouteN()"によって、セグメントルーチンが規定されている。
【００２９】
タスクが、メール送信アプリケーション（ＳＭＴＰ送信）である場合、例えば以下の５つのセグメントルーチンに分割される。
（１）Socket接続
（２）認証
（３）送受信文字列のエンコード
（４）送信
（５）Socket切断
【００３０】
アプリケーション開発者は、本発明における基底クラスを継承した派生クラスを１つのタスクとして実装することにより、実行ブレイクポイントを意識する必要がない。マルチタスクスケジューリング部１０は、アプリケーション開発者によって実装されたセグメントルーチン毎に、タスクを切り替えることができる。
【００３１】
タスクは、一連の処理単位となるセグメントルーチンに分割される。本発明によれば、セグメントルーチンの処理中にはタスク切り替えが発生しない。即ち、例えばループ処理のように多くのメモリを消費している時点で、タスク切り替えが発生しない。これは、タスク切替時におけるメモリへの実行状態の保存や、メモリからの実行状態の回復のためのシステムリソースの負荷の低減につながる。また、ラウンドロビンスケジューリングのように、ＯＳがタスク切り替えのタイミングを制御する必要もなくなり、システム全体の処理量が低減する。勿論、セグメントルーチンへの分割は、特定のハードウェアやＯＳへの依存性もない。
【００３２】
図１のマルチタスクスケジューリング部１０は、タスク起動部１０１と、タスク切替部１０２と、タイマ１０３と、タスク参考情報蓄積部１０４とを有する。これら機能部は、通常、コンピュータによって実行されるオペレーティングシステムプログラムの一部として実現される。
【００３３】
タスク起動部１０１は、必要に応じて複数のタスクを起動する。図１によれば、複数のタスク２Ａ〜Ｃが起動されている。タスク起動部１０１は、起動されたタスクＩＤ（IDentifier：識別子）やその他のタスク情報を、タスク切替部１０２へ通知する。
【００３４】
タスク切替部１０２は、タイマ１０３から一定周期で通知される割り込み信号を用いて時間を管理し、起動された複数のタスクを切り替える。ここで、タスク切替部１０２は、タスク参考情報を用いて、実行すべき複数のセグメントルーチンのセグメント実行時間の合計が、そのタスクの占有可能時間以内となるように、そのタスクを実行する。具体的には、タスク切替部１０２は、そのタスクにおける現時点までの総実行時間に、次セグメントルーチンのセグメント実行時間を合計した予測実行時間が、そのタスクの占有可能時間以内となる場合に、次セグメントルーチンを続けて実行する。
【００３５】
タイマ１０３は、一定周期の割り込み信号をタスク切替部１０２へ出力する。
【００３６】
タスク参考情報蓄積部１０４は、タスク参考情報を蓄積する。タスク参考情報は、タスク毎に規定された占有可能時間（タイムスライス）と、セグメントルーチン毎に対応付けられたセグメント実行時間とを有する。また、タスク参考情報は、タスク毎に優先度を更に含む。
【００３７】
占有可能時間は、タスクの優先度（１〜５の５段階）に応じて規定される。図１によれば、タイムスライス単位として５０ｍｓが規定されている。占有可能時間は、以下の式によって決定される。
占有可能時間＝タイムスライス単位（５０ｍｓ）×優先度（１〜５）
これにより、優先度３のタスクＡは占有可能時間１５０ｍｓとなり、優先度１のタスクＢは占有可能時間５０ｍｓとなり、優先度２のタスクＣは占有可能時間１００ｍｓとなる。
【００３８】
セグメント実行時間は、各セグメントルーチンの実際の実行時間であって平均的なものである。図２によれば、タスクＡのセグメントルーチン１、２及び３の実行時間はそれぞれ、５５ｍｓ、５０ｍｓ及び６０ｍｓである。タスクＢのセグメントルーチン１及び２の実行時間はそれぞれ、５０ｍｓ及び４０ｍｓである。タスクＣのセグメントルーチン１及び２の実行時間はそれぞれ、６０ｍｓ及び４０ｍｓである。
【００３９】
図３は、タスク切替部の動作説明図である。
【００４０】
図３のシーケンスに沿って、図１に表されたタスク参考情報を用いて説明する。尚、タスクが切り替わる毎に、総実行時間はクリアされる（＝０ｍｓ）とする。
【００４１】
（Ｓ３０１）最初に、タスクＡが選択されたとする。タスク切替部は、タスクＡのセグメントルーチン１を実行する。
【００４２】
このとき、タスク切替部は、タスクＡのセグメントルーチン１の現実行時間を計測する。現実行時間が５０ｍｓであったとする。そうすると、現実行中タスクＡの総実行時間は、５０ｍｓ（＝０ｍｓ＋５０ｍｓ）となる。
【００４３】
（Ｓ３０２）次に、タスクＡのセグメントルーチン２の実行を試みる。タスクＡのセグメントルーチン２の平均実行時間は５０ｍｓである。総実行時間が５０ｍｓであるので、予測実行時間は１００ｍｓ（＝５０ｍｓ＋５０ｍｓ）となる。予測実行時間１００ｍｓは、タスクＡの占有可能時間１５０ｍｓ以内であるので、タスク切替部は、タスクＡのセグメントルーチン２を実行する。
【００４４】
このとき、タスク切替部は、タスクＡのセグメントルーチン２の現実行時間を計測する。現実行時間が４０ｍｓであったとする。そうすると、現実行中タスクＡの総実行時間は、９０ｍｓ（＝５０ｍｓ＋４０ｍｓ）となる。
【００４５】
（Ｓ３０３）次に、タスクＡのセグメントルーチン３の実行を試みる。タスクＡのセグメントルーチン３の平均実行時間は６０ｍｓである。総実行時間が９０ｍｓであるので、予測実行時間は１５０ｍｓ（＝９０ｍｓ＋６０ｍｓ）である。予測実行時間１５０ｍｓは、タスクＡの占有可能時間１５０ｍｓ以内であるので、タスク切替部は、タスクＡのセグメントルーチン３を実行する。
【００４６】
このとき、タスク切替部は、タスクＡのセグメントルーチン３の現実行時間を計測する。現実行時間が７０ｍｓであったとする。そうすると、現実行中タスクＡの総実行時間は、１６０ｍｓ（＝９０ｍｓ＋７０ｍｓ）となる。ここで、タスクＡの占有可能時間１５０ｍｓを越えたので、タスク切替部は、タスクＡ以外のタスクへ切り替える。
【００４７】
（Ｓ３０４）次に、タスクＢが選択されたとする。タスク切替部は、タスクＢのセグメントルーチン１を実行する。
【００４８】
このとき、タスク切替部は、タスクＢのセグメントルーチン１の現実行時間を計測する。現実行時間が３０ｍｓであったとする。そうすると、現実行中タスクＢの総実行時間は、３０ｍｓ（＝０ｍｓ＋３０ｍｓ）となる。
【００４９】
次に、タスクＢのセグメントルーチン２の実行を試みる。タスクＢのセグメントルーチン２の平均実行時間は４０ｍｓである。総実行時間が３０ｍｓであるので、予測実行時間は７０ｍｓ（＝３０ｍｓ＋４０ｍｓ）となる。予測実行時間７０ｍｓは、タスクＢの占有可能時間５０ｍｓを越えるので、タスク切替部は、タスクＢ以外のタスクへ切り替える。
【００５０】
（Ｓ３０５）次に、タスクＣが選択されたとする。タスク切替部は、タスクＣのセグメントルーチン１を実行する。
【００５１】
このとき、タスク切替部は、タスクＣのセグメントルーチン１の現実行時間を計測する。現実行時間が５０ｍｓであったとする。そうすると、現実行中タスクＣの総実行時間は、５０ｍｓ（＝０ｍｓ＋５０ｍｓ）となる。
【００５２】
（Ｓ３０６）次に、タスクＣのセグメントルーチン２の実行を試みる。タスクＣのセグメントルーチン２の平均実行時間は４０ｍｓである。総実行時間が５０ｍｓであるので、予測実行時間は９０ｍｓ（＝５０ｍｓ＋４０ｍｓ）となる。予測実行時間９０ｍｓは、タスクＢの占有可能時間１００ｍｓ以内であるので、タスク切替部は、タスクＣのセグメントルーチン２を実行する。
【００５３】
このとき、タスク切替部は、タスクＣのセグメントルーチン２の現実行時間を計測する。現実行時間が５０ｍｓであったとする。そうすると、現実行中タスクＣの総実行時間は、１００ｍｓ（＝５０ｍｓ＋５０ｍｓ）となる。
【００５４】
図４は、本発明におけるタスク切替部のフローチャートである。
【００５５】
（Ｓ４０１）実行待ちのタスクが存在するか否かを判定する。存在しなければ、処理を終了する。
（Ｓ４０２）実行待ちのタスクを存在する場合、実行すべきタスクを選択する。
（Ｓ４０３）現実行中タスクの総実行時間をクリアする（＝０ｍｓ）。
【００５６】
（Ｓ４０４）現実行中タスクについて、１つのセグメントルーチンを実行する。このとき、そのセグメントルーチンの実行時間を計測する。例えば、タイマから出力される一定周期の割り込み信号によって、その回数をカウントすることによって計測することができる。
（Ｓ４０５）タスク参考情報のセグメントルーチンの平均実行時間を更新する。初めて実行されたセグメントルーチンについては、タスク参考情報に、その実行時間をそのまま登録する。２回以上実行されたセグメントルーチンについては、例えばタスク参考情報に実行回数を含めることにより、以下の式によって平均実行時間を算出する。
更新される平均実行時間＝
｛（既存の平均実行時間×実行回数）＋計測された実行時間｝／（実行回数＋１）
算出された平均実行時間は、タスク参考情報へ更新される。
（Ｓ４０６）現実行中タスクの総実行時間に、実行したセグメントルーチンの実行時間を加算し、総実行時間を更新する。
【００５７】
（Ｓ４０７）総実行時間が、現実行中タスクの占有可能時間以内か否かを判定する。総実行時間が、現実行中タスクの占有可能時間を越えている場合、他のタスクへ切り替えるべく、Ｓ４０１へ移行する。
（Ｓ４０８）総実行時間が、現実行中タスクの占有可能時間以内である場合、予測実行時間が、現実行中タスクの占有可能時間以内か否かを判定する。予測実行時間とは、総実行時間に、次セグメント実行時間を加算した時間である。総実行時間が、現実行中タスクの占有可能時間を越えている場合、他のタスクへ切り替えるべく、Ｓ４０１へ移行する。
（Ｓ４０９）予測実行時間が、現実行中タスクの占有可能時間以内である場合、次セグメントルーチンを指定する。そして、Ｓ４０４へ移行し、次セグメントルーチンを実行する。
【００５８】
以上、詳細に説明したように、本発明のマルチタスクスケジューリング機能搭載装置及びプログラムによれば、システムリソースに制限がある組み込み装置であっても、システムリソースの負荷を低減することができる。
【００５９】
タスクは、一連の処理単位となるセグメントルーチンに分割される。本発明によれば、セグメントルーチンの処理中にはタスク切り替えが発生しない。即ち、例えばループ処理のように多くのメモリを消費している時点で、タスク切り替えが発生しない。これは、タスク切替時におけるメモリへの実行状態の保存や、メモリからの実行状態の回復のためのシステムリソースの負荷の低減につながる。また、ラウンドロビンスケジューリングのように、ＯＳがタスク切り替えのタイミングを制御する必要もなくなり、システム全体の処理量が低減する。勿論、セグメントルーチンへの分割は、特定のハードウェアやＯＳへの依存性もない。
【００６０】
また、本発明によれば、各タスクは、占有可能時間内で実行可能な複数のセグメントルーチンをまとめて実行するために、無駄なタスク切替に伴うシステムリソースの使用を低減することができる。
【００６１】
更に、本発明によれば、オブジェクト指向における基底クラスによって実行ブレイクポイントの分割が実現されているので、アプリケーション開発者は、その派生クラスのセグメントルーチンに処理を実装することにより、実行ブレイクポイントを意識する必要がない。
【００６２】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００６３】
【図１】本発明におけるマルチタスクスケジューリング機能搭載装置のソフトウェア機能構成図である。
【図２】本発明におけるタスクで用いられるクラスの記述である。
【図３】タスク切替部の動作説明図である。
【図４】本発明におけるタスク切替部のフローチャートである。
【符号の説明】
【００６４】
１  オペレーティングシステム
１０  マルチタスクスケジューリング部
１０１  タスク起動部
１０２  タスク切替部
１０３  タイマ
１０４  タスク参照情報蓄積部
２  タスク
【図１】
2008033577.tif 000003
【図２】
2008033577.tif 000004
【図３】
2008033577.tif 000005
【図４】
2008033577.tif 000006