JP7062142B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP7062142B2
JP7062142B2 JP2021560273A JP2021560273A JP7062142B2 JP 7062142 B2 JP7062142 B2 JP 7062142B2 JP 2021560273 A JP2021560273 A JP 2021560273A JP 2021560273 A JP2021560273 A JP 2021560273A JP 7062142 B2 JP7062142 B2 JP 7062142B2
Authority
JP
Japan
Prior art keywords
access
determination
area
hardware
access control
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
JP2021560273A
Other languages
English (en)
Other versions
JPWO2021192098A1 (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 Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021192098A1 publication Critical patent/JPWO2021192098A1/ja
Application granted granted Critical
Publication of JP7062142B2 publication Critical patent/JP7062142B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本開示は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
近年、情報処理装置に搭載する機能の多様化に伴い、複数の機能を複数のタスクで実現するマルチタスクを実行する構成がとられることがある。マルチタスク実行環境では、タスクが他のタスクが管理するメモリ領域に対し意図せずアクセスすることを防ぐためのメモリ保護機能が必要になる場合がある。
メモリ保護機能を実現する一般的な方法として、CPU(Central Processing Unit)と独立したメモリ保護機能を有するハードウェア(以下、アクセス制御ハードウェア)を使用する方法がある。
アクセス制御ハードウェアの例としては、MPU(Memory Protection Unit)又はMMU(Memory Management Unit)がある。
メモリ保護機能の具体例として、MPUを用いる場合には、タスク切り替えごとに、OS(Operating System)が個々のタスクごとに予め定義された、アクセスを許可するメモリ領域に関する情報(以下、HWアクセス権情報という)をMPUの制御レジスタに設定する。そして、MPUは、制御レジスタに設定されたHWアクセス権情報に基づき、各タスクのメモリアクセスがメモリアクセス違反を犯していないか監視する。
もしメモリアクセス違反が検出されれば、MPUは、OSに対してメモリアクセス違反を通知し、OSにアクセス違反要因を取り除いてアクセス違反前の状態へ復帰するためのメモリアクセス違反処理を実行させる。このように、MPUはメモリ領域へのアクセスを制御するアクセス制御を行うことで、メモリ保護機能を実現する。
以下では、このようなアクセス制御をアクセス制御ハードウェアで実現する方法を、HWメモリ保護と呼ぶ。
例えば、特許文献1では、MPU又はMMUを用いたHWメモリ保護技術が開示されている。
特開2013-140476号公報
アクセス制御ハードウェアを用いたHWメモリ保護では、アクセス制御が可能なメモリ領域のサイズである基準領域サイズの単位でしかアクセス制御が行えず、基準領域サイズ未満のメモリ領域へのアクセス制御が行えないという領域サイズ制約が存在する場合がある。
領域サイズ制約を受けないように、アクセス制御処理をCPU上で動作するOS内で行う手法も提案されている。
以下では、このようなアクセス制御処理をCPUで行う方法を、SWメモリ保護と呼ぶ。
SWメモリ保護では、領域サイズ制約を受けずにアクセス制御できる一方で、HWメモリ保護と比較してCPU負荷が大きくなるという課題がある。
本開示は、上記なような課題を解決することを主な目的の一つとしており、CPU負荷を抑えつつ、領域サイズ制約を受けずにアクセス制御を実現することを目的とする。
本開示に係る情報処理装置は、
アクセスの許否の判定の基準となるメモリ領域のサイズである基準領域サイズの単位で、メモリ領域へのアクセスの許否を判定するハードウェアであるアクセス制御ハードウェアと、
前記基準領域サイズのn(nは1以上の整数)倍のサイズのメモリ領域をハードウェア判定領域として示すハードウェア判定領域情報を前記アクセス制御ハードウェアに設定して、前記アクセス制御ハードウェアに前記ハードウェア判定領域へのアクセスの許否を判定させるアクセス制御設定部と、
前記ハードウェア判定領域に含まれる前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定するアクセス判定部とを有する。
本開示によれば、CPU負荷を抑えつつ、領域サイズ制約を受けずにアクセス制御を実現することができる。
実施の形態1に係る情報処理装置のハードウェア構成例を示す図。 実施の形態1に係る情報処理装置の機能構成例を示す図。 実施の形態1に係る情報処理装置の動作例を示すフローチャート。 実施の形態1に係る情報処理装置のタスクの実行例を示すフローチャート。 実施の形態1に係る情報処理装置のHWメモリ保護によるアクセス制御の例を示すフローチャート。 実施の形態1に係る情報処理装置のSWメモリ保護によるアクセス制御の例を示すフローチャート。 実施の形態1に係る送信パケット構造に対応した共有メモリ領域の例を示す図。 実施の形態1に係るパケット送信に関するアクセス制御の例を示す図。 実施の形態1に係る受信パケット構造に対応した共有メモリ領域の例を示す図。 実施の形態1に係るパケット受信に関するアクセス制御の例を示す図。 実施の形態2に係る情報処理装置の機能構成例を示す図。 実施の形態2に係る情報処理装置のアクセス判定情報生成の動作例を示すフローチャート。
以下、実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る情報処理装置1のハードウェア構成例を示す図である。
情報処理装置1は、コンピュータである。情報処理装置1は、ハードウェアとして、プロセッサ10、メモリ20、補助記憶装置30、通信インタフェース40(通信I/F40とも表記する)、及びアクセス制御ハードウェア50を備え、信号線により互いに接続される。
プロセッサ10は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ10は、具体例としては、CPUである。
メモリ20は、データを一時的に記憶する揮発性メモリである。メモリ20は、具体例としては、RAM(Random Access Memory)である。
補助記憶装置30は、データを保管する不揮発性メモリである。補助記憶装置30は、具体例としては、ハードディスクである。
また、補助記憶装置30は、SSD(登録商標、Solid State Drive)、SD(登録商標、Secure Digital)メモリカード、CF(登録商標、CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(登録商標、Digital Versatile Disk)といった可搬記録媒体であってもよい。
補助記憶装置30は、後述するHWアクセス権情報及びアクセス判定情報を保管する。
また、補助記憶装置30は、後述する通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の機能を実現するプログラムを保管する。
補助記憶装置30に記憶された通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の機能を実現するプログラムは、メモリ20によりロードされる。また当該プログラムはプロセッサ10に読み出され、実行される。
また、補助記憶装置30には、OSも記憶されている。そして、OSの少なくとも一部がプロセッサ10により実行される。
プロセッサ10は、OSの少なくとも一部を実行しながら、通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の機能を実現するプログラムを実行する。
プロセッサ10がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、プロセッサ10、メモリ20、補助記憶装置30内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の機能を実現するプログラムは、ハードディスク、SSD(登録商標)、SD(登録商標)メモリカード、CF(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(登録商標)といった可搬記録媒体に格納されていてもよい。
そして、通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の機能を実現するプログラムを流通させてもよい。
通信I/F40は、信号線を介して接続先との情報の通信処理を実行する電子回路である。通信I/F40は、具体例としては、Ethernet(登録商標)用の通信チップ又はNIC(Network Interface Card)である。
アクセス制御ハードウェア50は、HWメモリ保護によるアクセス制御を実行する。
より具体的には、アクセス制御ハードウェア50は、アクセスの許否の判定の基準となるメモリ領域のサイズである基準領域サイズの単位で、メモリ領域へのアクセスの許否を判定する。また、アクセス制御ハードウェア50は、アクセスの許否を判定した結果、アクセスが許可されないという判定である場合に、OSにメモリアクセス違反を通知し、OSにメモリアクセス違反処理を実行させる。
アクセス制御ハードウェア50は、具体例としては、MPUである。
なお、本実施の形態では、アクセス制御ハードウェア50の具体例としてMPUを用いて説明を進める。
なお、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16の「部」を、「工程」又は「手順」又は「処理」に読み替えてもよい。
図2は、本実施の形態に係る情報処理装置1の機能構成を示す。
情報処理装置1は、通信タスク11、一般タスク12、アクセス制御設定部13、タスク制御部14、アクセス判定部15、及びアクセス制御部16を備える。
通信タスク11は、通信I/F40を介してパケットの送受信を行う。
一般タスク12は、通信タスク11が送受信するパケットのペイロード部分の少なくとも一部のデータを生成又は処理する。なお、一般タスク12は、複数あってもよい。
アクセス制御設定部13は、通信タスク11又は一般タスク12の実行スケジュールを確認し、通信タスク11又は一般タスク12のHWアクセス権情報を取得する。
なお、HWアクセス権情報は、タスクごとに規定される情報である。また、HWアクセス権情報は、周期的に実行されるタスクについては、タスクの実行周期ごとに規定されてもよい。
そして、HWアクセス権情報は、少なくとも基準領域サイズのn(nは1以上の整数)倍のサイズのメモリ領域をハードウェア判定領域として示すハードウェア判定領域情報が含まれる。また、HWアクセス権情報は、ハードウェア判定領域情報に加えて、データのリード又はライトといったアクセス属性を含んでいてもよい。つまり、HWアクセス権情報は、アクセス制御ハードウェア50に、どのメモリ領域への、どのようなアクセス属性によるアクセスを許可させるかを規定した情報である。
そして、アクセス制御設定部13は、HWアクセス権情報をアクセス制御ハードウェア50に設定して、アクセス制御ハードウェア50にハードウェア判定領域へのアクセスの許否を判定させる。
また、アクセス制御設定部13は、複数のタイミングについてタイミングごとにハードウェア判定領域情報を含むHWアクセス権情報をアクセス制御ハードウェア50に設定してもよい。具体例としては、アクセス制御設定部13は、タスクの切り替えのタイミングごとにハードウェア判定領域情報を含むHWアクセス権情報をアクセス制御ハードウェア50に設定してもよい。そして、アクセス制御設定部13は、タイミングごとにアクセス制御ハードウェア50に、該当するハードウェア判定領域へのアクセスの許否を判定させてもよい。
アクセス制御設定部13で行われる処理はアクセス制御設定処理に相当する。
タスク制御部14は、アクセス制御設定部13がHWアクセス権情報をアクセス制御ハードウェア50に設定完了後、実行されるタスクの切り替えを行う。
アクセス判定部15は、アクセス判定情報に基づき、ハードウェア判定領域に含まれる前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定する。
なお、アクセス判定情報は、タスクごとに規定される情報である。また、アクセス判定情報は、周期的に実行されるタスクについては、タスクの実行周期ごとに規定されてもよい。
また、アクセス判定情報は、アクセス判定部15が判定するソフトウェア判定領域として示すソフトウェア判定領域情報が含まれる。また、アクセス判定情報は、ソフトウェア判定領域情報に加えて、データのリード又はライトといったアクセス属性を含んでいてもよい。つまり、アクセス判定情報は、アクセス判定部15に、どのメモリ領域への、どのようなアクセス属性によるアクセスを許可させるかを規定した情報である。
なお、本実施の形態に係るアクセス判定情報は、情報処理装置1の設計時に規定される情報である。
アクセス判定部15で行われる処理はアクセス判定処理に相当する。
アクセス制御部16は、アクセス判定部15の許否判定結果に基づいて、メモリ領域へのアクセスを制御する。
つまり、アクセス判定部15及びアクセス制御部16は、SWメモリ保護によるアクセス制御を実行する。
なお、アクセス制御設定部13、タスク制御部14、アクセス判定部15及びアクセス制御部16は、OSの一部の機能として実現されてもよい。
***動作の説明***
次に、図3のフローチャートを用いて、本実施の形態に係る情報処理装置1の動作例について説明する。
以下では、通信タスク11及び一般タスク12間のデータ共有において、データのコピー回数を削減する方法として、ゼロコピーの考え方に基づき、ヘッダ、ペイロード、及びフッタで構成されるパケット構造に対応した基準領域サイズの共有メモリ領域を用意する例を用いる。
以下の例では、通信タスク11は、共有メモリ領域にアクセスをする。また、一般タスク12は、基準領域サイズ未満であるペイロード部分にアクセスをする。
したがって、通信タスク11のアクセスに対しては、HWメモリ保護によるアクセス制御でのみアクセスが許可されるように、HWアクセス権情報及びアクセス判定情報が設定される。また、一般タスク12のアクセスに対しては、SWメモリ保護によるアクセス制御でのみアクセスが許可されるように、HWアクセス権情報及びアクセス判定情報が設定される。
なお、本実施の形態では、ペイロード部分が基準領域サイズ未満であることが明瞭となるように共有メモリ領域は基準領域サイズとして説明するが、それに限らず、共有メモリ領域は基準領域サイズの2倍以上の整数倍であってもよい。
まず、ステップS100では、アクセス制御設定部13は、タスクの開始又は切り替えのタイミングが到来するまで待機する。タスクの開始又は切り替えのタイミングが到来すれば、処理はステップS110に進む。
次に、ステップS110では、アクセス制御設定部13が、OSからタスクの実行スケジュールを確認し、次に実行開始を控えるタスクのHWアクセス権情報を取得する。
次に、ステップS120では、アクセス制御設定部13が、HWアクセス権情報をアクセス制御ハードウェア50に設定する。そして、アクセス制御設定部13は、タスク制御部14に設定完了の通知を行う。
次に、ステップS130では、タスク制御部14が、タスクの実行スケジュールに基づき、次に実行開始を控えるタスクを開始させる。実行中のタスクが存在する場合は、タスク制御部14はタスクの切り替えを行い次に実行を控えるタスクを開始させる。そして、処理はステップS100に戻る。
次に、図4のフローチャートを用いて、本実施の形態に係る情報処理装置1のタスクの実行例について説明する。
まず、ステップS200では、タスク制御部14により開始したタスクが処理を実行する。具体例として、開始したタスクが通信タスク11であれば、通信タスク11はパケットの送受信に関する処理を実行する。
そして、タスクがメモリ領域のデータをリード又はメモリ領域へデータをライトする場合、処理はステップS210に進む。
次に、ステップS210では、タスクがメモリ領域へのアクセスを試行する場合、処理はステップS220に進む。一方、タスクがメモリ領域へのアクセスを試行しない場合、処理はステップS230に進む。
ステップS220では、アクセス制御ハードウェア50により、HWメモリ保護によるアクセス制御が実行される。
HWメモリ保護によるアクセス制御の詳細は後述する。
ステップS230では、アクセス判定部15に対し、タスクがメモリ領域へのアクセス要求を通知する。
なお、アクセス判定部15及びアクセス制御部16がOSの一部の機能として実現される場合、タスクはOSのAPI(Application Programming Interface)を用いてメモリ領域へのアクセス要求を通知してもよい。
ステップS240では、タスクからアクセス要求を通知されたアクセス判定部15とアクセス制御部16とにより、SWメモリ保護によるアクセス制御が実行される。
SWメモリ保護によるアクセス制御の詳細は後述する。
次に、図5のフローチャートを用いて、本実施の形態に係る情報処理装置1のHWメモリ保護によるアクセス制御の例について説明する。
まず、ステップS300では、アクセス制御ハードウェア50が、設定されたHWアクセス権情報に基づき、通信タスク11による共有メモリ領域へのアクセスの許否を判定する。
次に、ステップS310では、アクセス制御ハードウェア50によるアクセスの許否の判定が許可であれば、処理はステップS320に進む。一方、アクセス制御ハードウェア50によるアクセスの許否の判定が許可でなければ、処理はステップS330に進む。
ステップS320では、アクセス制御ハードウェア50は、通信タスク11に共有メモリ領域へアクセスをさせる。
ステップS330では、アクセス制御ハードウェア50は、OSにメモリアクセス違反を通知し、OSにアクセス違反要因を取り除いてアクセス違反前の状態へ復帰するためのメモリアクセス違反処理を実行させる。
このように、通信タスク11が試行するアクセスがアクセス制御ハードウェア50に許可されれば、通信タスク11は共有メモリ領域へアクセスすることが可能となる。また、通信タスク11が意図せず許可されない共有メモリ領域へアクセスを試行してしまったような場合には、アクセス制御ハードウェア50がOSにメモリアクセス違反処理を実行させることでメモリは保護される。
次に、図6のフローチャートを用いて、本実施の形態に係る情報処理装置1のSWメモリ保護によるアクセス制御の例について説明する。
まず、ステップS400では、アクセス判定部15が、設定されたアクセス判定情報に基づき、一般タスク12による共有メモリ領域へのアクセスの許否を判定する。
次に、ステップS410では、アクセス制御部16が、アクセス判定部15によるアクセスの許否の判定結果を取得する。
次に、ステップS420では、アクセス制御部16が、アクセス判定部15によるアクセスの許否の判定結果を確認する。アクセス判定部15によるアクセスの許否の判定結果が許可であれば、処理はステップS430に進む。一方、アクセス判定部15によるアクセスの許否の判定結果が許可でなければ、処理はステップS440に進む。
次に、ステップS430では、アクセス制御部16が、一般タスク12に共有メモリ領域へアクセスさせる。具体例としては、アクセス制御部16は一般タスク12にOSを介して共有メモリ領域へアクセスをさせる。なお、アクセス判定部15及びアクセス制御部16がOSの一部の機能として実現される場合、アクセス判定部15がタスクより受けた要求に応じてアクセス制御部16がOSに共有メモリ領域にアクセスさせてもよい。
次に、ステップS440では、アクセス制御部16は、OSにメモリアクセス違反を通知し、OSにメモリアクセス違反処理を実行させる。
このように、一般タスク12が要求するアクセスがアクセス判定部15に許可されれば、一般タスク12は共有メモリ領域へアクセスすることが可能となる。また、一般タスク12が意図せず許可されないメモリ領域へアクセスを要求してしまったような場合には、一般タスク12が要求するアクセスがアクセス判定部15に許可されず、アクセス制御部16がOSにメモリアクセス違反処理を実行させることでメモリは保護される。
次に、図7及び図8を用いて本実施の形態に係るパケット送信に関する情報処理装置1の動作例を説明する。
図7は、本実施の形態に係る送信パケット構造に対応した共有メモリ領域の例を示す。
図7に示す基準領域サイズの共有メモリ領域は、ヘッダ、ペイロード中の領域sd1及びsd2、及びフッタといった基準領域サイズ未満のメモリ領域に分割される。そして、共有メモリ領域の全域は、HWメモリ保護によるアクセス制御が適用されるハードウェア判定領域であることが示されている。また、sd1及びsd2には、SWメモリ保護によるアクセス制御が適用されるソフトウェア判定領域であることが示されている。
図8は、本実施の形態に係るパケット送信に関するアクセス制御の例を示す。
なお、通信タスク11と一般タスク12である一般タスクX及び一般タスクYとが実行される例を用いる。また、各々のタスクは規定された周期、実行タイミング、及び実行時間で実行されるとする。
図8の表の上端から3つの行では、タスクの実行スケジュールを示す、周期、実行タイミング、実行タスクが示され、右端に進むにつれ時間が進むことが示される。
また、図8の表の下端から3つの行では、各々のタスクの実行中のHWメモリ保護及びSWメモリ保護によるアクセス制御の状態が示される。
具体的には、周期0の1から3までの実行タイミングでは、通信タスク11が実行される。そして、当該タイミングでは、アクセス制御設定部13により、アクセス制御ハードウェア50に、共有メモリ領域をハードウェア判定領域とするハードウェア判定領域情報と、リード(R)及びライト(W)のアクセス属性とが設定される。そして、当該タイミングでは、アクセス制御ハードウェア50のHWメモリ保護によるアクセス制御により、共有メモリ領域へのリード(R)及びライト(W)でのアクセスが許可されていることが示されている。
一方で、当該タイミングでは、アクセス判定情報に、ソフトウェア判定領域情報及びアクセス属性が設定されていないことが示されている。
また、周期0の4から7までの実行タイミングでは、一般タスクXが実行される。そして、当該タイミングでは、アクセス判定情報に、sd1をソフトウェア判定領域としたソフトウェア判定領域情報と、ライト(W)のアクセス属性とが設定される。そして、当該実行タイミングでは、アクセス判定部15及びアクセス制御部16のSWメモリ保護によるアクセス制御により、共有メモリ領域のペイロード中の領域sd1へのライト(W)でのアクセスが許可されていることが示されている。
一方で、当該タイミングでは、アクセス制御設定部13により、アクセス制御ハードウェア50に、HWアクセス権情報として、共有メモリ領域をハードウェア判定領域としないハードウェア判定領域情報が設定されることが示されている。
また、周期0の8から10までの実行タイミングでは、一般タスクYが実行される。そして、当該タイミングでは、アクセス判定情報に、sd2をソフトウェア判定領域としたソフトウェア判定領域情報と、ライト(W)のアクセス属性とが設定される。そして、当該実行タイミングでは、アクセス判定部15及びアクセス制御部16のSWメモリ保護によるアクセス制御により共有メモリ領域のペイロード中の領域sd2へのライト(W)でのアクセスが許可されていることが示されている。
一方で、当該タイミングでは、アクセス制御設定部13により、アクセス制御ハードウェア50に、HWアクセス権情報として、共有メモリ領域をハードウェア判定領域としないハードウェア判定領域情報が設定されることが示されている。
また、図8の(1)から(3)までにパケット送信に係る一連の処理例が示される。
具体的には、(1)では、一般タスクXがsd1にアクセスしデータをライトする。次に、(2)では、一般タスクYがsd2にアクセスしデータをライトする。そして、(3)では、通信タスク11が共有メモリ領域にアクセスしヘッダ及びフッタにデータをライトし、その後共有メモリ領域全域のデータをリードし送信パケットとして通信I/F40に転送する。
次に、図9及び図10を用いて本実施の形態に係るパケット受信に関する情報処理装置1の動作例を説明する。なお、パケット送信と同一の構成又は動作については説明を省略し差異を説明する。
図9は、本実施の形態に係る受信パケット構造に対応した共有メモリ領域の例を示す。
図9に示す基準領域サイズの共有メモリ領域は、ヘッダ、ペイロード中の領域rd1及びrd2、及びフッタといった基準領域サイズ未満のメモリ領域に分割される。そして、rd1及びrd2には、SWメモリ保護によるアクセス制御が適用されることが示されている。
図10は、本実施の形態に係るパケット受信に関するアクセス制御の例を示す。
具体的には、周期0の1から3までの実行タイミングでは、通信タスク11が実行される。そして、当該タイミングでは、アクセス制御設定部13により、アクセス制御ハードウェア50に、共有メモリ領域をハードウェア判定領域とするハードウェア判定領域情報と、リード(R)及びライト(W)のアクセス属性とが設定される。そして、当該タイミングでは、アクセス制御ハードウェア50のHWメモリ保護によるアクセス制御により、共有メモリ領域へのリード(R)及びライト(W)でのアクセスが許可されていることが示されている。
一方で、当該タイミングでは、アクセス判定情報に、ソフトウェア判定領域情報及びアクセス属性が設定されていないことが示されている。
また、周期0の4から7までの実行タイミングでは、一般タスクXが実行される。そして、当該タイミングでは、アクセス判定情報に、rd1をソフトウェア判定領域としたソフトウェア判定領域情報と、リード(R)のアクセス属性とが設定される。そして、当該タイミングでは、アクセス判定部15及びアクセス制御部16のSWメモリ保護によるアクセス制御により、共有メモリ領域のペイロード中の領域rd1へのリード(R)でのアクセスが許可されていることが示されている。
一方で、当該タイミングでは、アクセス制御設定部13により、アクセス制御ハードウェア50に、HWアクセス権情報として、共有メモリ領域をハードウェア判定領域としないハードウェア判定領域情報が設定されることが示されている。
また、周期0の8から10までの実行タイミングでは、一般タスクYが実行される。そして、当該タイミングでは、アクセス判定情報に、rd2をソフトウェア判定領域としたソフトウェア判定領域情報と、リード(R)のアクセス属性とが設定される。そして、当該タイミングでは、アクセス判定部15及びアクセス制御部16のSWメモリ保護によるアクセス制御により共有メモリ領域のペイロード中の領域rd2へのリード(R)でのアクセスが許可されていることが示されている。
一方で、当該タイミングでは、アクセス制御設定部13により、アクセス制御ハードウェア50に、HWアクセス権情報として、共有メモリ領域をハードウェア判定領域としないハードウェア判定領域情報が設定されることが示されている。
また、図10の(1)から(3)までにパケット受信に係る一連の処理例が示される。
具体的には、(1)では、通信タスク11が受信パケットを通信I/F40から取得し、共有メモリ領域にアクセスしデータをライトする。その後、通信タスク11がヘッダ及びフッタのデータをリードし、妥当性を検証する。次に、(2)では、一般タスクXがrd1にアクセスしデータをリードする。そして、(3)では、一般タスクYがrd2にアクセスしデータをリードする。
***実施の形態の効果の説明***
以上のように、本実施の形態では、メモリ保護環境下において、パケット構造に対応した共有メモリ領域を用いて、通信タスク11及び一般タスク12が共有メモリ領域へアクセスしデータ共有を行う。そして、基準領域サイズである共有メモリ領域へのアクセスはHWメモリ保護によるアクセス制御により制御され、基準領域サイズ未満のペイロード部分へのアクセスはSWメモリ保護によるアクセス制御により制御される。したがって、HWメモリ保護に伴う領域サイズ制約を受けずにアクセス制御が実現される。また、共有メモリ領域の一部にのみSWメモリ保護によるアクセス制御が用いられるため、CPU負荷を抑えることができる。
HWメモリ保護によるアクセス制御のみを利用し、通信タスク11のみがアクセスが可能なパケット構造のメモリ領域に記憶されるデータを一般タスク12と共有する場合、データコピーによるオーバーヘッドが発生する。
より具体的には、通信タスク11が、パケット構造のメモリ領域から一般タスク12がアクセスを許可されるメモリ領域へとペイロードのデータをコピーする。そして、一般タスク12がアクセスを許可されるメモリ領域へアクセスし、コピーされたデータを取得することでデータが共有可能となるが、データコピーに係る処理時間及びメモリ使用量のオーバーヘッドが発生してしまう。本実施の形態に係るアクセス制御を用いることで、データコピーを回避することができるため、データコピーに係る処理時間及びメモリ使用量のオーバーヘッドを削減する効果も得られる。
実施の形態2.
本実施の形態では、アクセス判定情報が情報処理装置1の動作時にも生成される例を説明する。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
***構成の説明***
図11は、本実施の形態に係る情報処理装置1の機能構成を示す。
本実施の形態では、情報処理装置1は、新たに判定情報生成部17を備える。
判定情報生成部17は、アクセス判定情報生成を要求するタスク(以下、要求タスクという)からのアクセス判定情報生成の要求に応じて、アクセス判定情報を生成する。
生成の要求には、アクセス判定部15がアクセスの許否の判定を行う対象のタスク(以下、対象タスク)の識別子と対象タスクがアクセス判定部15にアクセスの許否の判定を要求するメモリ領域(以下、要求メモリ領域という)といったアクセス判定の要件が含まれる。また、生成の要求には、対象タスクがアクセス判定部15にアクセスの許否の判定を要求する対象タスクの実行タイミング(以下、要求タイミング)と対象タスクに付与されるアクセス属性(以下、付与属性)といったアクセス判定の要件も含まれる。
なお、要求メモリ領域は、HWメモリ保護によるアクセス制御により要求タスクはアクセスを許可されるが対象タスクはアクセスを許可されないメモリ領域の少なくとも一部の領域である。
要求タスクは、アクセス判定情報生成を要求することで、対象タスクがHWメモリ保護によるアクセス制御によりアクセスを許可されない要求メモリ領域に、要求タイミングでのみ、付与属性で対象タスクがアクセスすることを可能とする。
***動作の説明***
次に、図12のフローチャートを用いて、本実施の形態に係る情報処理装置1のアクセス判定情報生成の動作例について説明する。
まず、ステップS500では、要求タスクの実行中に、要求タスクが判定情報生成部17にアクセス判定情報生成を要求する。なお、アクセス判定情報生成の要求には、対象タスクの識別子、要求メモリ領域、要求タイミング、及び付与属性といったアクセス判定の要件が含まれる。
次に、ステップS510では、判定情報生成部17が、アクセス判定情報生成の要求に含まれるアクセス判定の要件と、要求タスク実行中のHWアクセス権情報及び対象タスクの実行スケジュールとの整合性を確認する。
具体的には、判定情報生成部17は、要求メモリ領域が、HWアクセス権情報のハードウェア判定領域情報に含まれる基準領域サイズ未満であるかを確認する。また、判定情報生成部17は、要求タイミングが対象タスクの実行スケジュールに含まれるかを確認する。
次に、ステップS520では、判定情報生成部17は、アクセス判定情報生成の要求に含まれるアクセス判定の要件と、要求タスク実行中のHWアクセス権情報及び対象タスクの実行スケジュールとの整合性を判定する。
具体的には、判定情報生成部17は、要求メモリ領域が要求タスク実行中のHWアクセス権情報のハードウェア判定領域情報に含まれる基準領域サイズ未満であり、且つ要求タイミングが対象タスクの実行スケジュールに含まれることが確認されれば、整合性ありと判定する。そして、処理はステップS530に進む。
一方、判定情報生成部17は、要求メモリ領域が要求タスク実行中のHWアクセス権情報のハードウェア判定領域情報に含まれる基準領域サイズ未満でない、又は要求タイミングが対象タスクの実行スケジュールに含まれなければ、整合性なしと判定する。そして、処理はステップS540に進む。
ステップS530では、判定情報生成部17は、アクセス判定情報を生成する。そして、判定情報生成部17は、生成したアクセス判定情報を、補助記憶装置30に記憶させる。
アクセス判定部15は、対象タスクからアクセス要求を通知されれば、生成されたアクセス判定情報に基づき対象タスクのアクセスの許否を判定する。
ステップS540では、判定情報生成部17は、アクセス判定情報を生成せず、エラー処理を実行する。
***実施の形態の効果の説明***
以上のように、本実施の形態では、実行中のタスクがアクセス判定情報生成を要求することで新たにアクセス判定情報が生成される。そして、生成されたアクセス判定情報を用いてアクセス判定部15は基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定する。このため、メモリ領域の利用方法に変更等があった場合でも、CPU負荷を抑えつつ、領域サイズ制約を受けずにアクセス制御を実現することができる。更に、アクセス判定情報を設計時に予め規定する必要がなくなり設計の自由度が高めることもできる。
以上、実施の形態について説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
1 情報処理装置、10 プロセッサ、11 通信タスク、12 一般タスク、13 アクセス制御設定部、14 タスク制御部、15 アクセス判定部、16 アクセス制御部、17 判定情報生成部、20 メモリ、30 補助記憶装置、40 通信I/F、50 アクセス制御ハードウェア。

Claims (6)

  1. アクセスの許否の判定の基準となるメモリ領域のサイズである基準領域サイズの単位で、メモリ領域へのアクセスの許否を判定するハードウェアであるアクセス制御ハードウェアと、
    前記基準領域サイズのn(nは1以上の整数)倍のサイズのメモリ領域をハードウェア判定領域として示すハードウェア判定領域情報を前記アクセス制御ハードウェアに設定して、前記アクセス制御ハードウェアに前記ハードウェア判定領域へのアクセスの許否を判定させるアクセス制御設定部と、
    前記ハードウェア判定領域に含まれる前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定するアクセス判定部と、
    前記アクセス判定部が前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否の判定を行う対象のタスクである対象タスクの識別子と、前記対象タスクが前記アクセス判定部にアクセスの許否の判定を要求する前記基準領域サイズ未満のサイズのメモリ領域と、前記対象タスクが前記アクセス判定部にアクセスの許否の判定を要求する前記対象タスクの実行タイミングと、前記対象タスクに付与されるアクセス属性とに基づき、前記アクセス判定部のアクセスの許否の判定に用いられるアクセス判定情報を生成する判定情報生成部とを有し、
    前記アクセス判定部は、
    前記アクセス判定情報を用いて、前記対象タスクの前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定し、
    前記アクセス制御設定部は、
    前記アクセス制御ハードウェアが前記対象タスクの前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定しないように前記ハードウェア判定領域情報を前記アクセス制御ハードウェアに設定する、
    情報処理装置。
  2. 前記アクセス制御設定部は、
    複数のタイミングについてタイミングごとにハードウェア判定領域が示される
    ハードウェア判定領域情報を前記アクセス制御ハードウェアに設定して、タイミ
    ングごとに前記アクセス制御ハードウェアに前記ハードウェア判定領域情報が示
    前記ハードウェア判定領域へのアクセスの許否を判定させる請求項1に記載の情報処理装置。
  3. 前記判定情報生成部は、
    前記対象タスクの実行スケジュールを確認し、前記対象タスクの実行タイミングが前記実行スケジュールと一致するときに前記アクセス判定情報を生成する請求項1に記載の情報処理装置。
  4. 前記アクセス制御ハードウェアは、
    MPU(Memory Protection Unit)である請求項1に記載の情報処理装置。
  5. アクセスの許否の判定の基準となるメモリ領域のサイズである基準領域サイズの単位で、メモリ領域へのアクセスの許否を判定するハードウェアであるアクセス制御ハードウェアを有するコンピュータが、前記基準領域サイズのn(nは1以上の整数)倍のサイズのメモリ領域をハードウェア判定領域として示すハードウェア判定領域情報を前記アクセス制御ハードウェアに設定して、前記アクセス制御ハードウェアに前記ハードウェア判定領域へのアクセスの許否を判定させ、
    前記ハードウェア判定領域に含まれる前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否の判定である基準未満アクセス許否判定の対象のタスクである対象タスクの識別子と、前記対象タスクが前記基準未満アクセス許否判定を要求する前記基準領域サイズ未満のサイズのメモリ領域と、前記対象タスクが前記基準未満アクセス許否判定を要求する前記対象タスクの実行タイミングと、前記対象タスクに付与されるアクセス属性とに基づき、前記基準未満アクセス許否判定に用いられるアクセス判定情報を、前記コンピュータが生成し、
    前記コンピュータが、前記アクセス判定情報を用いて、前記対象タスクの前記基準未満アクセス許否判定を行い、
    前記コンピュータが、前記アクセス制御ハードウェアが前記対象タスクの前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定しないように前記ハードウェア判定領域情報を前記アクセス制御ハードウェアに設定する、
    情報処理方法。
  6. アクセスの許否の判定の基準となるメモリ領域のサイズである基準領域サイズの単位で、メモリ領域へのアクセスの許否を判定するハードウェアであるアクセス制御ハードウェアを有するコンピュータに、
    前記基準領域サイズのn(nは1以上の整数)倍のサイズのメモリ領域をハードウェア判定領域として示すハードウェア判定領域情報を前記アクセス制御ハードウェアに設定して、前記アクセス制御ハードウェアに前記ハードウェア判定領域へのアクセスの許否を判定させるアクセス制御設定処理と、
    前記ハードウェア判定領域に含まれる前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定するアクセス判定処理と、
    前記アクセス判定処理が前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否の判定を行う対象のタスクである対象タスクの識別子と、前記対象タスクが前記アクセス判定処理にアクセスの許否の判定を要求する前記基準領域サイズ未満のサイズのメモリ領域と、前記対象タスクが前記アクセス判定処理にアクセスの許否の判定を要求する前記対象タスクの実行タイミングと、前記対象タスクに付与されるアクセス属性とに基づき、前記アクセス判定処理のアクセスの許否の判定に用いられるアクセス判定情報を生成する判定情報生成処理とを実行させ、
    前記アクセス判定処理において、
    前記コンピュータに、
    前記アクセス判定情報を用いて、前記対象タスクの前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定させ
    前記アクセス制御設定処理において、
    前記コンピュータに、
    前記アクセス制御ハードウェアが前記対象タスクの前記基準領域サイズ未満のサイズのメモリ領域へのアクセスの許否を判定しないように前記ハードウェア判定領域情報を前記アクセス制御ハードウェアに設定させる、
    情報処理プログラム。
JP2021560273A 2020-03-25 2020-03-25 情報処理装置、情報処理方法及び情報処理プログラム Active JP7062142B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/013368 WO2021192098A1 (ja) 2020-03-25 2020-03-25 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2021192098A1 JPWO2021192098A1 (ja) 2021-09-30
JP7062142B2 true JP7062142B2 (ja) 2022-05-02

Family

ID=77891088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021560273A Active JP7062142B2 (ja) 2020-03-25 2020-03-25 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (3)

Country Link
JP (1) JP7062142B2 (ja)
CN (1) CN115349120A (ja)
WO (1) WO2021192098A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084219A (ja) 2011-10-12 2013-05-09 Toyota Motor Corp 情報処理装置、異常判定方法
JP2013140476A (ja) 2012-01-04 2013-07-18 Toyota Motor Corp 情報処理装置、アクセス権限付与方法、プログラム生成装置、及びその方法
JP2019049928A (ja) 2017-09-12 2019-03-28 日立オートモティブシステムズ株式会社 電子制御装置及び電子制御装置の制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084219A (ja) 2011-10-12 2013-05-09 Toyota Motor Corp 情報処理装置、異常判定方法
JP2013140476A (ja) 2012-01-04 2013-07-18 Toyota Motor Corp 情報処理装置、アクセス権限付与方法、プログラム生成装置、及びその方法
JP2019049928A (ja) 2017-09-12 2019-03-28 日立オートモティブシステムズ株式会社 電子制御装置及び電子制御装置の制御方法

Also Published As

Publication number Publication date
WO2021192098A1 (ja) 2021-09-30
CN115349120A (zh) 2022-11-15
JPWO2021192098A1 (ja) 2021-09-30

Similar Documents

Publication Publication Date Title
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
US7707337B2 (en) Object-based storage device with low process load and control method thereof
JP2007122664A (ja) 情報処理方法および情報処理装置
US20070022416A1 (en) Execution device and application program
JP2006039888A (ja) ホスティング環境を安全に構築する方法及びシステム
JP2007052511A (ja) スケジューリング方法およびスケジューリング装置
JP2007122663A (ja) 情報処理方法および情報処理装置
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP7354361B2 (ja) 処理装置、処理方法及びプログラム
JP2006171894A (ja) データ処理システム、アクセス制御方法、その装置およびそのプログラム
JP3664021B2 (ja) サービスレベルによる資源割当方式
JP7062142B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US11269549B2 (en) Storage device and command processing method
US8095784B2 (en) Computer system and method for activating basic program therein
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
KR20070048079A (ko) 메모리 접근 보호 시스템 및 그 메모리 접근 보호 방법
JP2000227897A (ja) Dma転送装置及びdma転送システム
WO2013031130A1 (ja) 情報処理装置、そのアクセス制御方法及び集積回路
JP2006252550A (ja) ファイル操作制限システムおよびファイル操作制限プログラム、ファイル操作制限方法、電子機器並びに印刷装置
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
JP2006085209A (ja) 計算機システムのデプロイメント方式
JP5754778B2 (ja) 記憶装置共用システム、管理装置、処理装置、記憶装置共用方法、管理方法、アクセス方法およびプログラム
JP2007219925A (ja) バス制御装置、バス制御プログラム及び記録媒体
JP2005209178A (ja) メモリ保護装置、メモリ保護方法及びメモリ保護プログラム
JP2022080368A (ja) 計算ノード制御装置、計算ノード制御方法、及び、計算ノード制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211012

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220308

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220419

R150 Certificate of patent or registration of utility model

Ref document number: 7062142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150