(57)【要約】【課題】マルチタスクオペレーティングシステムにおけるタスク切替え時の優先度制御技術に関し、緊急に処理を実行して欲しい要求を、他の待ち要求に妨げられることなく、その優先度のみを上げて動作可能とする。【解決手段】実行中の発行元タスクから発行先タスクと必要に応じて依頼優先度を指定して要求データが発行される（Ｓ３０１）。その発行された要求データの依頼優先度と発行先タスクに設定されている優先度と発行先タスクの要求待ち行列に格納されている各要求データの依頼優先度とが比較されることにより、発行先タスクの要求待ち行列中の格納位置が決定される（Ｓ３０３〜Ｓ３０８）。要求データの発行時に、実行中の発行元タスクの実行優先度と発行された要求データの依頼優先度又は依頼優先度の指定がない場合には発行先タスクの実行優先度とが比較されることにより、タスクの切替えが制御される（Ｓ３１０〜Ｓ３１３）。【選択図】図３
2010044703.tif 000002
【特許請求の範囲】
【請求項１】
マルチタスクオペレーティングシステムにおけるタスク切替え方法であって、
実行中の発行元タスクから、発行先タスクと依頼優先度を指定して要求データを発行する第１のステップと、
該依頼優先度と前記発行先タスクに設定されている実行優先度と前記発行先タスクの要求待ち行列に格納されている各要求データの依頼優先度とを比較することにより、前記発行先タスクの要求待ち行列中の格納位置を決定し、該決定された格納位置へ前記発行された要求データを格納する第２のステップと、
前記要求データの発行時に、前記発行元タスクの実行優先度と前記発行された要求データの依頼優先度又は該依頼優先度の指定がない時には前記発行先タスクの実行優先度とを比較することにより、タスクの切替えを制御する第３のステップと、
実行中タスクの終了時に、全てのタスクの前記要求待ち行列に格納されている要求データの依頼優先度又は該依頼優先度の指定がない時には該要求データが格納されている前記要求待ち行列のタスクの実行優先度のうち、最も高い依頼優先度又は実行優先度を有する要求データを、該要求データが格納されている前記要求待ち行列のタスクに切り替えて実行する第４のステップと、
を含むことを特徴とするタスク切替え方法。
【請求項２】
前記第２のステップは、前記発行された要求データに前記依頼優先度が指定されていない時、又は前記発行された要求データに前記依頼優先度が指定されておりかつ該依頼優先度が前記発行先タスクの実行優先度以下である時には、前記発行先タスクの要求待ち行列の末尾に前記発行された要求データを格納し、前記発行された要求データに前記依頼優先度が指定されておりかつ該依頼優先度が前記発行先タスクの実行優先度より大きい時には、前記発行先タスクの要求待ち行列において、該要求待ち行列中に格納されている各要求データの依頼優先度と前記発行された要求データの依頼優先度とを比較しその大きさの順位に応じた格納位置に前記発行された要求データを格納する、
ことを特徴とする請求項１に記載のタスク切替え方法。
【請求項３】
前記第３のステップは、前記発行元タスクと前記要求データの発行先タスクが同一でなくかつ前記発行された要求データの依頼優先度又は該依頼優先度の指定がない時には前記発行先タスクの実行優先度のほうが前記発行元タスクの実行優先度よりも大きい時には、前記発行元タスクから前記発行先タスクへ実行タスクを切り替え、前記発行元タスクと前記要求データの発行先タスクが同一である時、又は前記発行元タスクと前記要求データの発行先タスクが同一でなくかつ前記発行された要求データの依頼優先度又は該依頼優先度の指定がない時には前記発行先タスクの実行優先度が前記発行元タスクの実行優先度以下である時には、前記発行元タスクの実行を継続する、
ことを特徴とする請求項１又は２の何れか１項に記載のタスク切替え方法。
【請求項４】
マルチタスクオペレーティングシステムにおけるタスク切替えを制御するコンピュータに、
実行中の発行元タスクから、発行先タスクと依頼優先度を指定して要求データを発行する第１の機能と、
該依頼優先度と前記発行先タスクに設定されている実行優先度と前記発行先タスクの要求待ち行列に格納されている各要求データの依頼優先度とを比較することにより、前記発行先タスクの要求待ち行列中の格納位置を決定し、該決定された格納位置へ前記発行された要求データを格納する第２の機能と、
前記要求データの発行時に、前記発行元タスクの実行優先度と前記発行された要求データの依頼優先度又は該依頼優先度の指定がない時には前記発行先タスクの実行優先度とを比較することにより、タスクの切替えを制御する第３の機能と、
実行中タスクの終了時に、全てのタスクの前記要求待ち行列に格納されている要求データの前記依頼優先度又は該依頼優先度の指定がない時には該要求データが格納されている前記要求待ち行列のタスクの実行優先度のうち、最も高い依頼優先度又は実行優先度を有する要求データを、該要求データが格納されている前記要求待ち行列のタスクに切り替えて実行する第４の機能と、
を実行させるためのプログラム。
【請求項５】
前記第２の機能は、前記発行された要求データに前記依頼優先度が指定されていない時、又は前記発行された要求データに前記依頼優先度が指定されておりかつ該依頼優先度が前記発行先タスクの実行優先度以下である時には、前記発行先タスクの要求待ち行列の末尾に前記発行された要求データを格納し、前記発行された要求データに前記依頼優先度が指定されておりかつ該依頼優先度が前記発行先タスクの実行優先度より大きい時には、前記発行先タスクの要求待ち行列において、該要求待ち行列中に格納されている各要求データの依頼優先度と前記発行された要求データの依頼優先度とを比較しその大きさの順位に応じた格納位置に前記発行された要求データを格納する、
ことを特徴とする請求項４に記載のプログラム。
【請求項６】
前記第３の機能は、前記発行元タスクと前記要求データの発行先タスクが同一でなくかつ前記発行された要求データの依頼優先度又は該依頼優先度の指定がない時には前記発行先タスクの実行優先度のほうが前記発行元タスクの実行優先度よりも大きい時には、前記発行元タスクから前記発行先タスクへ実行タスクを切り替え、前記発行元タスクと前記要求データの発行先タスクが同一である時、又は前記発行元タスクと前記要求データの発行先タスクが同一でなくかつ前記発行された要求データの依頼優先度又は該依頼優先度の指定がない時には前記発行先タスクの実行優先度が前記実行中の発行元タスクの実行優先度以下である時には、前記発行元タスクの実行を継続する、
ことを特徴とする請求項４又は５の何れか１項にプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタスクオペレーティングシステムにおけるタスク切替え時の優先度制御技術に関する。
【背景技術】
【０００２】
ある処理のまとまりをマルチタスクオペレーティングシステム（以下、「マルチタスクＯＳ」という）上で実装する場合、そのまとまりを１つのタスクとし、複数のタスクのそれぞれの処理の優先順位が考慮されて、タスクの優先度が決定される。
【０００３】
マルチタスクＯＳにおけるタスクの切替えは、タスクの実行における優先順位（優先度）に従い、それぞれのタスクへの要求に応じて実行される。
このとき、優先度の高いタスクが実行されているときには、優先度の低いタスクへの要求が発生しても、優先度の高いタスクの実行が終了するまで、優先度の低いタスクへの要求は待たされる。
【０００４】
従来、優先度を低く設定したタスクに緊急に処理を実行して欲しい要求が発生した場合、一時的にそのタスクの優先度が高く変更され、処理が実行されていた。
複数の実行中タスクにおいて優先度の低いタスクに処理が多く滞留している場合に、その滞留状況が取り込まれ、優先度の低いタスクをその優先度を一時的に上げて動作させ、リアルタイム性が確保される技術がある（例えば下記特許文献１）。
【特許文献１】特開２００２−１８９６０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来は、緊急に処理を実行して欲しい要求の依頼先のタスクの優先度が低い場合、そのタスクは優先度が変更されるまで実行が待たされており、緊急に処理を実行して欲しい要求の前に、既に当該タスクにおいて他の要求が複数待ち合わされている場合がある。この既に待ち合わされている他の要求については、特に緊急に処理を実行する必要はないが、緊急に処理を実行して欲しい要求はこれらの処理が完了するまで待たされることになる。そのため、この緊急に処理を実行して欲しい要求が、他の待ち要求に妨げられてしまうという問題点を有していた。
【０００６】
また、従来は、一度優先度を高く変更されたタスクはそのタスクへの要求全てが処理されるまで実行され続けるため、優先度を戻す制御が難しい。そのため、緊急に処理を実施して欲しい要求を処理するときだけ一時的にタスクの優先度を高くするようなことができないという問題点を有していた。
【０００７】
更に、前記特許文献１に記載の公知技術では、要求毎には優先度決定の判断はされないため、同じ要求種別でも特別な状況において先に処理を行いたい要求が発生した場合でも、待ち行列に入って順番に処理され追い越して処理させることはできないという問題点を有していた。
【課題を解決するための手段】
【０００８】
課題は、緊急に処理を実行して欲しい要求を、他の待ち要求に妨げられることなく、その優先度を上げて動作可能とすることにある。
以下に示す態様は、マルチタスクオペレーティングシステムにおけるタスク切替え方法又はそれと同等の機能を実現するコンピュータプログラムを前提とする。
【０００９】
第１のステップは、実行中の発行元タスクから、発行先タスクと依頼優先度を指定して要求データを発行する。
第２のステップは、その依頼優先度と発行先タスクに設定されている実行優先度と発行先タスクの要求待ち行列に格納されている各要求データの依頼優先度とを比較することにより、発行先タスクの要求待ち行列中の格納位置を決定し、その決定された格納位置へ発行された要求データを格納する。この第２のステップは例えば、発行された要求データに依頼優先度が指定されていない時、又は発行された要求データに依頼優先度が指定されておりかつその依頼優先度が発行先タスクの実行優先度以下である時には、発行先タスクの要求待ち行列の末尾に発行された要求データを格納し、発行された要求データに依頼優先度が指定されておりかつその依頼優先度が発行先タスクの実行優先度より大きくい時には、発行先タスクの要求待ち行列において、その要求待ち行列中に格納されている各要求データの依頼優先度と発行された要求データの依頼優先度とを比較しその大きさの順位に応じた格納位置に発行された要求データを格納する。
【００１０】
第３のステップは、要求データの発行時に、発行元タスクの実行優先度と発行された要求データの依頼優先度又はその依頼優先度の指定がない場合には発行先タスクの実行優先度とを比較することにより、タスクの切替えを制御する。この第３のステップは例えば、発行元タスクと要求データの発行先タスクが同一でなくかつ発行された要求データの依頼優先度又はその依頼優先度の指定がない時には発行先タスクの実行優先度のほうが発行元タスクの実行優先度よりも大きい時には、発行元タスクから発行先タスクへ実行タスクを切り替え、発行元タスクと要求データの発行先タスクが同一である時、又は発行元タスクと要求データの発行先タスクが同一でなくかつ発行された要求データの依頼優先度又はその依頼優先度の指定がない時には発行先タスクの実行優先度が発行元タスクの実行優先度以下である時には、発行元タスクの実行を継続する。
【００１１】
第４のステップは、実行中タスクの終了時に、全てのタスクの要求待ち行列に格納されている要求データの依頼優先度又はその依頼優先度の指定がない時にはその要求データが格納されている要求待ち行列のタスクの実行優先度のうち、最も高い依頼優先度又は実行優先度を有する要求データを、その要求データが格納されている要求待ち行列のタスクに切り替えて実行する。
【発明の効果】
【００１２】
本発明によれば、緊急に処理を実施して欲しい要求を処理するときだけ一時的にタスクの優先度を高くし、即座に実施させることが可能となる。
また本発明によれば、タスクの優先度を元に戻す処理を意識する必要がなく、そのような処理の作成が不要になり複雑な制御が不要となるという効果がある。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
図１は、本実施形態のシステム構成図であり、マルチタスクＯＳにおけるタスク制御機能として実現される。
【００１４】
要求データ受付・振分け部１０１は、各タスクからの要求データを受け付けて、その要求データを発行先タスクへの要求待ち行列１０３に振り分け、各タスクの要求待ち行列１０３の状態を管理する。
【００１５】
タスク切替え部１０２は、実行中のタスクと各タスクからの要求データ、及び要求待ち行列１０３の状態から、次に実行されるタスクを決定する。
図２は、本実施形態において発行される要求データのデータ構成を示す図である。要求
データには、発行先タスク番号、発行元タスク番号、要求内容（命令）のほかに、依頼優先度が指定される。
【００１６】
本実施形態では、上述の構成のシステムが、下記の手順に従うことにより、個々の要求毎に依頼優先度を指定することができ、発行先のタスクの優先度を変更することが可能になる。
【００１７】
１．要求を発行するタスク（発行元タスク）が、要求を受けるタスク（発行先タスク）に送る要求データに依頼優先度が付加されて、オペレーティングシステム（以下、「ＯＳ」という）の要求データ受付・振分け部１０１に送信される。
【００１８】
２．要求データ受付・振分け部１０１は、この要求データを受け付ける。これに基づいて、タスク切替え部１０２は、発行先タスクの優先度、依頼優先度、及び他に現在待ちとなっているその他の要求データの優先度が比較して、タスクのスケジューリングを行う。このスケジューリングの際、要求データの発行先の優先度は依頼優先度に読み替えられて、スケジューリングされる。
【００１９】
図３は、図１の要求データ受付・振分け部１０１及びタスク切替え部１０２の制御動作を示す動作フローチャートである。以下、この動作フローチャートと、以下に示す動作説明図等に従って説明する。
【００２０】
図４は、本実施形態の動作概念図である。
マルチタスクＯＳ上に実装される要求データ受付・振分け部１０１とその上で動作するタスク（例としてタスクＡ、Ｂ、Ｃ）があり、各タスクからの要求データは、図４の４０１として示されるように、要求データ受付・振分け部１０１を通して受け付けられ（図３のステップＳ３０１）、発行先タスクへ振り分けられる（図３のステップＳ３０２）。
【００２１】
要求データは発行先タスク毎にある要求待ち行列１０３に一旦格納され、タスク切替え部１０２の制御により発行先タスクが起動されたときに、その要求データが要求待ち行列１０３から順に取り出され実行される。図４に記載されているタスクの優先度は、その数値が高い方が高優先であるものとする。
【００２２】
各発行元タスクからの要求データの格納方法は以下の通りである。
一例として、タスクＡへの要求待ち行列１０３には既に２つの要求データが格納されている状態から、新たな要求データが発生した場合を考える。要求データは、「要求：（依頼優先度）」と記載される。
【００２３】
図５は、要求データに依頼優先度の指定がない場合の動作例を示す図である。
依頼優先度の指定がない「要求データ３：（−）」が発生した場合、その要求データは、図５の５０１として示されるように、発行先タスクＡの要求待ち行列１０３の最後に格納される（図３のステップＳ３０３→Ｓ３０５）。
【００２４】
依頼優先度の指定がある要求データ３が発生した場合、その依頼優先度（４０）と発行先タスクの優先度が比較されて、発行先タスクの要求待ち行列１０３への格納方法が変更される（図３のステップＳ３０３→Ｓ３０４）。
【００２５】
依頼優先度が発行先タスクＡの優先度（１０）よりも高くない場合には、その要求デー
タは、発行先タスクＡの要求待ち行列１０３の最後に格納される（図３のステップＳ３０４→Ｓ３０５）。
【００２６】
図６は、要求データに依頼優先度の指定がある場合の動作例（その１）を示す図である。
依頼優先度が発行先タスクＡの優先度（１０）よりも高い場合であって、発行先タスクＡの要求待ち行列１０３内に新たに格納される要求データ３の依頼優先度（４０）よりも高い依頼優先度が付加された要求データが格納されていない場合には、その要求データは、図６の６０１として示されるように、発行先タスクＡの要求待ち行列１０３の先頭に格納される（図３のステップＳ３０４→Ｓ３０６→Ｓ３０７）。
【００２７】
図７は、要求データに依頼優先度の指定がある場合の動作例（その２）を示す図である。
依頼優先度の指定がある要求データ３が発生した場合であって、その依頼優先度（４０）が発行先タスクＡの優先度（１０）よりも高いが、新たに格納される要求データ３の依頼優先度（４０）よりも高い依頼優先度（５０）が付加された要求データ１が発行先タスクＡの要求待ち行列１０３に格納されている場合は、その要求データ１を優先させるために、新たな要求データ３は、図７の７０１として示されるように、その要求データ１の次の場所に格納される（図３のステップＳ３０４→Ｓ３０６→Ｓ３０８）。
【００２８】
以上の図３のステップＳ３０１〜Ｓ３０８の制御処理によって、要求データ受付・振分け部１０１が要求データを発行先タスクの要求待ち行列１０３に格納した後に、タスク切替え部１０２が実行するタスクの決定を行う（図３のステップＳ３０９）。
【００２９】
次に、タスク切替え部１０２は、発行先タスクと発行元タスク（実行中タスク）が同一であるかを確認する（図３のステップＳ３１０）。
タスク切替え部１０２は、発行先タスクと発行元タスク（実行中タスク）が異なる場合には、以下の優先度を比較し、その後の処理を決定する（図３のステップＳ３１０→Ｓ３１１）。
【００３０】
１．発行元タスク（実行中タスク）の優先度
２．格納された要求データの依頼優先度（依頼優先度の指定がない場合は、発行先タスクの優先度）
タスク切替え部１０２は、上記１．及び２．のうちで優先度が高い方を選択する。
【００３１】
上記２．の優先度のほうが高い場合には、タスク切替え部１０２は、タスクの切り替え処理を行い、選択されたタスクを実行し、それまで実行中であったタスクを休止する（図３のステップＳ３１１→Ｓ３１２）。
【００３２】
また、この場合、タスク切替え部１０２は、新たに実行中となったタスクの優先度を一時的に依頼優先度に変更し、処理が終わり休止するまでそれを維持する。
上記１．の優先度のほうが高い場合には、タスク切替え部１０２は、実行中のタスクを継続して動作させる（図３のステップＳ３１１→Ｓ３１３）。
【００３３】
一方、発行先タスクと発行元タスク（実行中タスク）が同一の場合には、実行中のタスクの処理を再開する（図３のステップＳ３１０→Ｓ３１３）。
タスク切替え部１０２は、実行中のタスクが継続して動作した場合、処理が終わりそのタスクが休止するまで、要求データは要求待ち行列１０３で待機する。処理が終了し、実
行中のタスクが休止した場合、全タスクの要求待ち行列１０３の中で、依頼優先度が付加されているものはその優先度、依頼優先度が付加されていないものは各タスクの優先度の中から、一番優先度の高いものを選択し、タスクを起動する。
【００３４】
本実施形態の更に具体的な動作について、以下に説明する。
以下の説明では、各タスクと要求データの授受について、図９〜図１２に示される動作シーケンス図により説明する。動作シーケンス図は、図８に示されるに記載方法に従って記載される。タスクの優先度は数値が高い方が高優先であるものとする。
【００３５】
具体例１：依頼優先度の指定がない要求データが発行された場合
タスクＣからタスクＡへの要求のやり取りについて、図９に示される具体例１の動作シーケンス図により説明する。タスクＣから依頼優先度の指定がない要求データ（要求：（−））が発行された場合、タスク切替え部１０２は、実行中のタスクＣの優先度＝３０（タスクＣ：（３０））と、発行先タスクＡの優先度＝１０（タスクＡ：（１０））を比較する。この結果、タスクＣのほうが高い優先度を有するため、タスク切替え部１０２が、タスクＣの処理を継続する（Ｓ９０１）。タスクＣの処理が終了した時点で、タスク切替え部１０２は、全タスクの要求待ち行列１０３の内容を評価する。この結果、タスクＡの要求待ち行列１０３にのみ要求データが存在するため、タスクＡへの要求（要求：（−））が実行される（Ｓ９０２）。
【００３６】
具体例２：依頼優先度が指定された要求データが発行された場合
図１０に示される具体例２の動作シーケンス図により、タスクＣから依頼優先度の指定がある要求データが発行された場合について説明する。タスクＣからの要求データが依頼優先度（４０）で行われた場合（要求：（４０））、タスク切替え部１０２は、実行中のタスクＣの優先度＝３０（タスクＣ：（３０））と、要求データの依頼優先度＝４０を比較する（Ｓ１００１）。依頼優先度がタスクＣの優先度よりも高いため、タスク切替え部１０２は、タスクＣの処理を中断し、タスクＡの処理が要求データの発行時点において実行される（Ｓ１００２）。特には図示しないが、タスクＡの処理が終了した時点で中断されていたタスクＣの処理は再開される。
【００３７】
具体例３：複数タスクに要求データが発行された場合（優先度の変更による順序逆転）
図１１に示される具体例３の動作シーケンス図により、依頼優先度の指定がある要求データと依頼優先度の指定がない要求データとが混在して発行された場合について説明する。タスクＣから、タスクＢへ依頼優先度指定なし要求データ（要求：（−））、タスクＡへ依頼優先度（２５）の要求データ（要求：（２５））がそれぞれ発行された場合を考える。この場合、タスク切替え部１０２はまず、タスクＢへの要求データに依頼優先度がないため、タスクＢの初期優先度＝２０（タスクＢ：（２０））と、タスクＣの優先度＝３０（タスクＣ：（３０））を比較する。その結果、タスクＣの優先度のほうが高いため、タスク切替え部１０２は、タスクＣの処理を継続する（Ｓ１１０１）。続けて、タスク切替え部１０２は、タスクＡへの要求データの依頼優先度が２５であるため、タスクＡへの依頼優先度＝２５とタスクＣの優先度＝３０（タスクＣ：（３０））を比較する。この結果、タスクＣの優先度のほうが高いため、タスク切替え部１０２はやはり、タスクＣの処理を継続する（Ｓ１１０２）。タスクＣの処理が終了した時点で、タスク切替え部１０２は、待たされている２つの要求を評価する。この結果、タスクＡへの要求データの依頼優先度（２５）がタスクＢの優先度＝２０（タスクＢ：（２０））に比べて高いため、タスクＡの処理を先に実行させる（Ｓ１１０３）。
【００３８】
具体例４：同一タスクへ複数の要求データが発行された場合（優先度の変更による順序逆転）
図１２に示される具体例４の動作シーケンス図により、同一依頼先へ依頼優先度のある
要求データと依頼優先度のない要求データが混在して発行された場合について説明する。タスクＣからタスクＡへ、始めに依頼優先度指定なしの要求データ１（要求１：（−））、次に依頼優先度（２５）の要求データ２（要求２：（２５））が発行された場合を考える。この場合、タスク切替え部１０２は、実行中のタスクＣの優先度＝３０（タスクＣ：（３０））が一番高いと判断しタスクＣの処理を継続する（Ｓ１２０１、Ｓ１２０２）。そのため、要求データ受付・振分け部１０１は、要求データ１と要求データ２を一旦、タスクＡの要求待ち行列１０３に格納する。このとき、後発の要求データ２の優先度のほうが高いため、要求データ受付・振分け部１０１は、タスクＡの要求待ち行列１０３の先頭に要求データ２を格納する。タスクＣの処理が終了した時点で、待たされている要求データはタスクＡのものがあるため、タスク切替え部１０２は、タスクＡの要求待ち行列１０３の先頭にある依頼優先度（２５）の要求データ２の処理を、タスクＡにおいて実行させる（Ｓ１２０３）。
【００３９】
図１３は、上記マルチタスク制御システムを実現できるコンピュータのハードウェア構成の一例を示す図である。
図１３に示されるコンピュータは、ＣＰＵ１３０１、メモリ１３０２、入力装置１３０３、出力装置１３０４、外部記憶装置１３０５、可搬記録媒体１３０９が挿入される可搬記録媒体駆動装置１３０６、及びネットワーク接続装置１３０７を有し、これらがバス１３０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００４０】
ＣＰＵ１３０１は、当該コンピュータ全体の制御を行う。メモリ１３０２は、プログラムの実行、データ更新等の際に、外部記憶装置１３０５（或いは可搬記録媒体１３０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ１３０１は、プログラムをメモリ１３０２に読み出して実行することにより、全体の制御を行う。
【００４１】
入力装置１３０３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置１３０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ１３０１に通知する。
【００４２】
出力装置１３０４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置１３０４は、ＣＰＵ１３０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【００４３】
外部記憶装置１３０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置１３０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体１３０９を収容するもので、外部記憶装置１３０５の補助の役割を有する。
【００４４】
ネットワーク接続装置１３０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、図１及び図２として示したマルチタスクオペレーティングシステムの機能を搭載したプログラムをＣＰＵ１３０１が実行することで実現される。そのプログラムは、例えば外部記憶装置１３０５や可搬記録媒体１３０９に記録して配布してもよく、或いはネットワーク接続装置１３０７によりネットワークから取得できるようにしてもよい。
【図面の簡単な説明】
【００４５】
【図１】本実施形態のシステム構成図である。
【図２】本実施形態において発行される要求データのデータ構成を示す図である。
【図３】要求データ受付・振分け部１０１及びタスク切替え部１０２の制御動作を示す動作フローチャートである。
【図４】本実施形態の動作概念図である。
【図５】要求データに依頼優先度の指定がない場合の動作例を示す図である。
【図６】要求データに依頼優先度の指定がある場合の動作例（その１）を示す図である。
【図７】要求データに依頼優先度の指定がある場合の動作例（その２）を示す図である。
【図８】具体例の記載方法を示した図である。
【図９】具体例１の動作シーケンス図である。
【図１０】具体例２の動作シーケンス図である。
【図１１】具体例３の動作シーケンス図である。
【図１２】具体例４の動作シーケンス図である。
【図１３】本実施形態によるマルチタスク制御システムを実現できるコンピュータのハードウェア構成の一例を示す図である。
【符号の説明】
【００４６】
１０１      要求データ受付・振分け部
１０２      タスク切替え部
１０３      要求待ち行列
１３０１      ＣＰＵ
１３０２      メモリ
１３０３      入力装置
１３０４      出力装置
１３０５      外部記憶装置
１３０６      可搬記録媒体駆動装置
１３０７      ネットワーク
１３０８      バス
１３０９      可搬記録媒体
【図１】
2010044703.tif 000003
【図２】
2010044703.tif 000004
【図３】
2010044703.tif 000005
【図４】
2010044703.tif 000006
【図５】
2010044703.tif 000007
【図６】
2010044703.tif 000008
【図７】
2010044703.tif 000009
【図８】
2010044703.tif 000010
【図９】
2010044703.tif 000011
【図１０】
2010044703.tif 000012
【図１１】
2010044703.tif 000013
【図１２】
2010044703.tif 000014
【図１３】
2010044703.tif 000015