JP6863628B1 - 更新装置、リアルタイムシステム、更新方法及び更新プログラム - Google Patents

更新装置、リアルタイムシステム、更新方法及び更新プログラム Download PDF

Info

Publication number
JP6863628B1
JP6863628B1 JP2020002817A JP2020002817A JP6863628B1 JP 6863628 B1 JP6863628 B1 JP 6863628B1 JP 2020002817 A JP2020002817 A JP 2020002817A JP 2020002817 A JP2020002817 A JP 2020002817A JP 6863628 B1 JP6863628 B1 JP 6863628B1
Authority
JP
Japan
Prior art keywords
update
time
firmware
real
idle
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
JP2020002817A
Other languages
English (en)
Other versions
JP2021111133A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2020002817A priority Critical patent/JP6863628B1/ja
Application granted granted Critical
Publication of JP6863628B1 publication Critical patent/JP6863628B1/ja
Publication of JP2021111133A publication Critical patent/JP2021111133A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェアの更新が可能な更新装置を実現する。【解決手段】本開示に係る一形態の更新装置40は、稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、複数の周期タスクがアイドル状態となる時間を算出する更新管理部41と、当該時間にファームウェアの更新を実行する更新制御部42と、を備える。【選択図】図7

Description

本開示は、更新装置、リアルタイムシステム、更新方法及び更新プログラムに関する。
制御装置などは、複数の周期タスクが予め定められた実行周期で実行されており、当該複数の周期タスクが実行されない期間にファームウェアが更新される。例えば、特許文献1の自動車制御ユニットは、スリープモード中に書換用ファームウェアによるプログラム書換処理を実行する。また、特許文献2の制御装置は、複数の周期タスクの実行が完了してから当該複数の周期タスクが再び実行されるまでの間にプログラム構成単位を更新する。
特開2006−301960号公報 国際公開第2012/124197号
特許文献1及び2の技術は、複数の周期タスクのリアルタイムスケジューリングを取得し、当該リアルタイムスケジューリングを考慮してファームウェアを更新していない。そのため、特許文献1及び2の技術は、複数の周期タスクのリアルタイムスケジューリングを乱す可能性がある。
本明細書に開示される実施形態が達成しようとする目的の1つは、当該課題の解決に寄与する更新装置、リアルタイムシステム、更新方法及び更新プログラムを提供することである。なお、この目的は、本明細書に開示される複数の実施形態が達成しようとする複数の目的の1つに過ぎないことに留意されるべきである。その他の目的又は課題と新規な特徴は、本明細書の記述又は添付図面から明らかにされる。
第1の態様の更新装置は、
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する更新管理部と、
前記時間にファームウェアの更新を実行する更新制御部と、
を備える。
第2の態様のリアルタイムシステムは、
上述の更新装置と、
前記複数の周期タスクを実行するプロセッサと、
を備える。
第3の態様の更新方法は、
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する工程と、
前記時間にファームウェアの更新を実行する工程と、
を備える。
第4の態様の更新プログラムは、
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する処理と、
前記時間にファームウェアの更新を実行する処理と、
をコンピュータに実行させる。
上述の態様によれば、複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェアの更新が可能な更新装置、リアルタイムシステム、更新方法及び更新プログラムを実現できる。
実施の形態1の更新装置の構成を示すブロック図である。 実施の形態1の更新方法の流れを示すフローチャート図である。 周期タスク及びファームウェアの更新処理のスケジューリングを例示する図である。 実施の形態2のリアルタイムシステムの構成を示すブロック図である。 RTOSの機能ブロック図である。 カーネルの機能ブロック図である。 実施の形態2の更新装置の構成を示すブロック図である。 実施の形態2の更新管理部の処理の流れを示すフローチャート図である。 スケジューリング情報の登録処理の流れを示すフローチャート図である。 アイドル状態となる時間の算出処理の流れを示すフローチャート図である。 更新タイミングの算出処理の流れを示すフローチャート図である。 更新制御部におけるファームウェアの更新処理の流れを示すフローチャート図である。 ファームウェアの更新処理を実行する際のプログラム領域の切り替えを説明するための図である。 カーネルの処理フローを示す図である。 実施の形態3の更新装置の構成を示すブロック図である。 実施の形態3の更新制御部におけるファームウェアの更新処理の流れを示すフローチャート図である。 周期タスク及びファームウェアの更新処理のスケジューリングを例示する図である。 他の実施の形態のリアルタイムシステムの構成を示すブロック図である。 他の実施の形態のリアルタイムシステムの構成を示すブロック図である。
以下、本開示を実施するための最良の形態について、添付図面を参照しながら説明する。但し、本開示が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
<実施の形態1>
先ず、本実施の形態の更新装置の構成を説明する。図1は、本実施の形態の更新装置の構成を示すブロック図である。図1に示すように、更新装置1は、更新管理部2及び更新制御部3を備えている。更新管理部2は、稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、複数の周期タスクがアイドル状態となる時間を算出する。更新制御部3は、算出した時間にファームウェアの更新を実行する。
次に、本実施の形態の更新方法の流れを説明する。図2は、本実施の形態の更新方法の流れを示すフローチャート図である。先ず、更新管理部2は、稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照する(S1)。そして、更新管理部2は、取得したリアルタイムスケジューリングに基づいて、複数の周期タスクがアイドル状態となる時間を算出する(S2)。
次に、更新制御部3は、算出した時間にファームウェアの更新を実行する(S3)。例えば、周期タスクAが3周期内で1回実行し、周期タスクBが4周期内で1回実行し、周期タスクCが6周期内で2回実行し、優先度がファームウェアの更新>周期タスクA>周期タスクB>周期タスクCと設定されたリアルタイムスケジューリングの場合、図3に示すように、周期タスクA、B及びCの全てがアイドル状態となる時間にファームウェアを更新する。
このように本実施の形態の更新装置1及び更新方法は、複数の周期タスクのリアルタイムスケジューリングを取得して参照するので、複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェアの更新が可能である。
<実施の形態2>
図4は、本実施の形態のリアルタイムシステムの構成を示すブロック図である。図4に示すように、リアルタイムシステム10は、プロセッサ20、主記憶装置30及び更新装置40を備えており、処理のリアルタイム性を保証するためにオペレーティングシステムとしてリアルタイムオペレーティングシステム(RTOS)が稼働している。
ここで、図5は、RTOSの機能ブロック図である。図6は、カーネルの機能ブロック図である。図5に示すように、RTOS50は、ある処理(タスク)が一定期間内に終了すること(リアルタイム性)を保証するOSであり、OS管理タスク51を備えている。
OS管理タスク51は、タスク52及びカーネル53を備えている。タスク52としては、周期的に実行される周期タスクと、非周期タスクと、の2種類のタスクが存在する。カーネル53は、RTOS50において実行するタスク52の管理を行う領域であり、図6に示すように、スケジューラ531及びタスク管理情報532を備えている。カーネル53は、特別な優先度を持つ周期タスクとして定期的に自分自身を実行し、タスク52をディスパッチする。
スケジューラ531は、リアルタイム性を保証したタスク52の実行順序割り当て(スケジューリング)を提供する。詳細には、スケジューラ531は、どのタスク52がいつ実行されるかを、予め定められたアルゴリズムにより決定し、タスク管理情報532の管理情報に基づいて、実行するタスク52をディスパッチする。ここでは、スケジューリングアルゴリズムとして、レートモノトニックスケジューリング(Rate Monotonic Scheduling)を用いることができる。
タスク管理情報532は、タスク52に固有の情報を表すデータ構造であり、RTOS50で生成されるTCB(Task Control Block)である。タスク管理情報532は、タスク52の優先度、実行時間、実行周期及びコンテキスト情報などが格納されている。これらのタスク52やカーネル53は、図5に示すように、デバイスドライバ60と協働して制御される。
プロセッサ20は、主記憶装置30のプログラム領域から実行するプログラムを読み取って実行する中央演算処理装置(CPU:Central Processing Unit)であり、命令実行部21、プログラムカウンタ22及び割り込みコントローラ23を備えている。
命令実行部21は、主記憶装置30のプログラム領域から読み取ったプログラム(命令)を実行する。プログラムカウンタ22は、プロセッサ20が実行するプログラムのアドレスを格納する。割り込みコントローラ23は、プロセッサ20に対する割り込み処理を制御する。
主記憶装置30は、データ領域31及びプログラム領域32を備えている。データ領域31は、プログラムの変数情報を格納する。プログラム領域32は、プログラム(RTOS50を含むファームウェア)のテキスト情報を格納する。ここで、ファームウェア71は、外部記憶装置70に格納されている。外部記憶装置70は、LAN(Local Area Network)などの通信路でリアルタイムシステム10と接続されている。
主記憶装置30は、プログラム領域32として運用中又は更新用のプログラムを格納するメモリ領域を2個以上有する。例えば、本実施の形態では、第1のプログラム領域321及び第2のプログラム領域322を備えており、プロセッサ20が実行するプログラムの読み取り先を切り替えることにより、実行するファームウェア71を切り替える(更新する)。
更新装置40は、実施の形態1の更新装置1に対してより好ましい構成とされている。ここで、図7は、本実施の形態の更新装置の構成を示すブロック図である。更新装置40は、図7に示すように、更新管理部41及び更新制御部42を備えている。更新管理部41は、スケジューリング算出部411、スケジューリングテーブル412及びアイドル時間算出部413及びアドレス格納部414を備えている。
更新管理部41は、RTOS50のスケジューラ531及びタスク管理情報532(即ち、リアルタイムスケジューリング)を参照し、将来の周期タスクのスケジューリング内容(即ち、スケジューリングアルゴリズム)をスケジューリングテーブル412に記録する。また、更新管理部41は、外部記憶装置70からファームウェア71の更新要求を受け取ると、更新タイミングとなる周期タスクがアイドル状態となる時間を算出し、当該時間を示す情報を更新制御部42に伝達する。ここで、アイドル状態となる時間とは、詳細は後述するが、アイドル状態となる時刻及び期間である。
詳細には、スケジューリング算出部411は、スケジューラ531及びタスク管理情報532のスケジューリングアルゴリズムを参照し、RTOS50が将来実行する周期タスクの実行順序を算出する。スケジューリング算出部411は、算出した将来実行する周期タスクの実行順序を示す情報をスケジューリングテーブル412に記録する。スケジューリングテーブル412は、算出した将来実行する周期タスクの実行順序を示す情報などを記録する。
アイドル時間算出部413は、スケジューリングテーブル412を参照し、全ての周期タスクがアイドル状態となる時間を算出する。アイドル時間算出部413は、算出した全ての周期タスクがアイドル状態となる時間を示す情報を更新制御部42に伝達する。
アドレス格納部414は、複数のプログラム領域32の先頭アドレスを指し示す値を格納する。アドレス格納部414は、更新制御部42のアドレス切り替え処理部422に切り替え先のプログラム領域32のアドレスを提供する。ここで、アドレス格納部414には、現在のオフセットアドレス414a及び更新先のオフセットアドレス414bが格納されている。
更新制御部42は、非周期タスク制御部421及びアドレス切り替え処理部422を備えている。更新制御部42は、更新管理部41から全ての周期タスクがアイドル状態となる時間を示す情報を受け取り、ファームウェア71の更新制御を行う。
非周期タスク制御部421は、非周期タスクを一時的に抑止する命令をカーネル53に発行し、非同期割り込みを一時的に抑止する命令をプロセッサ20の割り込みコントローラ23に発行する。
アドレス切り替え処理部422は、ファームウェア71の格納先を切り替えるために、プログラムカウンタ22のアドレス値を切り替える命令を発行する。切替先としては、アドレス格納部414のアドレス値を用いる。
次に、本実施の形態の更新管理部41の処理の流れを説明する。図8は、本実施の形態の更新管理部の処理の流れを示すフローチャート図である。先ず、更新管理部41は、ネットワークやRTOS50のタスク52などからファームウェア更新要求が存在するか否かを確認する(S101)。更新要求が存在する場合(S101のYES)、更新要求フラグに1を代入する(S102)。
次に、更新管理部41は、更新要求フラグを確認し(S103)、更新要求フラグに1が代入されていない場合(S101のNO、S103のNO)、詳細を後述するように、周期タスクのスケジューリング情報の登録処理を行い(S108)、更新管理部41の処理を終了する。
一方、更新要求フラグに1が代入されている場合(S103のYES)、更新管理部41は、詳細を後述するように、全ての周期タスクがアイドル状態となる時間を算出する(S104)。その後、更新管理部41は、更新用のファームウェア71が用意されているか否かを確認する(S105)。ファームウェア71が用意されていない場合(S105のNO)、更新管理部41は、エラー通知を行い更新要求フラグに0を代入し、周期タスクのスケジューリング情報の登録処理を行い(S108)、更新管理部41の処理を終了する。
一方、更新用のファームウェア71の用意が完了している場合(S105のYES)、S104の工程で算出した周期タスクがアイドル状態となる時間において更新処理を実施するように、更新制御部42に当該更新処理をスケジューリングする(S107)。
次に、上述のスケジューリング情報の登録処理の流れを説明する。図9は、スケジューリング情報の登録処理の流れを示すフローチャート図である。先ず、スケジューリング算出部411は、タスク管理情報532から周期タスクの情報を取得する(S201)。そして、周期タスクの情報及びスケジューラ531のアルゴリズムに基づいて、実行周期t+Nまでの周期タスクの割り当てを算出する(S202)。
但し、tは現在の周期タスクの実行周期であり、Nは算出する実行周期の上限である。Nは、例えば100tickである。1tickは、RTOS50が周期タスクの実行を切り替える最小単位を表している。その後、算出した周期タスクの割り当て順序を示す情報をスケジューリングテーブル412に格納する(S203)。
次に、上述のアイドル状態となる時間の算出処理及び更新タイミングの算出処理の流れを説明する。図10は、アイドル状態となる時間の算出処理の流れを示すフローチャート図である。図11は、更新タイミングの算出処理の流れを示すフローチャート図である。
先ず、アイドル時間算出部413は、周期タスクが全てアイドル状態となる時刻を算出する(図10のS301)。つまり、アイドル時間算出部413は、現在の周期タスクの実行周期tから1tick後の値を実行周期Aに代入し(図11のS401)、実行周期Aにおける周期タスクの割り当てをスケジューリングテーブル412より確認する(図11のS402)。
次に、アイドル時間算出部413は、実行周期Aにおいて全ての周期タスクがアイドル状態であるか否かを確認する(図11のS403)。実行周期Aにおいて全ての周期タスクがアイドル状態である場合(図11のS403のYES(図10のS302のYES))、アイドル時間算出部413は、実行周期Aの始期から継続してアイドル状態となる期間Tを記録し(図11のS404)、事前に設定した閾値と期間Tの値とを比較する(図11のS405)。当該閾値は、事前に算出したファームウェア71の更新に要する期間を閾値として設定することができる。
Tが閾値よりも大きい場合(図11のS405のYES)、アイドル時間算出部413は、実行周期A(即ち、アイドル状態となる時刻)及び期間Tを更新制御部42に通知する(図11のS406)。一方、Tが閾値よりも小さい場合(図11のS405のNO)、アイドル時間算出部413は、エラーを通知して終了する(図11のS409)。
周期期間Aにおいて全ての周期タスクがアイドル状態ではない場合(図11のS403のNO)、アイドル時間算出部413は、さらに1tick後の周期タスクの割り当てを算出する(図11のS407)。Aがスケジューリングテーブル412に記録した範囲を超過する場合(図11のS408のYES)、アイドル時間算出部413は、エラーを通知して終了する(図11のS409)。
エラーが通知された場合、即ち、全ての周期タスクがアイドル状態である実行周期を算出できなかった場合(図10のS302のNO)、アイドル時間算出部413は、アイドル時刻の算出をランダム期間だけ待機し(図10のS303)、再びアイドル時刻を算出する(S304)。このような処理を一定回数以上実行しても(図10のS305、S306、図11のS408)、全ての周期タスクがアイドル状態となる時刻を算出できない場合(図10のS306のYES)、更新管理部41にエラーを通知する(図10のS307)。一方、全ての周期タスクがアイドル状態となる時刻を算出できた場合(図10のS302のYES、図10のS305のYES)、図11のS404の工程を実行する。
次に、更新制御部42におけるファームウェア71の更新処理の流れを説明する。図12は、更新制御部におけるファームウェアの更新処理の流れを示すフローチャート図である。非周期タスク制御部421は、更新中にスケジューリングが乱されることを防止するため、非周期タスク及び非同期割り込みが実行された場合、非周期タスク及び非同期割り込みの一時停止命令を発行する(S501)。その後、非周期タスク制御部421は、更新後のファームウェア71へ非周期タスク及び非同期割り込みを再開する指示を与えるために、更新完了を表すフラグに1を代入する(S502)。
そして、アドレス切り替え処理部422は、図13に示すように、現在実行中の第1のプログラム領域321から、更新用の第2のプログラム領域322に切り替える。詳細には、アドレス切り替え処理部422は、タスク管理情報532に含まれるコンテキスト情報に格納されている更新前の第1のプログラム領域321を指し示すアドレスに、更新先の第2のプログラム領域322を指し示す更新先のオフセットアドレス414bを足す(S503)。
同様に、プログラムカウンタ22に、更新先のファームウェア71が格納されているメモリ領域のアドレス値を足し合わせることでプログラムカウンタ22の値を更新する(S504)。なお、図13に示すように、更新前後のファームウェア71は同じデータ領域を参照するため、運用は中断されない。
次に、ファームウェア71の更新管理処理が実行される間隔及び更新後の後処理の流れを説明する。ファームウェア71の更新管理処理及び更新処理は、カーネル53の処理と協調し、一定周期毎に繰り返し実行される。図14は、カーネルの処理フローを示す図である。
先ず、カーネル53は、更新管理処理を実行する(S601)。これにより、割り込み管理やメモリ管理などのカーネル53の内部処理を行い(S602)、周期タスクのスケジューリングを実行する(S603)。次に、カーネル53は、更新処理がスケジューリングされているか否かを判定し(S604)、更新処理がスケジュールされている場合(S604のYES)、更新処理を実行する(S606)。一方、更新処理がスケジューリングされていない、即ち、周期タスクが割り当てられている場合(S604のNO)、当該周期タスクを実行する(S605)。
次に、カーネル53は、更新完了フラグを確認し(S607)、ファームウェア71の更新処理の有無を確認する。更新完了フラグに1が代入され(S607のYES)、更新処理において非周期タスク及び非同期割り込みの実行が一時的に停止されている場合、非周期タスク及び非同期割り込みの再開命令を発行し(S608)、更新完了した旨を外部に通知する(S609)。
このとき、通知先は、例えば、外部記憶装置70やRTOS50で実行中の周期タスクなどが挙げられる。最後に、更新完了フラグと更新要求フラグに0を代入し(S610)、ファームウェア71の更新後の後処理を終了する。
一方、更新完了フラグに0が代入されている場合(S607のNO)、S601の工程に戻る。ちなみに、更新処理において非周期タスク及び非同期割り込みの実行が一時的に停止されていない場合は、S608の工程は省略される。
本実施の形態の更新装置40、リアルタイムシステム10及び更新方法は、実施の形態1と同様に、複数の周期タスクのリアルタイムスケジューリングを取得して参照するので、複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェア71の更新が可能である。
しかも、本実施の形態の更新装置40、リアルタイムシステム10及び更新方法は、更新中にスケジューリングが乱されることを防止するため、非周期タスクの割り込みを一時的に抑止する。そのため、確実にファームウェア71の更新を実行することができる。
また、本実施の形態の更新装置40、リアルタイムシステム10及び更新方法は、ファームウェア71の更新に要する期間が当該ファームウェア71の更新に要する期間を超えている場合、ファームウェア71の更新を実行しないので、周期タスクのリアルタイムスケジューリングの乱れを抑制することができる。
<実施の形態3>
図15は、本実施の形態の更新装置の構成を示すブロック図である。図15に示すように、本実施の形態の更新装置401は、実施の形態2の更新装置40と略等しい構成とされているが、更新制御部42に実行調整部423を備えている。実行調整部423は、複数の周期タスクのリアルタイムスケジューリングが乱されないように、ファームウェア71の更新処理を実行するタイミングを調整する。
図16は、本実施の形態の更新制御部におけるファームウェアの更新処理の流れを示すフローチャート図である。図16に示すように、実施の形態2の更新制御部42におけるファームウェア71の更新処理の流れと略等しいが、S501の工程の後に、更新制御部42の実行調整部423は、周期タスクの実行周期の調整期間Pを算出する(S505)。ここで、Pは、期間Tから事前に計測したファームウェアの更新処理に必要な期間Uを引いた値である。
次に、実行調整部423は、調整期間Pの値が1tickよりも大きいか否かを判定し(S506)、調整期間Pの値が1tickよりも大きい場合(S506のYES)、ファームウェア71の更新が周期タスクのリアルタイムスケジューリングを乱さないように、ファームウェア71の更新をPtickだけ待機させる(S507)。
ここで、図17に示すように、例えば、周期タスクAが3周期内で1回実行し、周期タスクBが6周期内で1回実行し、周期タスクCが7周期内で1回実行し、優先度が周期タスクA>周期タスクB>周期タスクCと設定されたリアルタイムスケジューリングの場合、調整期間Pの値が1tickになるようにファームウェアの更新をPtickだけ待機させる。
これにより、周期タスクのリアルタイムスケジューリングが乱されることを抑制できる。
上記実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
例えば、図18に示すように、RTOS50を含むファームウェアを取り外し可能なROM80、90上のプログラム領域81、91に格納してもよい。このとき、更新管理部は、更新用のファームウェア71が準備できたことを判別することが出来ない。
そのため、更新装置の運用者は、更新装置の入力部や外部システムから更新用のファームウェア71の準備が完了した旨を更新管理部に伝達する必要がある。このように取り外し可能なROM80、90のプログラム領域81、91にプログラムを格納することにより、外部記憶装置70を用意する必要がなくなる。
例えば、図19に示すように、主記憶装置30とROM80、90の双方にプログラム領域32、81、91を設けてもよい。複数のプログラム領域32、81、91を用意するため、外部記憶装置70を用意する必要があるが、外部記憶装置70又はROM領域のどちらかが故障した場合においても、ファームウェア71を更新することができる。
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(情報通知装置を含むコンピュータ)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD−ROM(Read Only Memory)、CD−R、CD−R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM、EPROM、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する更新管理部と、
前記時間にファームウェアの更新を実行する更新制御部と、
を備える、更新装置。
(付記2)
前記更新制御部は、非周期タスクが前記時間に実行されないように、前記非周期タスクの割り込みを一時的に抑止する非周期タスク制御部を備える、付記1に記載の更新装置。
(付記3)
前記更新制御部は、前記複数の周期タスクのリアルタイムスケジューリングが乱されないように、前記ファームウェアの更新処理を実行するタイミングを調整する実行調整部を備える、付記1又は2に記載の更新装置。
(付記4)
前記更新制御部は、前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、前記エラー通知を実行するアイドル時間算出部を備える、付記1乃至3のいずれか1項に記載の更新装置。
(付記5)
付記1乃至4のいずれか1項に記載の更新装置と、
前記複数の周期タスクを実行するプロセッサと、
を備える、リアルタイムシステム。
(付記6)
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する工程と、
前記時間にファームウェアの更新を実行する工程と、
を備える、更新方法。
(付記7)
非周期タスクが前記時間に実行されないように、前記非周期タスクの割り込みを一時的に抑止し、前記ファームウェアの更新を優先的に実行する工程を備える、付記6に記載の更新方法。
(付記8)
前記複数の周期タスクのリアルタイムスケジューリングが乱されないように、前記ファームウェアの更新処理を実行するタイミングを調整する工程を備える、付記6又は7に記載の更新方法。
(付記9)
前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行する工程を備える、付記6乃至8のいずれか1項に記載の更新方法。
(付記10)
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する処理と、
前記時間にファームウェアの更新を実行する処理と、
をコンピュータに実行させる、更新プログラム。
(付記11)
非周期タスクが前記時間に実行されないように、前記非周期タスクの割り込みを一時的に抑止し、前記ファームウェアの更新を優先的に実行する処理を備える、付記10に記載の更新プログラム。
(付記12)
前記複数の周期タスクのリアルタイムスケジューリングが乱されないように、前記ファームウェアの更新処理を実行するタイミングを調整する処理を備える、付記10又は11に記載の更新プログラム。
(付記13)
前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行する工程を備える、付記10乃至12のいずれか1項に記載の更新プログラム。
1 更新装置
2 更新管理部
3 更新制御部
10 リアルタイムシステム
20 プロセッサ、21 命令実行部、22 プログラムカウンタ、23 コントローラ
30 主記憶装置、31 データ領域、32 プログラム領域
40 更新装置
41 更新管理部、411 スケジューリング算出部、412 スケジューリングテーブル、413 アイドル時間算出部、414 アドレス格納部
42 更新制御部、421 非周期タスク制御部、422 アドレス切り替え処理部、423 実行調整部
51 OS管理タスク、52 タスク、53 カーネル、531 スケジューラ、532 タスク管理情報
60 デバイスドライバ
70 外部記憶装置、71 ファームウェア
401 更新装置

Claims (10)

  1. 稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する更新管理部と、
    前記時間にファームウェアの更新を実行する更新制御部と、
    を備え
    前記更新制御部は、前記周期タスクの実行周期の始期から継続してアイドル状態となる期間から事前に計測した前記ファームウェアの更新処理に必要な期間を差し引いた値である調整期間を算出し、前記ファームウェアの更新を前記調整期間だけ待機させる実行調整部を有する、更新装置。
  2. 前記更新制御部は、非周期タスク及び非同期割り込みが前記時間に実行されないように、前記非周期タスク及び前記非同期割り込みの実行を一時的に抑止する非周期タスク制御部を備える、請求項1に記載の更新装置。
  3. 前記更新制御部は、前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行するアイドル時間算出部を備える、請求項1又は2に記載の更新装置。
  4. 請求項1乃至3のいずれか1項に記載の更新装置と、
    前記複数の周期タスクを実行するプロセッサと、
    を備える、リアルタイムシステム。
  5. 更新装置の更新管理部が、稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する工程と、
    前記更新装置の更新制御部が、前記時間にファームウェアの更新を実行する工程と、
    を備え
    前記更新制御部の実行調整部は、前記周期タスクの実行周期の始期から継続してアイドル状態となる期間から事前に計測した前記ファームウェアの更新処理に必要な期間を差し引いた値である調整期間を算出し、前記ファームウェアの更新を前記調整期間だけ待機させる、更新方法。
  6. 前記更新制御部が、非周期タスク及び非同期割り込みが前記時間に実行されないように、前記非周期タスク及び前記非同期割り込みの実行を一時的に抑止し、前記ファームウェアの更新を優先的に実行する工程を備える、請求項5に記載の更新方法。
  7. 前記更新制御部のアイドル時間算出部が、前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行する、請求項5又は6に記載の更新方法。
  8. 稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する処理と、
    前記時間にファームウェアの更新を実行する処理と、
    前記周期タスクの実行周期の始期から継続してアイドル状態となる期間から事前に計測した前記ファームウェアの更新処理に必要な期間を差し引いた値である調整期間を算出し、前記ファームウェアの更新を前記調整期間だけ待機させる処理と、
    をコンピュータに実行させる、更新プログラム。
  9. 非周期タスク及び非同期割り込みが前記時間に実行されないように、前記非周期タスク及び前記非同期割り込みの実行を一時的に抑止し、前記ファームウェアの更新を優先的に実行する処理をコンピュータに実行させる、請求項8に記載の更新プログラム。
  10. 前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行する処理をコンピュータに実行させる、請求項8又は9に記載の更新プログラム。
JP2020002817A 2020-01-10 2020-01-10 更新装置、リアルタイムシステム、更新方法及び更新プログラム Active JP6863628B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020002817A JP6863628B1 (ja) 2020-01-10 2020-01-10 更新装置、リアルタイムシステム、更新方法及び更新プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020002817A JP6863628B1 (ja) 2020-01-10 2020-01-10 更新装置、リアルタイムシステム、更新方法及び更新プログラム

Publications (2)

Publication Number Publication Date
JP6863628B1 true JP6863628B1 (ja) 2021-04-21
JP2021111133A JP2021111133A (ja) 2021-08-02

Family

ID=75520991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020002817A Active JP6863628B1 (ja) 2020-01-10 2020-01-10 更新装置、リアルタイムシステム、更新方法及び更新プログラム

Country Status (1)

Country Link
JP (1) JP6863628B1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3520143B2 (ja) * 1995-09-29 2004-04-19 株式会社日立製作所 情報処理システム
JP4548601B2 (ja) * 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
JP5747584B2 (ja) * 2011-03-15 2015-07-15 オムロン株式会社 制御装置およびシステムプログラム
JP7031411B2 (ja) * 2018-03-22 2022-03-08 株式会社デンソー 電子制御装置
JP7231807B2 (ja) * 2018-04-27 2023-03-02 日本電信電話株式会社 通信装置及び情報処理方法

Also Published As

Publication number Publication date
JP2021111133A (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
KR100864964B1 (ko) 연산처리시스템 및 연산처리 제어방법, 업무관리시스템 및업무관리방법과 기억매체
JP4839361B2 (ja) 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP5093259B2 (ja) Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム
JP4532423B2 (ja) サーバシステム
US10271326B2 (en) Scheduling function calls
WO2021136529A1 (zh) 分布式地图切片方法、装置、存储介质及服务器
JP2000276303A (ja) データ転送要求処理方法および装置、並びに記憶システム
JP5820525B2 (ja) 仮想計算機のスケジュールシステム及びその方法
JP6863628B1 (ja) 更新装置、リアルタイムシステム、更新方法及び更新プログラム
US20220237016A1 (en) Apparatus for determining resource migration schedule
US20100205306A1 (en) Grid computing system, management apparatus, and method for managing a plurality of nodes
JP2003131892A (ja) タスク実行制御装置及びタスク実行制御方法
JP2002073354A (ja) タスク制御装置とタスク制御方法
KR20210016617A (ko) 컨트롤 장치
JP2005149312A (ja) タスク管理システム
KR20100065572A (ko) 정적 태스크 정의 기능을 가진 시스템을 위한 우선순위 재정의 및 대기큐 관리 방법과 상기 방법을 실행하는 시스템
US10635157B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
JP2020091540A (ja) 情報処理装置
JP2018147448A (ja) 情報処理装置、管理制御装置のプログラム更新制御方法及びプログラム更新制御プログラム
US9459916B2 (en) System and method for controlling execution of jobs performed by plural information processing devices
JP2008234116A (ja) 仮想計算機制御装置
JP2001022601A (ja) ジョブ実行制御方法及び並列計算機システム
JP2015185003A (ja) スケジューラ装置及びそのスケジューリング方法、演算処理システム、並びにコンピュータ・プログラム
JP2004272323A (ja) プログラム切り替え頻度低減スケジューリング方式
JP7367565B2 (ja) 電力制御装置および電力制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210203

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: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210325

R150 Certificate of patent or registration of utility model

Ref document number: 6863628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150