JP5726006B2 - タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 - Google Patents
タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 Download PDFInfo
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Description
このようなマルチタスクのスケジューリング方式では、共有資源アクセスを行う際の排他制御を実現する方法として、例えば、セマフォやミューテックス等のシステムコールによって、オペレーティングシステム(OS)から共有資源へのアクセス権を取得し、該共有資源を利用した処理が終了した時点でアクセス権をOSに返却する方法がとられている。
本発明は、CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定する手段と、該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段とを有し、前記データブロックは、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置を提供する。
更に、他のタスクによるアクセス要求が発生した場合には、この他のタスクに対して速やかにアクセス権を明け渡すことが可能となる。これにより、タスクの実行周期の遅延時間を低減させることができる。この場合において、上記データブロックは、全てのタスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされているので、共有資源の占有に起因する各タスクの実行周期の遅延を許容範囲以下とすることができる。
以下に、本発明の第1実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置について図面を参照して説明する。
本発明のタスクおよびリソースのスケジューリング装置及びその方法は、情報処理装置や制御装置等に対して広く適用可能であるが、以下においては、火力発電システムの制御に利用される制御装置に適用される場合を例示して説明する。
また、入出力デバイス15を介して、制御装置1には、入力装置2や出力装置3が接続されている。
また、ボイラ制御やタービン制御に必要となる各種データは、入力装置2から入出力デバイス15を介して入力される。入力された各種データはそれぞれの制御アプリケーションにおいて用いられ、演算結果としての制御指令などが出力装置3へ出力される。
本実施形態において、各タイムスロットは1msecに設定されており、これにより、各タスクのCPU実行時間の割り当ては1msec周期とされている。
これにより、図3に示したタイムスライスA1〜Anのそれぞれの時間が終了したときに、割り込みが発生し、これを受けたスケジューラ部21によって各タスクの切り替えが周期的に行われる。
入出力部24は、複数のタスクによりアクセスされる共有資源である。入出力部24の具体例としては、例えば、DMAコントローラ、SDメモリカード等のメモリにデータを書き込むインターフェースなどが挙げられる。
まず、図3の時刻t0において、タイムスロット#NのタイムスライスA1の開始時期が訪れると、タスクK1が実行される。このタスクK1の実行中である時刻t1において、共有資源である入出力部24に対して転送すべきデータが発生した場合、タスクK1はスケジューラ部21に対して入出力部24へ転送すべきデータが発生したことを通知する。スケジューラ部21は、この通知を受け付けると、入出力部24へのアクセス権を取得する(図3の時刻t1参照)。
また、スケジューラ部21は、転送対象となるデータを取得し、このデータを複数のデータブロックに分割し、該データブロック単位によるデータ転送を開始する。
ここで、上記データブロックは、次に実行されるタスクK2の実行周期の遅延(レイテンシ)の許容範囲内の時間で転送可能なデータ量とされる。
また、スケジューラ部21は、時刻t2の時点で転送中であったデータブロックの転送処理が終了した時点で(図3の時刻t3参照)、タスクK1が保有していたアクセス権を返却する。これにより、他のタスクによる入出力部24のアクセス権の取得が可能な状態とされる。
この結果、ハンドラ部23による割り込みが発生していない場合には、次に転送すべきデータブロックの転送処理が実行され、他方、ハンドラ部23による割り込みが発生していた場合には、共有資源のアクセス権が返却されるとともに、未転送のデータブロックについては当該タスクK1の次のタイムスライスA1まで保留される。
このような処理がスケジュール部21により実行されることにより、図3に示すようなタスクの切り替えおよびアクセス権の明け渡しが実現される。
次に、本発明の第2実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置について図4を参照して説明する。
上述した第1実施形態においては、タスクの切り替えの割り込みが発生したか否かにより、共有資源のアクセス権を返却するか否かを決定していたが、本実施形態は、他のタスクによる同共有資源へのアクセス要求があるか否かにより、共有資源のアクセス権を返却するか否かを決定する。
以下、上記第1実施形態と共有する点については説明を省略し、異なる点について主に説明する。
まず、上記第1実施形態と同様に、図4の時刻t0において、タイムスロット#NのタイムスライスA1の開始時期が訪れると、タスクK1が実行される。続いて、時刻t1において共有資源である入出力部24に対して転送すべきデータが発生すると、スケジューラ部21により入出力部24のアクセス権が取得され、データブロック単位での転送処理が開始される。
そして、このようにしてアクセス権を取得したタスクK2では、入出力部24へのデータブロック単位のデータ転送が同様に開始される。
次に、本発明の第3実施形態に係るタスクおよびリソースのスケジューリング装置及びその方法並びに制御装置について図5を参照して説明する。
上述した第1実施形態または第2実施形態においては、タイムスロットをN分割してN個のタイムスライスA1〜Anを生成し、各タイムスライスA1〜Anを各タスクK1〜Knにそれぞれ割り当てていたが、本実施形態では、図5に示すように、タスクの割り当てが行われない空き時間Gが各タイムスロットに含まれている点で上述した各実施形態と異なる。
例えば、各タイムスロットにおいて、全てのタスクK1〜Knに割り当てられたタイムスライスA1〜Anが終了した時点で、次のタイムスロットが開始されるまでの時間ΔTgがスケジューラ部21で算出され、この時間ΔTgが時間帯Gとしてタイマ部22にセットされる。これにより、時間ΔTgが経過した時点で、タイマ部22からハンドラ部23にその旨が通知され、ハンドラ部23による割り込み処理が発生することにより、次のタイムスロットが開始される。
2 入力装置
3 出力装置
11 CPU
12 ROM
13 RAM
14 タイマ
15 入出力デバイス
21 スケジューラ部
22 タイマ部
23 ハンドラ部
24 入出力部
K1〜Kn タスク
A1〜An タイムスライス
Claims (6)
- CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、
実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、
前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、
前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定する手段と、
該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段と
を有し、
前記データブロックは、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置。 - CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング装置であって、
実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得する手段と、
前記共有資源へ転送すべき該データを複数のデータブロックに分割する手段と、
前記データブロックの転送完了毎に、他のタスクから前記共有資源へのアクセス要求が発生したか否かを判定する手段と、
該アクセス要求が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該アクセス要求が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留する手段と
を有し、
前記データブロックは、全ての前記タスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング装置。 - 前記タイムスロットには、タスクの割り当てが行われない空き時間が含まれている請求項1または請求項2に記載のタスクおよびリソースのスケジューリング装置。
- 請求項1から請求項3のいずれかに記載のタスクおよびリソースのスケジューリング装置を備える制御装置。
- CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクおよびリソースのスケジューリング方法であって、
コンピュータが、
実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得するステップと、
前記共有資源へ転送すべき該データを複数のデータブロックに分割するステップと、
前記データブロックの転送完了毎に、当該タスクに割り当てられた前記CPU実行時間の終了を通知する情報が発生したか否かを判定するステップと、
該情報が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該情報が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留するステップと、
を実行し、
前記データブロックが、当該タスクの次に実行されるタスクの実行周期の遅延の許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング方法。 - CPU時間を一定時間毎に区切ったタイムスロットを複数に分割したタイムスライスをCPU実行時間として複数のタスクのそれぞれに割り当てることにより、複数のタスクの時分割処理を可能とするオペレーティングシステムのタスクスケジューリング方法であって、
コンピュータが、
実行中のタスクにおいて、共有資源へ転送すべきデータが発生した場合に、前記共有資源のアクセス権を取得するステップと、
前記共有資源へ転送すべき該データを複数のデータブロックに分割するステップと、
前記データブロックの転送完了毎に、他のタスクから前記共有資源へのアクセス要求が発生したか否かを判定するステップと、
該アクセス要求が発生していない場合には、次に転送すべきデータブロックの転送処理を実行し、該アクセス要求が発生していた場合には、前記共有資源のアクセス権を返却するとともに、未転送の前記データブロックを次回の当該タスクのCPU実行時間まで保留するステップと、
を実行し、
前記データブロックが、全ての前記タスクの実行周期の遅延の許容範囲のうち、最も短い許容範囲内で転送可能なデータ量とされるタスクおよびリソースのスケジューリング方法。
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)
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)
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 | マルチコアシステム、スレッドスケジューリング方法、プログラム、記憶媒体 |
-
2011
- 2011-07-26 JP JP2011163389A patent/JP5726006B2/ja active Active
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) | 産業用サーバのマイクロカーネルアーキテクチャの制御システム及び産業用サーバ | |
US8892819B2 (en) | Multi-core system and external input/output bus control method | |
JP4457047B2 (ja) | マルチプロセッサシステム | |
CN106569887B (zh) | 一种云环境下细粒度任务调度方法 | |
CN111324432B (zh) | 处理器调度方法、装置、服务器及存储介质 | |
WO2012120654A1 (ja) | タスクスケジューリング方法およびマルチコアシステム | |
JP2010128664A (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) | 処理タスクを実行するための方法、装置、デバイス、および記憶媒体 | |
US20050066093A1 (en) | Real-time processor system and control method | |
JP2015141584A (ja) | 情報処理装置、情報処理方法およびプログラム | |
Alfranseder et al. | An efficient spin-lock based multi-core resource sharing protocol | |
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 |
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 |