JP5726006B2 - タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 - Google Patents

タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 Download PDF

Info

Publication number
JP5726006B2
JP5726006B2 JP2011163389A JP2011163389A JP5726006B2 JP 5726006 B2 JP5726006 B2 JP 5726006B2 JP 2011163389 A JP2011163389 A JP 2011163389A JP 2011163389 A JP2011163389 A JP 2011163389A JP 5726006 B2 JP5726006 B2 JP 5726006B2
Authority
JP
Japan
Prior art keywords
task
time
data
transferred
shared resource
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.)
Active
Application number
JP2011163389A
Other languages
English (en)
Other versions
JP2013029873A (ja
Inventor
中出 実
実 中出
信一 戸田
信一 戸田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Power Ltd
Original Assignee
Mitsubishi Hitachi Power Systems Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Hitachi Power Systems Ltd filed Critical Mitsubishi Hitachi Power Systems Ltd
Priority to JP2011163389A priority Critical patent/JP5726006B2/ja
Publication of JP2013029873A publication Critical patent/JP2013029873A/ja
Application granted granted Critical
Publication of JP5726006B2 publication Critical patent/JP5726006B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置に関するものである。
従来、複数のタスクを動作させるマルチタスクの実行方法として、ラウンドロビンスケジューリングや優先度に基づくスケジューリング等が知られている(例えば、特許文献1、特許文献2参照)。
このようなマルチタスクのスケジューリング方式では、共有資源アクセスを行う際の排他制御を実現する方法として、例えば、セマフォやミューテックス等のシステムコールによって、オペレーティングシステム(OS)から共有資源へのアクセス権を取得し、該共有資源を利用した処理が終了した時点でアクセス権をOSに返却する方法がとられている。
特開平11−24946号公報 特開2000−20323号公報
しかしながら、上記方法では、実行中のタスクによる共有資源を利用した処理が終了するまで、同共有資源へのアクセスを必要とする次のタスクの実行が待たされる。したがって、例えば、大量のデータを通信するようなタスクが実行された場合には、実行中のタスクによる共有資源の占有が長期化することとなり、後続のタスクの遅延時間が大きくなってしまう。
また、実行中のタスクへ割り当てられるCPU実行時間の終了時において、実行中のタスクによる共有資源のアクセスを中断させ、該共有資源のアクセス権を強制的にOSに返却させる制御も考えられるが、途中でアクセスを中断できないような共有資源の場合には、このような対応ができず、後続のタスクの遅延時間は免れない。
本発明は、このような事情に鑑みてなされたものであって、タスクの実行周期の遅延を低減させることのできるタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置を提供することを目的とする。
上記課題を解決するために、本発明は以下の手段を採用する。
本発明は、CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定する手段と、該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段とを有し、前記データブロックは、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置を提供する。
上記構成によれば、実行中のタスクにおいて共有資源へ転送すべきデータが発生した場合には、そのデータが複数のデータブロックに分割され、該データブロック単位で転送処理が行われるとともに、各データブロックの転送完了において、当該タスクに割り当てられたCPU実行時間の終了を通知する割り込みが発生したか否かが判断される。これにより、データ転送中に次のタスクの開始時間が訪れることにより、タスクの切替が行われたとしても、今まで実行されていたタスクの共有資源の占有による次のタスクへの影響を1つのデータブロックの転送時間以下とすることができる。ここで、データブロックは、次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされているので、共有資源の占有に起因する次のタスクの遅延を許容範囲以下とすることができ、複数のタスクを確定的に周期動作させることが可能となる。
本発明は、CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、前記データブロックの転送完了毎に、他のタスクから前記共有資源へのアクセス要求が発生したか否かを判定する手段と、該アクセス要求が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該アクセス要求が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段とを有し、前記データブロックは、全ての前記タスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置を提供する。
このような構成によれば、実行中のタスクにおいて共有資源へ転送すべきデータが発生した場合に、そのデータが複数のデータブロックに分割され、該データブロック単位で転送処理が行われるとともに、該データブロックの転送完了毎に、他のタスクによる共有資源へのアクセス要求が発生されたか否かが判断される。これにより、他のタスクによる共有資源へのアクセス要求がない限りは、現在アクセス権を占有しているタスクにおいて発生したデータ転送を継続して行うことが可能となる。この結果、共有資源を必要とするタスクに効率的に共有資源を利用させることが可能となる。
更に、他のタスクによるアクセス要求が発生した場合には、この他のタスクに対して速やかにアクセス権を明け渡すことが可能となる。これにより、タスクの実行周期の遅延時間を低減させることができる。この場合において、上記データブロックは、全てのタスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされているので、共有資源の占有に起因する各タスクの実行周期の遅延を許容範囲以下とすることができる。
上記いずれかのタスクおよびリソースのスケジューリング装置において、前記タイムスロットには、タスクの割り当てが行われない空き時間が含まれていてもよい。
このように、上記タイムスロットにタスクの割り当てが行われない空き時間を含ませることで、各タスクの実行遅延を該空き時間で吸収することができる。この結果、各タスクを略一定の周期で実行させることが可能となる。
本発明は、上記いずれかのタスクおよびリソースのスケジューリング装置を備える制御装置を提供する。
本発明は、CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング方法であって、コンピュータが、実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得するステップと、前記共有資源へ転送すべき該データを複数のデータブロックに分割するステップと、前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定するステップと、該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留するステップとを実行し、前記データブロックが、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング方法を提供する。
本発明は、CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクスケジューリング方法であって、コンピュータが、実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得するステップと、前記共有資源へ転送すべき該データを複数のデータブロックに分割するステップと、前記データブロックの転送完了毎に、他のタスクから前記共有資源へのアクセス要求が発生したか否かを判定するステップと、該アクセス要求が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該アクセス要求が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留するステップとを実行し、前記データブロックが、全ての前記タスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング方法を提供する。
本発明によれば、複数のタスクの実行周期の遅延を低減させることができるという効果を奏する。
本発明の第1実施形態に係るタスクおよびリソースのスケジューリング装置が適用された制御装置のハードウェア構成を示したブロック図である。 本発明の第1実施形態に係る制御装置の機能ブロック図を示した図である。 本発明の第1実施形態に係るタスクおよびリソースのスケジューリング装置によって実施されるタスクおよびリソースのスケジューリング方法のタイミングチャートを示した図である。 本発明の第2実施形態に係るタスクおよびリソースのスケジューリング装置によって実施されるタスクおよびリソースのスケジューリング方法のタイミングチャートを示した図である。 本発明の第3実施形態に係るタイムスロットの構成を示した図である。
〔第1実施形態〕
以下に、本発明の第1実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置について図面を参照して説明する。
本発明のタスクおよびリソースのスケジューリング装置及びその方法は、情報処理装置や制御装置等に対して広く適用可能であるが、以下においては、火力発電システムの制御に利用される制御装置に適用される場合を例示して説明する。
図1は、本実施形態に係るタスクおよびリソースのスケジューリング装置が適用された制御装置1のハードウェア構成を示したブロック図である。図1に示すように、制御装置1は、CPU11、CPU11が実行するプログラム等を記憶するためのROM(Read Only Memory)12、各プログラム実行時のワーク領域として機能するRAM(Random Access Memory)13、タイマ14、および入出力デバイス(I/Oデバイス)15を主な構成として備えている。これら各部は、バス18を介して接続されている。
また、入出力デバイス15を介して、制御装置1には、入力装置2や出力装置3が接続されている。
上記ROM12には、ボイラを制御するための制御アプリケーションや、タービンを制御するためのタービン制御アプリケーションなどの複数の制御アプリケーションが記録されており、これらの制御アプリケーションをCPU11がRAM13に読み出して実行することにより、ボイラ制御やタービン制御等が実現される。
また、ボイラ制御やタービン制御に必要となる各種データは、入力装置2から入出力デバイス15を介して入力される。入力された各種データはそれぞれの制御アプリケーションにおいて用いられ、演算結果としての制御指令などが出力装置3へ出力される。
図2は、制御装置1の機能ブロック図を示した図である。図2に示すように、制御装置1は、複数のタスクK1〜Kn、スケジューラ部(タスクおよびリソースのスケジューリング装置)21、タイマ部22、ハンドラ部23、及び入出力部24を主な構成として備えている。
上記複数のタスクK1〜Knは、それぞれ入力部、演算部、および出力部を備えている。これらタスクは、例えば、上述したボイラを制御するための制御アプリケーションや、タービンを制御するためのタービン制御アプリケーションなどを実行する。
スケジューラ部21は、オペレーティングシステム(OS)により実行される機能の一つであり、例えば、図3に示すように、CPU時間を所定時間毎に区切ったタイムスロットを分割したタイムスライスA1〜AnをCPU実行時間としてタスクK1〜Knのそれぞれに割り当てることにより、複数のタスクK1〜Knの時分割処理を可能とする。なお、各タイムスライスに対するタスクの割り当てについては、この例に限定されない。例えば、1つのタイムスライスに複数のタスクをグループとして割り当てることも可能である。
本実施形態において、各タイムスロットは1msecに設定されており、これにより、各タスクのCPU実行時間の割り当ては1msec周期とされている。
タイマ部22は、スケジューラ部21によってセットされた時間を計時し、セットされた時間が経過したときに、ハンドラ部23に対してその旨を通知する。ハンドラ部23は、タイマ22から通知を受けると、スケジューラ部21に対して割り込みを発生させる。
これにより、図3に示したタイムスライスA1〜Anのそれぞれの時間が終了したときに、割り込みが発生し、これを受けたスケジューラ部21によって各タスクの切り替えが周期的に行われる。
入出力部24は、複数のタスクによりアクセスされる共有資源である。入出力部24の具体例としては、例えば、DMAコントローラ、SDメモリカード等のメモリにデータを書き込むインターフェースなどが挙げられる。
次に、上記スケジューラ部21によって実施されるタスクおよびリソースのスケジューリング方法について図2及び図3を参照して説明する。
まず、図3の時刻t0において、タイムスロット#NのタイムスライスA1の開始時期が訪れると、タスクK1が実行される。このタスクK1の実行中である時刻t1において、共有資源である入出力部24に対して転送すべきデータが発生した場合、タスクK1はスケジューラ部21に対して入出力部24へ転送すべきデータが発生したことを通知する。スケジューラ部21は、この通知を受け付けると、入出力部24へのアクセス権を取得する(図3の時刻t1参照)。
また、スケジューラ部21は、転送対象となるデータを取得し、このデータを複数のデータブロックに分割し、該データブロック単位によるデータ転送を開始する。
ここで、上記データブロックは、次に実行されるタスクK2の実行周期の遅延(レイテンシ)の許容範囲内の時間で転送可能なデータ量とされる。
続いて、時刻t2において、ハンドラ部23による割り込みが発生し、タスクK1に割り当てられたタイムスライスA1が終了した旨がハンドラ部23からスケジューラ部21に通知されると、スケジューラ部21は、タスクK1の実行を中断し、タスクK2の実行に切り替える。これにより、時刻t2においてタスクK2の実行が開始される。
また、スケジューラ部21は、時刻t2の時点で転送中であったデータブロックの転送処理が終了した時点で(図3の時刻t3参照)、タスクK1が保有していたアクセス権を返却する。これにより、他のタスクによる入出力部24のアクセス権の取得が可能な状態とされる。
また、スケジューラ部21は、タスクK1が占有していたアクセス権を返却することに伴い、未転送となったデータブロックについては、次のタイムスロット#N+1におけるタスクK1のCPU実行時間、すなわち、タイムスライスA1まで保留する。
このように、本実施形態においては、スケジューラ部21は、データブロックの転送が完了する毎に、当該タスクK1に割り当てられたタイムスライスA1の終了を通知する情報が発生したか否かを判定する。すなわち、ハンドラ部23からタイムスライスA1の終了を通知する割り込みが発生したか否かを判定する。
この結果、ハンドラ部23による割り込みが発生していない場合には、次に転送すべきデータブロックの転送処理が実行され、他方、ハンドラ部23による割り込みが発生していた場合には、共有資源のアクセス権が返却されるとともに、未転送のデータブロックについては当該タスクK1の次のタイムスライスA1まで保留される。
このような処理がスケジュール部21により実行されることにより、図3に示すようなタスクの切り替えおよびアクセス権の明け渡しが実現される。
次に、タスクK2の実行中である図3の時刻t4において、入出力部24に対して転送すべきデータが発生したことが、タスクK2からスケジューラ部21に通知されると、スケジューラ部21は、入出力部24へのアクセス権を取得する(図3の時刻t4参照)。そして、スケジューラ部21は、転送対象となるデータを取得し、このデータを複数のデータブロックに分割し、該データブロック単位によるデータ転送を開始する。このとき、データブロックは、次に実行されるタスクK3の実行周期の遅延の許容範囲内の時間で転送可能なデータ量とされる。
スケジュール部21は、データブロックの転送完了毎に、当該タスクK2に割り当てられたタイムスライスA2の終了を通知する情報が発生したか否かを判定する。したがって、例えば、図3の時刻t5においてタイムスライスA2の終了を通知する割り込みが発生した場合には、転送中であるデータブロックを転送し終えた時点(時刻t6参照)で、入出力部24へのアクセス権を返却するとともに、未転送であるデータブロックについては、次のタイムスロット#N+1における当該タスクK2のCPU実行時間、すなわち、タイムスライスA2まで保留する。
そして、同様の手順に従って、タスクK3以降のタスクが実行され、タスクKnのCPU実行時間であるタイムスライスAnが終了すると、新たなタイムスロット#N+1が訪れ、時刻t7において、タスクK1が実行される。タスクK1では、タイムスロット#NのタイムスライスA1で保留されていたデータの転送処理が再開される。すなわち、時刻t7において、タスクK1による入出力部24のアクセス権が取得され、データブロック単位でのデータ転送が再開される。そして、タスクK1の実行中である時刻t8において、全てのデータの転送が終了すると、タスクK1は入出力部24のアクセス権を返却し、後続の処理を実行する。
そして、時刻t9においてタイムスライスA1の終了を通知する割り込みが発生すると、スケジューラ部21は実行するタスクをタスクK1からタスクK2に切り替える。これにより、タスクK1と同様に、タスクK2においてタイムスロット#Nで保留されていたデータブロックの転送処理が再開される。
以上説明してきたように、本実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置によれば、実行中のタスクにおいて共有資源へ転送すべきデータが発生した場合には、そのデータが複数のデータブロックに分割され、該データブロック単位で転送処理が行われるとともに、各データブロックの転送完了において、当該タスクに割り当てられたCPU実行時間(タイムスライス)の終了を通知する割り込みが発生したか否かが判断される。これにより、データ転送中に次のタスクの開始時間が訪れることにより、タスクの切替が行われたとしても、今まで実行されていたタスクの共有資源の占有による次のタスクへの影響を1つのデータブロックの転送時間以下とすることができる。ここで、データブロックは、次に実行されるタスクの遅延許容範囲内で転送可能なデータ量とされているので、共有資源の占有に起因する次のタスクの遅延を許容範囲以下とすることができ、複数のタスクを確定的に周期動作させることが可能となる。更に、各タスクを確定的に周期動作させることにより、アプリケーションの制御周期の遅延も低減することが可能となる。
〔第2実施形態〕
次に、本発明の第2実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置について図4を参照して説明する。
上述した第1実施形態においては、タスクの切り替えの割り込みが発生したか否かにより、共有資源のアクセス権を返却するか否かを決定していたが、本実施形態は、他のタスクによる同共有資源へのアクセス要求があるか否かにより、共有資源のアクセス権を返却するか否かを決定する。
以下、上記第1実施形態と共有する点については説明を省略し、異なる点について主に説明する。
図4は、本実施形態に係るタスクおよびリソースのスケジューリング装置によって実施されるタスクスケジューリング方法のタイミングチャートを示した図である。
まず、上記第1実施形態と同様に、図4の時刻t0において、タイムスロット#NのタイムスライスA1の開始時期が訪れると、タスクK1が実行される。続いて、時刻t1において共有資源である入出力部24に対して転送すべきデータが発生すると、スケジューラ部21により入出力部24のアクセス権が取得され、データブロック単位での転送処理が開始される。
続いて、図4の時刻t2において、ハンドラ部23による割り込みが発生し、タスクK1に割り当てられたタイムスライスA1が終了した旨がハンドラ部23からスケジューラ部21に通知されると、スケジューラ部21は、タスクK1の実行を中断し、タスクK2の実行に切り替える。これにより、図4の時刻t2においてタスクK2の実行が開始される。一方、このようなタスクの切り替えが行われても、タスクK2から入出力部24へのアクセス要求が発生しない限り、タスクK1が入出力部24のアクセス権を保有する。この結果、タスクK1で発生したデータの転送処理が継続して実行される。
続いて、図4の時刻t3において、タスクK2からの入出力部24へのアクセス要求が発生すると、スケジュール部21は、現在転送中のデータブロックの転送が終了した時点(図4の時刻t4参照)で、タスクK1が保有していたアクセス権を返却し、タスクK2にアクセス権を渡す。また、タスクK1による残りの転送データについては、次のタイムスロット#N+1におけるタスクK1のCPU実行時間、すなわち、タイムスライスA1まで保留する。
すなわち、本実施形態によれば、データブロックの転送が完了する毎に、他のタスクによる入出力部24へのアクセス要求が発生したか否かが判定され、アクセス要求が発生していない場合には、入出力部24へのデータ転送処理が継続して行われ、他のタスクによるアクセス要求が発生していた場合には、入出力部24へのアクセス権を返却して、アクセス要求を行った他のタスクにアクセス権を渡すという処理がスケジューラ部21にて行われる。
そして、このようにしてアクセス権を取得したタスクK2では、入出力部24へのデータブロック単位のデータ転送が同様に開始される。
以上、説明したように、本実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置によれば、実行中のタスクにおいて共有資源へ転送すべきデータが発生した場合に、そのデータが複数のデータブロックに分割され、該データブロック単位で転送処理が行われるとともに、該データブロックの転送完了毎に、他のタスクによる共有資源へのアクセス要求が発生されたか否かが判断される。これにより、他のタスクによる共有資源へのアクセス要求がない限りは、現在アクセス権を占有しているタスクにおいて発生したデータ転送を継続して行うことが可能となる。この結果、共有資源を必要とするタスクに効率的に共有資源を利用させることが可能となる。
更に、本実施形態によれば、他のタスクによるアクセス要求が発生した場合には、この他のタスクに対して速やかにアクセス権を明け渡すことが可能となる。これにより、タスクの実行周期の遅延時間を低減させることができる。この場合において、上記データブロックは、全てのタスクK1〜Knの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされているので、共有資源の占有に起因する各タスクの遅延を許容範囲以下とすることができる。
〔第3実施形態〕
次に、本発明の第3実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置について図5を参照して説明する。
上述した第1実施形態または第2実施形態においては、タイムスロットをN分割してN個のタイムスライスA1〜Anを生成し、各タイムスライスA1〜Anを各タスクK1〜Knにそれぞれ割り当てていたが、本実施形態では、図5に示すように、タスクの割り当てが行われない空き時間Gが各タイムスロットに含まれている点で上述した各実施形態と異なる。
例えば、本実施形態においては、タスクK1〜Knに割り当てる各タイムスライスの時間が予め定められており、タイムスロットの周期ΔTはタスクK1〜Knに割り当てられる各タイムスライスA1〜Anの合計時間よりも長めに設定されている。これにより、各タイムスロットには必ずタスクが割り当てられない時間帯Gが存在することとなる。また、このとき、タスクが割り当てられない時間帯Gは、上述した1つのデータブロックを転送する時間に比べて十分長い時間となるように設定されている。
ここで、タスクが割り当てられない時間帯Gは、以下のように設定される。
例えば、各タイムスロットにおいて、全てのタスクK1〜Knに割り当てられたタイムスライスA1〜Anが終了した時点で、次のタイムスロットが開始されるまでの時間ΔTgがスケジューラ部21で算出され、この時間ΔTgが時間帯Gとしてタイマ部22にセットされる。これにより、時間ΔTgが経過した時点で、タイマ部22からハンドラ部23にその旨が通知され、ハンドラ部23による割り込み処理が発生することにより、次のタイムスロットが開始される。
ここで、上記時間帯Gは、各タイムスロットにおいて全てのタスクが終了した後に設定されるので、各タスクの実行遅延の状態に応じて調整されることとなる。すなわち、そのタイムスロットにおけるタスクの実行遅延量が大きければ時間帯Gは短く調整され、実行遅延量が小さければ時間帯Gは長く調整される。
このように、各タイムスロットにタスクが割り当てられない時間帯Gを含ませることで、各タスクの実行遅延を該時間帯Gで吸収することができ、各タイムスロットを確実に一定周期とすることができる。
1 制御装置
2 入力装置
3 出力装置
11 CPU
12 ROM
13 RAM
14 タイマ
15 入出力デバイス
21 スケジューラ部
22 タイマ部
23 ハンドラ部
24 入出力部
K1〜Kn タスク
A1〜An タイムスライス

Claims (6)

  1. CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、
    実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、
    前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、
    前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定する手段と、
    該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段と
    を有し、
    前記データブロックは、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置。
  2. CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、
    実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、
    前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、
    前記データブロックの転送完了毎に、他のタスクから前記共有資源へのアクセス要求が発生したか否かを判定する手段と、
    該アクセス要求が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該アクセス要求が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段と
    を有し、
    前記データブロックは、全ての前記タスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置。
  3. 前記タイムスロットには、タスクの割り当てが行われない空き時間が含まれている請求項1または請求項2に記載のタスクおよびリソースのスケジューリング装置。
  4. 請求項1から請求項3のいずれかに記載のタスクおよびリソースのスケジューリング装置を備える制御装置。
  5. CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング方法であって、
    コンピュータが、
    実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得するステップと
    前記共有資源へ転送すべき該データを複数のデータブロックに分割するステップと
    前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定するステップと
    該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留するステップと
    を実行し、
    前記データブロックが、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング方法。
  6. CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクスケジューリング方法であって、
    コンピュータが、
    実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得するステップと
    前記共有資源へ転送すべき該データを複数のデータブロックに分割するステップと
    前記データブロックの転送完了毎に、他のタスクから前記共有資源へのアクセス要求が発生したか否かを判定するステップと
    該アクセス要求が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該アクセス要求が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留するステップと
    を実行し、
    前記データブロックが、全ての前記タスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング方法。
JP2011163389A 2011-07-26 2011-07-26 タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 Active JP5726006B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011163389A JP5726006B2 (ja) 2011-07-26 2011-07-26 タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011163389A JP5726006B2 (ja) 2011-07-26 2011-07-26 タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置

Publications (2)

Publication Number Publication Date
JP2013029873A JP2013029873A (ja) 2013-02-07
JP5726006B2 true JP5726006B2 (ja) 2015-05-27

Family

ID=47786892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011163389A Active JP5726006B2 (ja) 2011-07-26 2011-07-26 タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置

Country Status (1)

Country Link
JP (1) JP5726006B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5881753B2 (ja) * 2014-01-20 2016-03-09 三菱電機株式会社 コントロールユニット及びそれを用いた車両制御装置
US9413707B2 (en) 2014-04-11 2016-08-09 ACR Development, Inc. Automated user task management
US8942727B1 (en) 2014-04-11 2015-01-27 ACR Development, Inc. User Location Tracking
JP6426495B2 (ja) * 2015-02-18 2018-11-21 Necプラットフォームズ株式会社 コンピュータシステム、cpuリソース管理方法、および、cpuリソース管理プログラム
JP6796040B2 (ja) * 2017-08-29 2020-12-02 日立オートモティブシステムズ株式会社 アクセス制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213414A (ja) * 2003-01-06 2004-07-29 Matsushita Electric Ind Co Ltd 記憶デバイス制御装置
JP2009110120A (ja) * 2007-10-26 2009-05-21 Panasonic Electric Works Co Ltd データ出力制御装置
JP2010113414A (ja) * 2008-11-04 2010-05-20 Ricoh Co Ltd マルチコアシステム、スレッドスケジューリング方法、プログラム、記憶媒体

Also Published As

Publication number Publication date
JP2013029873A (ja) 2013-02-07

Similar Documents

Publication Publication Date Title
JP5324934B2 (ja) 情報処理装置および情報処理方法
US7853950B2 (en) Executing multiple threads in a processor
EP3092567B1 (en) System and method for isolating i/o execution via compiler and os support
JP5726006B2 (ja) タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置
JP5498505B2 (ja) データバースト間の競合の解決
JP2020009403A (ja) 産業用サーバのマイクロカーネルアーキテクチャの制御システム及び産業用サーバ
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
US8892819B2 (en) Multi-core system and external input/output bus control method
JP4457047B2 (ja) マルチプロセッサシステム
CN106569887B (zh) 一种云环境下细粒度任务调度方法
WO2012120654A1 (ja) タスクスケジューリング方法およびマルチコアシステム
US9367349B2 (en) Multi-core system and scheduling method
Negrean et al. Response-time analysis for non-preemptive scheduling in multi-core systems with shared resources
CN109766168B (zh) 任务调度方法和装置、存储介质以及计算设备
JP2010165175A (ja) バスの使用権を制御する装置および方法
JP7122299B2 (ja) 処理タスクを実行するための方法、装置、デバイス、および記憶媒体
JP2015141584A (ja) 情報処理装置、情報処理方法およびプログラム
US20050066093A1 (en) Real-time processor system and control method
Wada et al. Fast interrupt handling scheme by using interrupt wake-up mechanism
JP2012203911A (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
JP2007193744A (ja) 情報処理装置、プログラム、およびスケジューリング方法
Saranya et al. An implementation of partitioned scheduling scheme for hard real-time tasks in multicore linux with fair share for linux tasks
Schorr et al. Integrated time-and event-triggered scheduling-An overhead analysis on the ARM architecture
Andersson et al. Implementing multicore real-time scheduling algorithms based on task splitting using Ada 2012
JP2021043931A (ja) コンピュータ装置及びデバッグ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5726006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350