JP7010014B2 - スケジューリング装置 - Google Patents
スケジューリング装置 Download PDFInfo
- Publication number
- JP7010014B2 JP7010014B2 JP2018006385A JP2018006385A JP7010014B2 JP 7010014 B2 JP7010014 B2 JP 7010014B2 JP 2018006385 A JP2018006385 A JP 2018006385A JP 2018006385 A JP2018006385 A JP 2018006385A JP 7010014 B2 JP7010014 B2 JP 7010014B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- highest priority
- time
- priority
- execution time
- 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
- Debugging And Monitoring (AREA)
Description
本開示は、複数のOSにおいてタスクの最高優先度が同じ場合、いずれかのOSで最高優先度のタスクが実行されないことを抑制し、タスクに設定された優先度に基づき最高優先度のタスクが存在するOSに適切な実行時間を設定する技術を提供することが望ましい。
このような構成によれば、OS毎に最高優先度のタスクを実行する実行時間が設定されるので、実行時間が設定されたOSにおいて最高優先度のタスクが実行される。したがって、いずれかのOSで最高優先度のタスクが実行されないことを抑制できる。
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
[1.構成]
図1に示すスケジューリング装置2は、複数のOSのそれぞれで実行可能なタスクの優先度に基づいて、最高優先度のタスクが存在するOSに、最高優先度のタスクを実行する時間の長さを表す実行時間を設定するスケジューリングを行う。
時間設定部64は、優先度取得部62がOS40、50のそれぞれから取得するOS40、50で実行可能なタスクの数とタスクの優先度とを表す優先度情報に基づいて、優先度を比較する。そして、時間設定部64は、OS40、50において同じ最高優先度のタスクが存在する場合、OS40、50のそれぞれにおいて最高優先度のタスクを実行する実行時間を設定する。実行時間が設定されたOSだけがコア20を使用してタスクを実行できる。実行時間の設定の詳細については後述する。
スケジューリング部66は、時間設定部64が設定した実行時間に基づいて、OS40、50のそれぞれが実行する最高優先度のタスクをスケジューリングする。スケジューリング部66は、OS40、50において同じ最高優先度のタスクが存在しない場合、OS40、50に存在する実行可能なOSのうち最高優先度のタスクを実行させる。
次に、スケジューリング装置2が実行する処理について、図2~図5のフローチャートを用いて説明する。
(1)実行時間係数の算出処理
スケジューリング装置2が実行する実行時間係数の算出処理について、図2のフローチャートに基づいて説明する。実行時間計数は、最高優先度のタスクが複数のOSに存在する場合、該当する各OSに実行時間を設定するための割合を表す計数である。図2の実行時間係数の算出処理は、後述する図4または図5のフローチャートにおいて、実行時間計数の算出が必要と判定されると実行される。
S406において時間設定部64は、取得した優先度を比較し、最高優先度が同じタスクが2個以上の複数のOSに存在するか否かを判定する。S406の判定がNoである、つまり最高優先度が同じタスクが複数のOSに存在しない場合、S408において時間設定部64は、実行時間係数を算出せず、本処理を終了する。この場合、最高優先度のタスクが存在する1つのOSが実行される。
実行時間係数=(各OSの優先度の平均値/全OSの優先度の平均値の合計)×100
・・・(1)
図1の例では、OS40の優先度の平均値は3であり、OS50の優先度の平均値は2であり、全OSの優先度の合計は5である。
(2)実行時間の設定処理
スケジューリング装置2が実行する実行時間の設定処理について、図3のフローチャートに基づいて説明する。図3の実行時間の設定処理は、図2に示す実行時間係数の算出処理の実行後に実行される。
・・・(2)
式(2)において、単位実行時間は、例えば予め1msに設定されている。S428の判定がNoである、つまり式(2)において、各OSの処理周期が式(2)の右辺よりも大きい場合、処理はS436に移行する。
S432の判定がNoである、つまり式(3)において、最高優先度のタスクが存在するOSの処理周期が式(3)の右辺よりも大きい場合、処理はS436に移行する。
スケジューリング装置2が実行するスケジューリング処理1について、図4のフローチャートに基づいて説明する。図4のスケジューリング処理1は、各OSの処理周期が終了したときに実行される。
S444の判定がYesである、つまり実行中のOSに設定されている実行時間の残り時間が0の場合、S446においてスケジューリング部66は、最高優先度のタスクが存在する全OSの残り実行時間が0であるか否か、つまりスケジューリング周期が経過したか否かを判定する。S446の判定がYesである、つまり全OSの残り実行時間が0の場合、処理はS450に移行する。
スケジューリング装置2が実行するスケジューリング処理2について、図5のフローチャートに基づいて説明する。図5のスケジューリング処理2は、実行中のタスクの処理が終了したときに実行される。
S462の判定がNoである、つまりS460において優先度取得部62が全OSから取得するタスクの最高優先度が、スケジューリング周期が開始されたときの最高優先度以下の場合、S464においてスケジューリング部66は、次式(4)によりOSの残り実行時間を更新し、次式(5)により、処理周期の残り時間を更新する。
OSの処理周期の残り時間=処理周期の現在の残り時間-実行を終了したタスクに設定されたタスク時間の残り時間 ・・・(5)
つまり、タスク42が設定されたタスク時間60msよりも20ms早く実行を終了したので、OS40の実行時間と処理周期とは20ms短くなり、タスク42の実行が終了した時点で120msになる。したがって、OS40については、スケジューリング周期が開始されてから160ms経過すると処理周期が経過するので、ハイパーバイザ60が起動され、図4のスケジューリング処理1が実行される。
以上説明した上記実施形態によれば、以下の効果を得ることができる。
(1)最高優先度が同じタスクが複数のOSに存在する場合、最高優先度が同じタスクが存在する各OSに実行時間が設定され、いずれかのOSに設定された実行時間が経過すると、他のOSに処理が切り替えられる。したがって、最高優先度が同じタスクが存在する複数のOSのうち、特定のOSが常に実行されることを抑制できる。
例えば、スケジューリング装置2が車両に搭載され、車両制御を複数のOSで処理する場合、最高優先度が同じ車両制御のタスクが存在する複数のOSのうち、いずれかのOSで最高優先度の車両制御のタスクが実行されないことを抑制できる。これにより、最高優先度の車両制御のタスクを極力速やかに実行できる。
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
(4)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
Claims (7)
- 複数のOS(40、50)で実行されるタスクをスケジューリングするスケジューリング装置(2)であって、
複数のOSのそれぞれから実行可能なタスク(42~46、52、54)の優先度を取得するように構成された優先度取得部(62、S400、S440、S460)と、
前記優先度取得部が取得する前記優先度を比較し、前記複数のOSのうち2個以上のOSに最高優先度が同じタスクが存在する場合、前記最高優先度が同じタスクが存在するOSにおいて実行可能なタスクの優先度に基づいて、OS毎に前記最高優先度のタスクを実行する時間の長さを表す実行時間を設定するように構成された時間設定部(64、S406、S410、S412、S426~S436)と、
前記時間設定部が設定する前記実行時間に基づいて、前記最高優先度のタスクの実行をスケジューリングするように構成されたスケジューリング部(66、S442~S450、S462~S472)と、
を備えるスケジューリング装置。 - 請求項1に記載のスケジューリング装置であって、
前記時間設定部(S410、S412)は、前記最高優先度が同じタスクが存在するOSにおいて実行可能なタスクの優先度の平均値に基づいて、前記実行時間を設定するように構成されている、
スケジューリング装置。 - 請求項1または2に記載のスケジューリング装置であって、
前記時間設定部(S410、S412、S430)は、前記最高優先度が同じタスクが存在するOSにおいて実行可能なタスクの優先度に基づいてOS毎に前記実行時間の係数を設定し、前記実行時間の係数から前記実行時間を設定するように構成されている、
スケジューリング装置。 - 請求項1から3のいずれか1項に記載のスケジューリング装置であって、
前記スケジューリング部(S450、S472)は、前記最高優先度が同じタスクが存在するOS毎に設定した前記実行時間がすべて終了すると、前記実行時間を再設定するように前記時間設定部に指令するように構成されている、
スケジューリング装置。 - 請求項1から4のいずれか1項に記載のスケジューリング装置であって、
前記最高優先度が同じタスクが存在するOSに設定されている、各OSが処理を実行するための単位時間を表す処理周期が終了するか、あるいは前記最高優先度のタスクのいずれかの実行が終了すると、前記スケジューリング部(S444、S446、S450、S466、S468、S472)は、前記実行時間を再設定して前記最高優先度のタスクの実行をスケジューリングするか否かを決定するように構成されている、
スケジューリング装置。 - 請求項5に記載のスケジューリング装置であって、
前記最高優先度のタスクのいずれかの実行が、前記実行時間のうちタスク毎に設定されたタスク時間よりも早く終了すると、前記スケジューリング部(S464)は、前記タスク時間よりも早くタスクが終了したOSの残りの前記実行時間から、早く終了した前記タスクの前記タスク時間の残り時間を減算して残りの前記実行時間を更新するように構成されている、
スケジューリング装置。 - 複数のOS(40、50)で実行されるタスク(42~46、52、54)をスケジューリングするスケジューリングプログラムであって、
複数のOSのそれぞれから実行可能なタスク(42~46、52、54)の優先度を取得するように構成された優先度取得部(62、S400、S440、S460)と、
前記優先度取得部が取得する前記優先度を比較し、前記複数のOSのうち2個以上のOSに最高優先度が同じタスクが存在する場合、前記最高優先度が同じタスクが存在するOSにおいて実行可能なタスクの優先度に基づいて、OS毎に前記最高優先度のタスクを実行する時間の長さを表す実行時間を設定するように構成された時間設定部(64、S406、S410、S412、S420~S436)と、
前記時間設定部が設定する前記実行時間に基づいて、前記最高優先度のタスクの実行をスケジューリングするように構成されたスケジューリング部(66、S442~S450、S462~S472)と、
としてコンピュータを機能させるスケジューリングプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018006385A JP7010014B2 (ja) | 2018-01-18 | 2018-01-18 | スケジューリング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018006385A JP7010014B2 (ja) | 2018-01-18 | 2018-01-18 | スケジューリング装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019125242A JP2019125242A (ja) | 2019-07-25 |
JP7010014B2 true JP7010014B2 (ja) | 2022-01-26 |
Family
ID=67398913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018006385A Active JP7010014B2 (ja) | 2018-01-18 | 2018-01-18 | スケジューリング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7010014B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210101055A (ko) | 2020-02-07 | 2021-08-18 | 삼성전자주식회사 | 어플리케이션 실행 시 태스크 스케줄링을 위한 전자 장치, 그 동작 방법 및 저장 매체 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242512A (ja) | 1999-02-19 | 2000-09-08 | Hitachi Ltd | 複数のオペレーティングシステムを実行する計算機 |
JP2000347883A (ja) | 1999-06-03 | 2000-12-15 | Matsushita Electric Ind Co Ltd | 仮想計算機装置 |
JP2013041485A (ja) | 2011-08-18 | 2013-02-28 | Mitsubishi Electric Corp | 仮想計算機システムおよび資源割り当て制御方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10177489A (ja) * | 1996-12-17 | 1998-06-30 | Matsushita Electric Ind Co Ltd | タスクのスケジュール方法 |
-
2018
- 2018-01-18 JP JP2018006385A patent/JP7010014B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242512A (ja) | 1999-02-19 | 2000-09-08 | Hitachi Ltd | 複数のオペレーティングシステムを実行する計算機 |
JP2000347883A (ja) | 1999-06-03 | 2000-12-15 | Matsushita Electric Ind Co Ltd | 仮想計算機装置 |
JP2013041485A (ja) | 2011-08-18 | 2013-02-28 | Mitsubishi Electric Corp | 仮想計算機システムおよび資源割り当て制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019125242A (ja) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2474477C (en) | Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor | |
US20070113231A1 (en) | Multi processor and task scheduling method | |
AU2002230272A1 (en) | Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor | |
JP4707603B2 (ja) | リアルタイムosにおける処理時間配分方法 | |
US20110016247A1 (en) | Multiprocessor system and multiprocessor system interrupt control method | |
JP2010286898A (ja) | マルチスレッド実行装置、マルチスレッド実行方法 | |
JPWO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
KR100959548B1 (ko) | 인터럽트 스케줄링 방법 | |
CN101499041A (zh) | 一种避免主机在访问共享设备造成异常死锁的方法 | |
CN105204938A (zh) | 一种内存访问的数据密集型进程调度方法 | |
JP7010014B2 (ja) | スケジューリング装置 | |
US8954774B2 (en) | Preventing starting of the current user operation to save power based on combined most recent operation time | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
JP5887846B2 (ja) | 電力制御システムおよび電力制御方法 | |
JP6464982B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
JP2012181578A (ja) | 更新制御装置及びプログラム | |
US20050050541A1 (en) | Method of and apparatus for task control, and computer product | |
KR20160061422A (ko) | 소프트웨어 프로그램의 연산 블록을 멀티-프로세서 시스템의 코어에 할당하는 방법 및 시스템 | |
CN103810037A (zh) | 一种作业调度方法和计算装置 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
JP6806065B2 (ja) | 仮想計算機システムの性能予測装置、性能予測方法およびコンピュータプログラム | |
JP2000056989A (ja) | タスク設計方法 | |
JP3005562B1 (ja) | タスク管理装置及びタスクスケジューリング方法 | |
JP5056346B2 (ja) | 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム | |
JP2003345406A (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211208 |
|
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: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211227 |