JPH11175357A - タスク管理方法 - Google Patents
タスク管理方法Info
- Publication number
- JPH11175357A JPH11175357A JP34769497A JP34769497A JPH11175357A JP H11175357 A JPH11175357 A JP H11175357A JP 34769497 A JP34769497 A JP 34769497A JP 34769497 A JP34769497 A JP 34769497A JP H11175357 A JPH11175357 A JP H11175357A
- Authority
- JP
- Japan
- Prior art keywords
- task
- time
- execution
- resource
- maximum access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 28
- 238000000034 method Methods 0.000 claims description 16
- 125000004122 cyclic group Chemical group 0.000 abstract 1
- 230000000737 periodic effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 3
- 238000001994 activation Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
Abstract
(57)【要約】
【課題】 リソースへのアクセスを含む周期的な実行及
び実行時からの遅延保証が必要なタスクの実行を実現す
る。 【解決手段】 タスクからリソース(入出力インタフェ
ース105など)に対する1回のアクセスに要する最大
アクセス時間を最大アクセス時間管理部113に設定
し、タスクの予約が要求されリソースにアクセスするタ
スクの実行予約を行う場合に、最大アクセス時間をタス
クの要求処理時間に加算し、かつ上記最大アクセス時間
をタスクの許容遅延時間から減算して実行予約を行うと
ともに、リソースに対し他のタスクがアクセス中の場合
は実行予約が受付けられた上記タスクを、他のタスクの
アクセスの終了を待って実行する。
び実行時からの遅延保証が必要なタスクの実行を実現す
る。 【解決手段】 タスクからリソース(入出力インタフェ
ース105など)に対する1回のアクセスに要する最大
アクセス時間を最大アクセス時間管理部113に設定
し、タスクの予約が要求されリソースにアクセスするタ
スクの実行予約を行う場合に、最大アクセス時間をタス
クの要求処理時間に加算し、かつ上記最大アクセス時間
をタスクの許容遅延時間から減算して実行予約を行うと
ともに、リソースに対し他のタスクがアクセス中の場合
は実行予約が受付けられた上記タスクを、他のタスクの
アクセスの終了を待って実行する。
Description
【0001】
【発明の属する技術分野】本発明は、マルチタスクシス
テムに関し、特にタスク実行における要求処理時間の割
当と遅延を保証するタスク管理方法に関する。
テムに関し、特にタスク実行における要求処理時間の割
当と遅延を保証するタスク管理方法に関する。
【0002】
【従来の技術】周期的な実行及び実行時からの遅延保証
が必要なタスクを実行するこの種のマルチタスクシステ
ムとしては、特願平8−333667号に記載されてい
るものがあり、また、同一内容のものとして電子情報通
信学会技術研究報告CQ96−17として発表されてお
り、その内容は以下の通りである。
が必要なタスクを実行するこの種のマルチタスクシステ
ムとしては、特願平8−333667号に記載されてい
るものがあり、また、同一内容のものとして電子情報通
信学会技術研究報告CQ96−17として発表されてお
り、その内容は以下の通りである。
【0003】遅延保証が必要なタスクに対して周期と要
求処理時間と許容遅延時間(以下、タスクの周期と要求
処理時間と許容遅延時間をタスク情報と呼ぶ)を設定
し、実行しようとするタスクのタスク情報と既に受け付
けられたタスクのタスク情報とから、実行しようとする
タスクおよび既に受け付けられたタスクの遅延保証が可
能であれば、そのタスクの実行を許可する。
求処理時間と許容遅延時間(以下、タスクの周期と要求
処理時間と許容遅延時間をタスク情報と呼ぶ)を設定
し、実行しようとするタスクのタスク情報と既に受け付
けられたタスクのタスク情報とから、実行しようとする
タスクおよび既に受け付けられたタスクの遅延保証が可
能であれば、そのタスクの実行を許可する。
【0004】タスクの実行の許可の判断はまず、実行し
ようとするタスクと既に受け付けられたタスクのタスク
情報の要求処理時間を周期で割った値から各タスクの単
位時間当りに必要とされる要求処理時間を得て、各タス
クの単位時間当りに必要とされる要求処理時間の和が単
位時間を越えた場合は実行しようとするタスクの実行は
不許可とする。
ようとするタスクと既に受け付けられたタスクのタスク
情報の要求処理時間を周期で割った値から各タスクの単
位時間当りに必要とされる要求処理時間を得て、各タス
クの単位時間当りに必要とされる要求処理時間の和が単
位時間を越えた場合は実行しようとするタスクの実行は
不許可とする。
【0005】一方、各タスクの単位時間当りに必要とさ
れる要求処理時間の和が単位時間を越えない場合は、更
に各タスクのタスク情報の要求処理時間と許容遅延時間
の和の小さいタスクの順にタスクの優先度を高く設定す
る。そして、優先度の低いタスクの要求処理時間と許容
遅延時間の和の時間内に優先度の高いタスクの周期から
求まる優先度の高いタスクの実行回数分の優先度の高い
タスクの要求処理時間が優先度の低いタスクの許容遅延
時間内に収まる場合は実行しようとするタスクの実行を
許可する。
れる要求処理時間の和が単位時間を越えない場合は、更
に各タスクのタスク情報の要求処理時間と許容遅延時間
の和の小さいタスクの順にタスクの優先度を高く設定す
る。そして、優先度の低いタスクの要求処理時間と許容
遅延時間の和の時間内に優先度の高いタスクの周期から
求まる優先度の高いタスクの実行回数分の優先度の高い
タスクの要求処理時間が優先度の低いタスクの許容遅延
時間内に収まる場合は実行しようとするタスクの実行を
許可する。
【0006】実行を許可されたタスクの実行は、実行し
たいタスクに対するイベントを発行することで行なわれ
る。イベントの発行はそのタスクの実行を要求したアプ
リケーションや他のタスクから発行することが可能であ
る。イベントが発行されないタスクは待ち状態となりイ
ベントが発行されている他のタスクが実行される。タス
クの実行基準はタスクの実行の受け付けで計算した優先
度を基準にして優先度の高いタスクから実行される。
たいタスクに対するイベントを発行することで行なわれ
る。イベントの発行はそのタスクの実行を要求したアプ
リケーションや他のタスクから発行することが可能であ
る。イベントが発行されないタスクは待ち状態となりイ
ベントが発行されている他のタスクが実行される。タス
クの実行基準はタスクの実行の受け付けで計算した優先
度を基準にして優先度の高いタスクから実行される。
【0007】ただし、イベントが発行されていても前回
のタスクの実行開始からの時間がそのタスクのタスク情
報の周期より短い場合は優先度に依らずそのタスクは待
たされ他のタスクが実行される。タスクの実行中でもそ
れより高い優先度を持つタスクがイベントを発行された
状態で且つ前回の実行からの時間がタスク情報の周期を
越えている場合はタスクの実行は高い優先度を持つタス
クに移る。したがって、受け付けられた遅延保証が必要
なすべてのタスクがイベントを持ち実行可能状態であっ
てもタスクの優先度に応じて適切にタスクが実行され且
つ各タスクの要求処理時間がそのタスクの許容遅延時間
内に割り当てられる。
のタスクの実行開始からの時間がそのタスクのタスク情
報の周期より短い場合は優先度に依らずそのタスクは待
たされ他のタスクが実行される。タスクの実行中でもそ
れより高い優先度を持つタスクがイベントを発行された
状態で且つ前回の実行からの時間がタスク情報の周期を
越えている場合はタスクの実行は高い優先度を持つタス
クに移る。したがって、受け付けられた遅延保証が必要
なすべてのタスクがイベントを持ち実行可能状態であっ
てもタスクの優先度に応じて適切にタスクが実行され且
つ各タスクの要求処理時間がそのタスクの許容遅延時間
内に割り当てられる。
【0008】また、遅延保証が必要なタスクを受け付け
る前に遅延保証を必要としないタスクを少なくとも1度
は実行させたい周期とその周期に遅延保証を必要としな
いタスクに割り当てたいタスクの割当分の時間とその周
期からそのタスクの割当分の時間を差し引いた時間をそ
れぞれタスク情報のタスク周期と要求処理時間と許容遅
延時間に設定したタスクを要求しておく。したがって、
以後の遅延保証が必要なタスクの受付は遅延保証を必要
としないタスクの割当分を差し引いた状態で行なわれる
ため、遅延保証を必要としないタスク用に予め要求して
おいた割当分のタスクの実行が可能となる。以上によっ
て、周期的な実行及び実行時からの遅延保証が必要なタ
スクの実行が可能となる。
る前に遅延保証を必要としないタスクを少なくとも1度
は実行させたい周期とその周期に遅延保証を必要としな
いタスクに割り当てたいタスクの割当分の時間とその周
期からそのタスクの割当分の時間を差し引いた時間をそ
れぞれタスク情報のタスク周期と要求処理時間と許容遅
延時間に設定したタスクを要求しておく。したがって、
以後の遅延保証が必要なタスクの受付は遅延保証を必要
としないタスクの割当分を差し引いた状態で行なわれる
ため、遅延保証を必要としないタスク用に予め要求して
おいた割当分のタスクの実行が可能となる。以上によっ
て、周期的な実行及び実行時からの遅延保証が必要なタ
スクの実行が可能となる。
【0009】
【発明が解決しようとする課題】上記の従来技術では、
次のような課題がある。すなわち、従来技術では周期的
なタスクの実行時間割当と実行開始から終了までの遅延
時間の保証は可能であるが、タスクが外部記憶装置やネ
ットワークインタフェースといったリソースにアクセス
する場合、優先度の低いタスクが或るリソースにアクセ
ス中の場合は同じリソースにアクセスする優先度の高い
タスクが実行可能でその優先度の高いタスクが実行され
たとしても、リソースへのアクセスができないという状
況が発生する。すなわち、この場合、優先度の高いタス
クは実行時間がきちんと割り当てられ遅延時間も保証さ
れているにもかかわらず、リソースへアクセスするとい
う処理が行なわれなかったということになり、優先度の
高いタスクのリソースに対する確実なアクセスが要望さ
れている。従って本発明は、優先度の低いタスクが実行
されリソースにアクセス中に、その同一リソースにアク
セスする優先度の高いタスクが実行可能となった場合、
優先度の高いタスクの実行による前記リソースへのアク
セスを可能にすることを目的とする。
次のような課題がある。すなわち、従来技術では周期的
なタスクの実行時間割当と実行開始から終了までの遅延
時間の保証は可能であるが、タスクが外部記憶装置やネ
ットワークインタフェースといったリソースにアクセス
する場合、優先度の低いタスクが或るリソースにアクセ
ス中の場合は同じリソースにアクセスする優先度の高い
タスクが実行可能でその優先度の高いタスクが実行され
たとしても、リソースへのアクセスができないという状
況が発生する。すなわち、この場合、優先度の高いタス
クは実行時間がきちんと割り当てられ遅延時間も保証さ
れているにもかかわらず、リソースへアクセスするとい
う処理が行なわれなかったということになり、優先度の
高いタスクのリソースに対する確実なアクセスが要望さ
れている。従って本発明は、優先度の低いタスクが実行
されリソースにアクセス中に、その同一リソースにアク
セスする優先度の高いタスクが実行可能となった場合、
優先度の高いタスクの実行による前記リソースへのアク
セスを可能にすることを目的とする。
【0010】
【課題を解決するための手段】このような課題を解決す
るために本発明は、周期的な実行及び実行時からの遅延
保証が必要なタスクの実行予約および実行管理を行う場
合、タスクからアクセスされる各種リソースに1回のア
クセスに対する最大アクセス時間を設定し、タスクの予
約が要求されたときにリソースにアクセスするタスクの
実行予約を行う場合は、タスクがアクセスするリソース
に設定された最大アクセス時間を要求処理時間に加算す
るとともに、上記最大アクセス時間を許容遅延時間から
減算して実行予約を行い、実行予約が受付けられたタス
クは実行可能時でも他のタスクがリソースにアクセス中
であればそのタスクのアクセス終了後に実行させること
により、各タスクのリソースアクセスを含めた実行の保
証を行うようにした方法である。従って、周期的な実行
及び実行時からの遅延保証が必要なタスクの実行予約時
には、タスクに設定されている周期,要求処理時間及び
許容遅延時間といったタスク情報と、タスクがアクセス
するリソースに設定されている最大アクセス時間とを用
いてそのタスクが受理可能か否かを判断し、受理可能な
らばタスクの予約を受理する。そして、予約を受理され
たタスクの実行では、実行中のタスクが次に実行すべき
タスクと同じリソースにアクセスしている場合は次に実
行すべきタスクの実行タイミングであってもそのタスク
の実行を最大アクセス時間分遅らせて実行する。
るために本発明は、周期的な実行及び実行時からの遅延
保証が必要なタスクの実行予約および実行管理を行う場
合、タスクからアクセスされる各種リソースに1回のア
クセスに対する最大アクセス時間を設定し、タスクの予
約が要求されたときにリソースにアクセスするタスクの
実行予約を行う場合は、タスクがアクセスするリソース
に設定された最大アクセス時間を要求処理時間に加算す
るとともに、上記最大アクセス時間を許容遅延時間から
減算して実行予約を行い、実行予約が受付けられたタス
クは実行可能時でも他のタスクがリソースにアクセス中
であればそのタスクのアクセス終了後に実行させること
により、各タスクのリソースアクセスを含めた実行の保
証を行うようにした方法である。従って、周期的な実行
及び実行時からの遅延保証が必要なタスクの実行予約時
には、タスクに設定されている周期,要求処理時間及び
許容遅延時間といったタスク情報と、タスクがアクセス
するリソースに設定されている最大アクセス時間とを用
いてそのタスクが受理可能か否かを判断し、受理可能な
らばタスクの予約を受理する。そして、予約を受理され
たタスクの実行では、実行中のタスクが次に実行すべき
タスクと同じリソースにアクセスしている場合は次に実
行すべきタスクの実行タイミングであってもそのタスク
の実行を最大アクセス時間分遅らせて実行する。
【0011】また、各種リソースへの最大アクセス時間
を予め共通の値として定めておき、タスクの実行予約と
実行管理を行うようにした方法である。従って、各種リ
ソースの最大アクセス時間として共通の値を用いること
で、タスクの実行予約時にはリソース毎のタスクアクセ
スのチェックが不要になり、またタスクの実行管理時に
はリソース毎の異なるタイミングでの実行処理が不要に
なるため、処理負荷を軽減することができる。また、各
種リソースに対し予め定める共通の最大アクセス時間
を、アクセスするデータ量のタイプに応じて複数設け、
タスクの実行予約と実行管理を行うようにした方法であ
る。従って、最大アクセス時間を、アクセスするデータ
量のタイプに応じて複数用意しておくことで、共通の最
大アクセス時間が一つの場合よりも各リソースに対して
効率のよい最大アクセス時間を提供できるとともに、個
々のリソースに対して最大アクセス時間を設定する場合
よりタスクの実行予約と実行管理の処理負荷を軽減させ
ることができる。
を予め共通の値として定めておき、タスクの実行予約と
実行管理を行うようにした方法である。従って、各種リ
ソースの最大アクセス時間として共通の値を用いること
で、タスクの実行予約時にはリソース毎のタスクアクセ
スのチェックが不要になり、またタスクの実行管理時に
はリソース毎の異なるタイミングでの実行処理が不要に
なるため、処理負荷を軽減することができる。また、各
種リソースに対し予め定める共通の最大アクセス時間
を、アクセスするデータ量のタイプに応じて複数設け、
タスクの実行予約と実行管理を行うようにした方法であ
る。従って、最大アクセス時間を、アクセスするデータ
量のタイプに応じて複数用意しておくことで、共通の最
大アクセス時間が一つの場合よりも各リソースに対して
効率のよい最大アクセス時間を提供できるとともに、個
々のリソースに対して最大アクセス時間を設定する場合
よりタスクの実行予約と実行管理の処理負荷を軽減させ
ることができる。
【0012】
【発明の実施の形態】以下、本発明について図面を参照
して説明する。図1は本発明に係るタスク管理方法を適
用したマルチタスクシステムのブロック図である。同図
において、このマルチタスクシステム100は、CPU
101、タイマ102、例えばハードディスク装置等の
記憶装置103、ネットワークインタフェース104、
例えば映像や音声など各種入出力装置との接続を行う入
出力インタフェース105、メモリ107を備えてい
る。入出力インタフェース105は複数でもよい。そし
て、CPU101、タイマ102、記憶装置103、ネ
ットワークインタフェース104、入出力インタフェー
ス105、及びメモリ107はバス106で接続されて
いる。
して説明する。図1は本発明に係るタスク管理方法を適
用したマルチタスクシステムのブロック図である。同図
において、このマルチタスクシステム100は、CPU
101、タイマ102、例えばハードディスク装置等の
記憶装置103、ネットワークインタフェース104、
例えば映像や音声など各種入出力装置との接続を行う入
出力インタフェース105、メモリ107を備えてい
る。入出力インタフェース105は複数でもよい。そし
て、CPU101、タイマ102、記憶装置103、ネ
ットワークインタフェース104、入出力インタフェー
ス105、及びメモリ107はバス106で接続されて
いる。
【0013】タイマ102は設定時間毎にCPU101
に割り込みをかける機能を持ち、割り込みによって設定
時間の経過をCPU101に通知することが可能であ
る。記憶装置103にはタスクプログラム等が記憶され
ており、必要に応じてメモリ107に読み出される。メ
モリ107内には、後述するタスク受付処理をCPU1
01に実行させるためのタスク受付プログラムが格納さ
れるタスク受付部110と、同様にタスク実行プログラ
ムが格納されるタスク実行部111が存在する。タスク
の実行もCPU101によって行なわれる。また、メモ
リ107内には、周期的な実行及び実行時からの遅延保
証が必要なタスクのタスク管理テーブル112と各リソ
ースにアクセスするタスクの受付と実行時に用いられる
各リソース毎に関連付けられた最大アクセス時間を格納
するための最大アクセス時間管理部113が存在し、タ
スクの受付および実行の際に使用される。
に割り込みをかける機能を持ち、割り込みによって設定
時間の経過をCPU101に通知することが可能であ
る。記憶装置103にはタスクプログラム等が記憶され
ており、必要に応じてメモリ107に読み出される。メ
モリ107内には、後述するタスク受付処理をCPU1
01に実行させるためのタスク受付プログラムが格納さ
れるタスク受付部110と、同様にタスク実行プログラ
ムが格納されるタスク実行部111が存在する。タスク
の実行もCPU101によって行なわれる。また、メモ
リ107内には、周期的な実行及び実行時からの遅延保
証が必要なタスクのタスク管理テーブル112と各リソ
ースにアクセスするタスクの受付と実行時に用いられる
各リソース毎に関連付けられた最大アクセス時間を格納
するための最大アクセス時間管理部113が存在し、タ
スクの受付および実行の際に使用される。
【0014】図2は最大アクセス時間管理部113の一
例を示す図である。最大アクセス時間管理部113に
は、記憶装置103、ネットワークインタフェース10
4及び入出力インタフェース105等といった各種リソ
ースを示すリソース識別子と、各種リソースに設定され
る最大アクセス時間とが対応づけられて格納される。こ
こで、リソース識別子はリソース識別子格納部113a
に記録され最大アクセス時間は最大アクセス時間格納部
113bに記録される。リソース識別子と最大アクセス
時間はシステム立ち上げ時や入出力インタフェース10
5等の各種リソースの構成が変更された時などに必要に
応じて記憶装置103から読み出される。
例を示す図である。最大アクセス時間管理部113に
は、記憶装置103、ネットワークインタフェース10
4及び入出力インタフェース105等といった各種リソ
ースを示すリソース識別子と、各種リソースに設定され
る最大アクセス時間とが対応づけられて格納される。こ
こで、リソース識別子はリソース識別子格納部113a
に記録され最大アクセス時間は最大アクセス時間格納部
113bに記録される。リソース識別子と最大アクセス
時間はシステム立ち上げ時や入出力インタフェース10
5等の各種リソースの構成が変更された時などに必要に
応じて記憶装置103から読み出される。
【0015】図3は周期的な実行及び実行時からの遅延
保証が必要なタスクの受付動作の一例を示すフローチャ
ートである。このフローチャートに基づき本発明の要部
動作を説明する。タスクの受付の処理は上述したように
タスク受付部110で行なわれる。遅延保証が必要なタ
スクの受付は遅延保証が必要なタスクの要求によって開
始される(ステップ301)。
保証が必要なタスクの受付動作の一例を示すフローチャ
ートである。このフローチャートに基づき本発明の要部
動作を説明する。タスクの受付の処理は上述したように
タスク受付部110で行なわれる。遅延保証が必要なタ
スクの受付は遅延保証が必要なタスクの要求によって開
始される(ステップ301)。
【0016】処理はまず既に受け付けられているタスク
と要求されたタスクで優先度の一番低いタスクの許容遅
延時間から、優先度の一番低いタスクがアクセスするリ
ソースの最大アクセス時間と、優先度の一番低いタスク
の1周期に対する他のタスクの最大実行回数分の要求処
理時間にそのタスクがアクセスするリソースの最大アク
セス時間の和とを減算する。各タスクに対応する最大ア
クセス時間は最大アクセス時間管理部113をタスクが
アクセスするリソースのリソース識別子を用いて参照す
ることで得られる(ステップ302)。
と要求されたタスクで優先度の一番低いタスクの許容遅
延時間から、優先度の一番低いタスクがアクセスするリ
ソースの最大アクセス時間と、優先度の一番低いタスク
の1周期に対する他のタスクの最大実行回数分の要求処
理時間にそのタスクがアクセスするリソースの最大アク
セス時間の和とを減算する。各タスクに対応する最大ア
クセス時間は最大アクセス時間管理部113をタスクが
アクセスするリソースのリソース識別子を用いて参照す
ることで得られる(ステップ302)。
【0017】ここで、ステップ302で得られる値を数
式で表すために、周期的な実行及び実行時からの遅延保
証が必要なタスクの許容遅延時間をPDn(1≦n≦タ
スク数)、優先度が一番低いタスクの許容遅延時間をP
Dm、周期的な実行及び実行時からの遅延保証が必要な
タスクがアクセスするリソースの最大アクセス時間をA
Tn(1≦n≦タスク数)、優先度が一番低いタスクが
アクセスするリソースの最大アクセス時間をATm、周
期的な実行及び実行時からの遅延保証が必要なタスクの
要求処理時間とそのタスクがアクセスするリソースの最
大アクセス時間との和をPRAn (1≦n≦タスク
数)、優先度の一番低いタスクの1周期に対する他のタ
スクの最大起動回数をPFn(1≦n≦タスク数)とす
ると、ステップ302で計算される値Cmpは、 Cmp=PDm−ATm−Σ(PRAn×PFn) (1)(但し、n≠m) となる。
式で表すために、周期的な実行及び実行時からの遅延保
証が必要なタスクの許容遅延時間をPDn(1≦n≦タ
スク数)、優先度が一番低いタスクの許容遅延時間をP
Dm、周期的な実行及び実行時からの遅延保証が必要な
タスクがアクセスするリソースの最大アクセス時間をA
Tn(1≦n≦タスク数)、優先度が一番低いタスクが
アクセスするリソースの最大アクセス時間をATm、周
期的な実行及び実行時からの遅延保証が必要なタスクの
要求処理時間とそのタスクがアクセスするリソースの最
大アクセス時間との和をPRAn (1≦n≦タスク
数)、優先度の一番低いタスクの1周期に対する他のタ
スクの最大起動回数をPFn(1≦n≦タスク数)とす
ると、ステップ302で計算される値Cmpは、 Cmp=PDm−ATm−Σ(PRAn×PFn) (1)(但し、n≠m) となる。
【0018】そして、優先度の一番低いタスクの許容遅
延時間から優先度の一番低いタスクの1周期に対する他
のタスクの最大起動回数分の要求処理時間の和を減算し
た値が零以下、すなわち Cmp≦0 (2) であれば受付不許可とし、それ以外の場合、すなわち Cmp>0 (3) のときは要求されたタスクを受け付けるものとする(ス
テップ303)。
延時間から優先度の一番低いタスクの1周期に対する他
のタスクの最大起動回数分の要求処理時間の和を減算し
た値が零以下、すなわち Cmp≦0 (2) であれば受付不許可とし、それ以外の場合、すなわち Cmp>0 (3) のときは要求されたタスクを受け付けるものとする(ス
テップ303)。
【0019】受付不許可の場合は受付失敗304で受付
できなかった場合の返答処理を行い(ステップ30
4)、処理を終了する(ステップ307)。受け付けら
れた場合は、要求されたタスクをタスク管理テーブル1
12に登録し(ステップ305)、さらに受付成功の返
答処理を行い(ステップ306)、処理を終了する(ス
テップ307)。
できなかった場合の返答処理を行い(ステップ30
4)、処理を終了する(ステップ307)。受け付けら
れた場合は、要求されたタスクをタスク管理テーブル1
12に登録し(ステップ305)、さらに受付成功の返
答処理を行い(ステップ306)、処理を終了する(ス
テップ307)。
【0020】以上の周期的な実行及び実行時からの遅延
保証が必要なタスクの受付動作は、タスクの要求処理時
間に対してはタスクがアクセスするリソースの最大アク
セス時間を加算し、遅延保証時間に対してはタスクがア
クセスするリソースの最大アクセス時間を減算して受付
可否の判定を行う以外は既存の技術がそのまま使用でき
る。
保証が必要なタスクの受付動作は、タスクの要求処理時
間に対してはタスクがアクセスするリソースの最大アク
セス時間を加算し、遅延保証時間に対してはタスクがア
クセスするリソースの最大アクセス時間を減算して受付
可否の判定を行う以外は既存の技術がそのまま使用でき
る。
【0021】図4は周期的な実行及び実行時からの遅延
保証が必要なタスクの実行制御動作の一例を示すフロー
チャートである。タスクの周期的な起動タイミングおよ
びタスクの実行切り換えタイミングは既存技術をそのま
ま使用できるので省略する。ここでは既存技術でタスク
が起動または切り換えが行なわれたときに、本発明によ
る実行制御について示す。まず、既存技術を用いてある
タスクが起動またはタスク切り換え対象となった時に処
理が開始される(ステップ401)。
保証が必要なタスクの実行制御動作の一例を示すフロー
チャートである。タスクの周期的な起動タイミングおよ
びタスクの実行切り換えタイミングは既存技術をそのま
ま使用できるので省略する。ここでは既存技術でタスク
が起動または切り換えが行なわれたときに、本発明によ
る実行制御について示す。まず、既存技術を用いてある
タスクが起動またはタスク切り換え対象となった時に処
理が開始される(ステップ401)。
【0022】ここで、対象となったタスクが何らかのリ
ソースにアクセスするかどうかをチェックする(ステッ
プ402)。もし、対象となったタスクのリソースへの
アクセスがなければ対象となるタスクの実行処理を行い
(ステップ403)、処理を終了する(ステップ40
4)。もし、対象となったタスクのリソースへのアクセ
スがあり、対象となったタスクがアクセスするリソース
が使用中でなければ対象となるタスクの実行処理を行い
(ステップ403)、処理を終了する(ステップ40
4)。なお、リソースが使用中であれば直ちに処理を終
了する(ステップ404)。このように、実行の対象と
なるタスクであってもそのタスクがアクセスするリソー
スが他のタスクによりアクセス中であればアクセス可能
になるまで実行を待たせることでリソースにアクセスす
るタスクが確実にリソースにアクセスできるようにな
る。
ソースにアクセスするかどうかをチェックする(ステッ
プ402)。もし、対象となったタスクのリソースへの
アクセスがなければ対象となるタスクの実行処理を行い
(ステップ403)、処理を終了する(ステップ40
4)。もし、対象となったタスクのリソースへのアクセ
スがあり、対象となったタスクがアクセスするリソース
が使用中でなければ対象となるタスクの実行処理を行い
(ステップ403)、処理を終了する(ステップ40
4)。なお、リソースが使用中であれば直ちに処理を終
了する(ステップ404)。このように、実行の対象と
なるタスクであってもそのタスクがアクセスするリソー
スが他のタスクによりアクセス中であればアクセス可能
になるまで実行を待たせることでリソースにアクセスす
るタスクが確実にリソースにアクセスできるようにな
る。
【0023】図5は本発明を用いた場合のタスク実行動
作の一例を示す図である。ここで図5(b),(c)に
示すTa,Tbはタスク名であり、図5(a)に示すR
Tmは、図5(b),(c)のタスクTa,Tbがアク
セスするリソースの最大アクセス時間である。また、図
5(d),(e)は、それぞれ図5(b),(c)のタ
スクTa,Tbの実際の実行動作例を示している。ま
た、図5(a)のATmは最大アクセス時間である。な
お、図5(b)のTaFはタスクTaの周期、TaPt
はタスクTaの要求処理時間、TaDtはタスクTaの
許容遅延時間を示している。また、図5(c)のTbF
はタスクTbの周期、TbPtはタスクTbの要求処理
時間、TbDtはタスクTbの許容遅延時間を示してい
る。
作の一例を示す図である。ここで図5(b),(c)に
示すTa,Tbはタスク名であり、図5(a)に示すR
Tmは、図5(b),(c)のタスクTa,Tbがアク
セスするリソースの最大アクセス時間である。また、図
5(d),(e)は、それぞれ図5(b),(c)のタ
スクTa,Tbの実際の実行動作例を示している。ま
た、図5(a)のATmは最大アクセス時間である。な
お、図5(b)のTaFはタスクTaの周期、TaPt
はタスクTaの要求処理時間、TaDtはタスクTaの
許容遅延時間を示している。また、図5(c)のTbF
はタスクTbの周期、TbPtはタスクTbの要求処理
時間、TbDtはタスクTbの許容遅延時間を示してい
る。
【0024】図5(d),(e)に示されるグラフは、
縦軸がタスクの優先度、横軸が時間を示している。時間
軸に沿って動作を説明すると、まず時点t1でタスクT
bが実行される。そして、時点t2でタスクTaが実行
対象となる。しかし、タスクTaとTbは同じリソース
にアクセスするためタスクTbがリソースにアクセス中
はタスクTaの優先度が高くても起動は待たされる。
縦軸がタスクの優先度、横軸が時間を示している。時間
軸に沿って動作を説明すると、まず時点t1でタスクT
bが実行される。そして、時点t2でタスクTaが実行
対象となる。しかし、タスクTaとTbは同じリソース
にアクセスするためタスクTbがリソースにアクセス中
はタスクTaの優先度が高くても起動は待たされる。
【0025】そしてタスクTbの実行から最大アクセス
時間ATm分過ぎた時点t3ではじめてタスクTaが起
動され、TaPt分の時間が経過するか、或いはタスク
Taの処理が終わる時点t4でタスクTbの実行が再開
される。時点t5はこの場合タスクTaが実行を終了し
なければならない時間であり、 TaPt+TaDt=t5−t2 (4) である。また、時点t6はこの場合タスクTbが実行を
終了しなければならない時間であり、 TbPt+TbDt=t6−t1 (5) である。
時間ATm分過ぎた時点t3ではじめてタスクTaが起
動され、TaPt分の時間が経過するか、或いはタスク
Taの処理が終わる時点t4でタスクTbの実行が再開
される。時点t5はこの場合タスクTaが実行を終了し
なければならない時間であり、 TaPt+TaDt=t5−t2 (4) である。また、時点t6はこの場合タスクTbが実行を
終了しなければならない時間であり、 TbPt+TbDt=t6−t1 (5) である。
【0026】このように、本発明ではそれぞれのタスク
がリソースへのアクセスを行いつつ、それぞれの許容遅
延時間内で処理を終了できるように動作する。この結
果、リソースにアクセスするタスクが存在しても、各種
リソースへの最大アクセス時間を設定し、最大アクセス
時間を用いて、タスクの予約と実行制御を行うことによ
り、タスクの許容遅延時間内での処理終了と各種リソー
スへの確実なアクセスを保証することが可能となる。
がリソースへのアクセスを行いつつ、それぞれの許容遅
延時間内で処理を終了できるように動作する。この結
果、リソースにアクセスするタスクが存在しても、各種
リソースへの最大アクセス時間を設定し、最大アクセス
時間を用いて、タスクの予約と実行制御を行うことによ
り、タスクの許容遅延時間内での処理終了と各種リソー
スへの確実なアクセスを保証することが可能となる。
【0027】図6は本発明の第2の実施の形態を示す図
であり、最大アクセス時間管理部113をすべてのリソ
ースで共通の最大アクセス時間とし最大アクセス時間格
納部113cに保持するものである。共通の最大アクセ
ス時間はシステムの変更等リソースに変化があった場合
に記憶装置103から読み出される。このようにしてタ
スクの各種リソースの最大アクセス時間を共通化するこ
とにより、タスクとそのタスクがアクセスするリソース
の最大アクセス時間を検索する必要がなくなり、処理負
荷を軽減できる。
であり、最大アクセス時間管理部113をすべてのリソ
ースで共通の最大アクセス時間とし最大アクセス時間格
納部113cに保持するものである。共通の最大アクセ
ス時間はシステムの変更等リソースに変化があった場合
に記憶装置103から読み出される。このようにしてタ
スクの各種リソースの最大アクセス時間を共通化するこ
とにより、タスクとそのタスクがアクセスするリソース
の最大アクセス時間を検索する必要がなくなり、処理負
荷を軽減できる。
【0028】図7は本発明の第2の実施の形態を示す図
であり、最大アクセス時間管理部113に、アクセス時
間の長さ(即ち、アクセスされるデータ量)によってい
くつかのタイプに分類されたリソースタイプと各リソー
スタイプに対応した最大アクセス時間を格納するように
したものである。ここで、リソースタイプはリソースタ
イプ格納部113dに格納され、最大アクセス時間は最
大アクセス時間格納部113eに格納される。リソース
タイプとそれに対応する最大アクセス時間はシステムの
変更等、リソースに変化があった場合に記憶装置103
から読み出される。以上のように構成することにより、
共通の最大アクセス時間が一つの場合よりも、各リソー
スに対して効率のよい最大アクセス時間を提供できると
ともに、個々のリソースに対して最大アクセス時間を設
定する場合よりタスクの実行予約と実行管理の処理負荷
を軽減させることが可能となる。
であり、最大アクセス時間管理部113に、アクセス時
間の長さ(即ち、アクセスされるデータ量)によってい
くつかのタイプに分類されたリソースタイプと各リソー
スタイプに対応した最大アクセス時間を格納するように
したものである。ここで、リソースタイプはリソースタ
イプ格納部113dに格納され、最大アクセス時間は最
大アクセス時間格納部113eに格納される。リソース
タイプとそれに対応する最大アクセス時間はシステムの
変更等、リソースに変化があった場合に記憶装置103
から読み出される。以上のように構成することにより、
共通の最大アクセス時間が一つの場合よりも、各リソー
スに対して効率のよい最大アクセス時間を提供できると
ともに、個々のリソースに対して最大アクセス時間を設
定する場合よりタスクの実行予約と実行管理の処理負荷
を軽減させることが可能となる。
【0029】
【発明の効果】以上説明したように本発明によれば、周
期的な実行及び実行時からの遅延保証が必要なタスクか
らアクセスされる各種リソースに1回のアクセスに対す
る最大アクセス時間を設定し、タスクの予約と実行制御
に用いるようにしたことにより、各タスクのリソースア
クセスを含めた実行の保証を行うことができる。また、
各種リソースへの最大アクセス時間を予め共通の値とし
て定めておき、タスクの実行予約と実行管理を行うよう
にしたことにより、タスクの予約処理と実行管理の際の
処理負荷を軽減することができる。また、各種リソース
に対して予め定める共通の最大アクセス時間を、アクセ
スするデータ量のタイプに応じて複数設けたことによ
り、共通の最大アクセス時間が一つ設定されている場合
に比べ、各リソースに対し効率のよい最大アクセス時間
を提供できるとともに、個々のリソースに対し最大アク
セス時間を設定する場合に比べ、タスクの実行予約と実
行管理の際の処理負荷を軽減させることができる。
期的な実行及び実行時からの遅延保証が必要なタスクか
らアクセスされる各種リソースに1回のアクセスに対す
る最大アクセス時間を設定し、タスクの予約と実行制御
に用いるようにしたことにより、各タスクのリソースア
クセスを含めた実行の保証を行うことができる。また、
各種リソースへの最大アクセス時間を予め共通の値とし
て定めておき、タスクの実行予約と実行管理を行うよう
にしたことにより、タスクの予約処理と実行管理の際の
処理負荷を軽減することができる。また、各種リソース
に対して予め定める共通の最大アクセス時間を、アクセ
スするデータ量のタイプに応じて複数設けたことによ
り、共通の最大アクセス時間が一つ設定されている場合
に比べ、各リソースに対し効率のよい最大アクセス時間
を提供できるとともに、個々のリソースに対し最大アク
セス時間を設定する場合に比べ、タスクの実行予約と実
行管理の際の処理負荷を軽減させることができる。
【図1】 本発明を適用したマルチタスクシステムのブ
ロック図である。
ロック図である。
【図2】 上記システム内の最大アクセス時間管理部の
構成の一例を示す図である。
構成の一例を示す図である。
【図3】 上記システムにおけるタスク受付処理の一例
を示すフローチャートである。
を示すフローチャートである。
【図4】 上記システムにおいて起動または切り換えの
対象となるタスク実行制御の一例を示すフローチャート
である。
対象となるタスク実行制御の一例を示すフローチャート
である。
【図5】 上記システムにおけるタスク動作例を示す図
である。
である。
【図6】 上記システム内の最大アクセス時間管理部の
第2の構成を示す図である。
第2の構成を示す図である。
【図7】 上記システム内の最大アクセス時間管理部の
第3の構成を示す図である。
第3の構成を示す図である。
100…マルチタスクシステム、101…CPU、10
2…タイマ、103…記録装置、104…ネットワーク
インタフェース、105…入出力インタフェース、10
6…バス、107…メモリ、110…タスク受付部、1
11…タスク実行部、112…タスク管理テーブル、1
13…最大アクセス時間管理部、113a…リソース識
別子格納部、113b…最大アクセス時間格納部、11
3c…最大アクセス時間格納部、113d…リソースタ
イプ、113e…最大アクセス時間格納部。
2…タイマ、103…記録装置、104…ネットワーク
インタフェース、105…入出力インタフェース、10
6…バス、107…メモリ、110…タスク受付部、1
11…タスク実行部、112…タスク管理テーブル、1
13…最大アクセス時間管理部、113a…リソース識
別子格納部、113b…最大アクセス時間格納部、11
3c…最大アクセス時間格納部、113d…リソースタ
イプ、113e…最大アクセス時間格納部。
Claims (3)
- 【請求項1】 周期的に実行され、かつ実行時からの遅
延の保証が必要なタスクの実行を管理するマルチタスク
システムにおいて、 前記タスクから前記マルチタスクシステムに設けられた
リソースに対する1回のアクセスに要する最大アクセス
時間を設定する第1のステップと、 前記タスクの予約が要求され前記リソースにアクセスす
る前記タスクの実行予約を行う場合に前記最大アクセス
時間を前記タスクの予約時に要求された要求処理時間に
加算するとともに、該最大アクセス時間を前記タスクの
予約時に要求された許容遅延時間から減算して実行予約
を行う第2のステップと、 前記リソースに対し他のタスクがアクセス中の場合は前
記実行予約が受付けられたタスクを、前記他のタスクの
アクセスの終了を待って実行する第3のステップとを有
し、各タスクのリソースのアクセスを含めた実行の保証
を行うことを特徴とするタスク管理方法。 - 【請求項2】 請求項1において、 各種のリソースへの最大アクセス時間を予め共通の値と
して設定するともに、前記共通の最大アクセス時間に基
づき前記タスクの実行予約及び実行管理を行うことを特
徴とするタスク管理方法。 - 【請求項3】 請求項1において、 前記最大アクセス時間は、前記タスクからアクセスされ
るリソースのデータ量のタイプに応じて設定されること
を特徴とするタスク管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34769497A JPH11175357A (ja) | 1997-12-17 | 1997-12-17 | タスク管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34769497A JPH11175357A (ja) | 1997-12-17 | 1997-12-17 | タスク管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11175357A true JPH11175357A (ja) | 1999-07-02 |
Family
ID=18391949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34769497A Pending JPH11175357A (ja) | 1997-12-17 | 1997-12-17 | タスク管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11175357A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050166204A1 (en) * | 2003-03-31 | 2005-07-28 | Fujitsu Limited | CPU usage time counting method and job control system using this CPU usage time |
WO2008126190A1 (ja) * | 2007-03-16 | 2008-10-23 | Fujitsu Limited | Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法、中継プログラム |
US8166479B2 (en) | 2007-06-26 | 2012-04-24 | Softlife Projects Limited As Applied Cytometry Systems | Optimizing data analysis through directional dependencies of a graph including plurality of nodes and attributing threading models and setting status to each of the nodes |
WO2012104899A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
-
1997
- 1997-12-17 JP JP34769497A patent/JPH11175357A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050166204A1 (en) * | 2003-03-31 | 2005-07-28 | Fujitsu Limited | CPU usage time counting method and job control system using this CPU usage time |
US8484643B2 (en) * | 2003-03-31 | 2013-07-09 | Fujitsu Limited | CPU usage time counting method and job control system using this CPU usage time |
WO2008126190A1 (ja) * | 2007-03-16 | 2008-10-23 | Fujitsu Limited | Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法、中継プログラム |
JP5083311B2 (ja) * | 2007-03-16 | 2012-11-28 | 富士通株式会社 | 制御プログラム、制御装置、制御方法、中継プログラム |
US8166479B2 (en) | 2007-06-26 | 2012-04-24 | Softlife Projects Limited As Applied Cytometry Systems | Optimizing data analysis through directional dependencies of a graph including plurality of nodes and attributing threading models and setting status to each of the nodes |
WO2012104899A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
JP5267737B2 (ja) * | 2011-01-31 | 2013-08-21 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
US8756606B2 (en) | 2011-01-31 | 2014-06-17 | Toyota Jidosha Kabushiki Kaisha | Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6735769B1 (en) | Apparatus and method for initial load balancing in a multiple run queue system | |
KR100628492B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
US6658449B1 (en) | Apparatus and method for periodic load balancing in a multiple run queue system | |
US6748593B1 (en) | Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system | |
CN107018091B (zh) | 资源请求的调度方法和装置 | |
WO1999012097A1 (en) | Processor resource distributor and method | |
JPH07141305A (ja) | 並列計算機の実行制御方法 | |
KR20040068600A (ko) | 운영 시스템 기능 실행 방법 및 시스템, 전자 기기 | |
US6721948B1 (en) | Method for managing shared tasks in a multi-tasking data processing system | |
JP2010044784A (ja) | システムにおける要求のスケジューリング | |
JP2022025055A (ja) | リソースベースのコマンドのスケジューリングに対するシステム及び方法 | |
US7818461B2 (en) | Systems and methods for allocating an asset to interconnected devices | |
US20030191794A1 (en) | Apparatus and method for dispatching fixed priority threads using a global run queue in a multiple run queue system | |
JPH06332833A (ja) | サーバ運用方式 | |
JP3664021B2 (ja) | サービスレベルによる資源割当方式 | |
JP2000056992A (ja) | タスクスケジューリングシステム、方法及び記録媒体 | |
JPH11175357A (ja) | タスク管理方法 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
CN114691376A (zh) | 一种线程执行方法、装置、电子设备和存储介质 | |
CA2316643C (en) | Fair assignment of processing resources to queued requests | |
JP2003186686A (ja) | リソース制御装置、方法及び記憶媒体 | |
KR100471746B1 (ko) | 연성 실시간 태스크 스케줄링 방법 및 그 기록매체 | |
KR20000026428A (ko) | 실시간 운영 시스템에서의 서비스 품질 관리 시스템 및 방법 | |
US20130042247A1 (en) | Starvationless Kernel-Aware Distributed Scheduling of Software Licenses | |
US6842900B2 (en) | Information processing apparatus executing processing corresponding to new thread by reusing arrangement for previous thread |