JP2005182470A - メモリ割り当て装置 - Google Patents

メモリ割り当て装置 Download PDF

Info

Publication number
JP2005182470A
JP2005182470A JP2003422502A JP2003422502A JP2005182470A JP 2005182470 A JP2005182470 A JP 2005182470A JP 2003422502 A JP2003422502 A JP 2003422502A JP 2003422502 A JP2003422502 A JP 2003422502A JP 2005182470 A JP2005182470 A JP 2005182470A
Authority
JP
Japan
Prior art keywords
page
program
unit
reliability
reliability determination
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.)
Pending
Application number
JP2003422502A
Other languages
English (en)
Inventor
Shuichi Mitarai
秀一 御手洗
Tetsushi Yamamoto
哲士 山本
Kazutomi Kato
一臣 加藤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003422502A priority Critical patent/JP2005182470A/ja
Priority to US11/012,191 priority patent/US20050138320A1/en
Publication of JP2005182470A publication Critical patent/JP2005182470A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】計算機システムにおいてページ割り当てを行う際に、プログラム(ページを要求する実行単位)の信頼性を判断することによって初期化処理を省略し、アロケート処理に要する時間を短縮する。
【解決手段】計算機システムによっては、メモリをページ単位に管理し、要求に応じてページのアロケートを行う。ページが要求されたとき、信頼性判定部は信頼性判断基準に従って要求主が信頼できるかどうかの判定を行う。信頼できると判断したときは、ページを渡す際のページの初期化処理を省略することができ、ページ割り当て処理を高速化することが可能である。
【選択図】図1

Description

本発明は、計算機システムにおいて用いられるメモリ割り当て装置に関するものである。
従来、メモリをページ単位に分割してメモリ管理を行っている計算機システムにおいて、プログラムはメモリを確保するために、オペレーティングシステムに対してページ割り当て処理を要求する。これをページ要求という。オペレーティングシステムは、ページ割り当て可能なページがどれかを管理しており、これら割り当て可能なページには、計算機システムが起動してから一度も使用されていないページや、プログラムがオペレーティングシステムに対して使用後に返却したページが含まれる。以後、前者を未使用ページ、後者を再利用可能ページということにする。ページ要求が発生した際、オペレーティングシステムはプログラムに対して再利用可能ページを割り当てた場合、プログラム間で流出してはいけないようなデータが流出してしまう恐れがあった。例えば、再利用可能ページには、直前のプログラムで使用したパスワード情報や個人情報、またはプログラムの内容そのものが含まれているので、第三者に当該データが流出すると悪用される可能性がある。データの流出を防ぐための手段として、オペレーティングシステムがページ割り当て処理を行う際に、当該ページを定数で初期化するという方法が考えられる。しかしこの方法では、初期化処理を行う分、ページ割り当て処理にかかる時間が増加してしまい、システム負荷の増大、プログラムの応答性能の低下等の問題を引き起こす。そこでLinuxオペレーティングシステムでは、ページ要求を受けた際に、当該ページにロードされるデータが予め決まっているか否かを判断することでページを初期化するか否かを決定する。また、ページの初期化処理をシステムの負荷が低いときにまとめて行っておくことによって、ページ割り当て処理の際にページの初期化処理を行わずにページ割り当てを可能にするという発明があった(特許文献1参照)。
特開平11−3271号公報
しかしながら、前記従来技術のように、システムの負荷が低いときにページの初期化処理を行ったとしても、ページ初期化が発生するほどシステムの処理量が増大する。そもそも、メモリを要求したプログラムが再利用ページを渡された際に当該ページのデータを盗み見ないという前提が成り立つならば、オペレーティングシステムはページの初期化処理を行う必要はないのだが、前記従来技術では、全てのプログラムがページを盗み見る可能性があるとして初期化処理を行っており、ページを盗み見る可能性のないプログラムにとって不必要なページ初期化処理が行われていた。このようにページ割り当ての際、ページ初期化処理は、プログラムの応答性能の低下やシステム全体の処理量の増大などを招くという要因の1つになっていた。また、ページを初期化することによってデータキャッシュのリプレースが頻繁に起こり、その後のプログラムの実行効率が低下してしまうという課題があった。
本発明は、前記従来の課題を解決するもので、不必要なページ初期化処理回数を減少させるページ割り当て装置を提供することを目的とする。
前記従来の課題を解決するために、本発明のメモリ割り当て装置は、予め与えられている判断基準に基づいてプログラムの信頼性を判断する信頼性判定部と、プログラムに対して割り当てが可能なページであるフリーページを管理するフリーページプール部と、前記フリーページプール部が管理しているフリーページを初期化する初期化処理部と、プログラムからページ要求を受け取り、前記フリーページプール部よりフリーページを選択し、前記信頼性判定部に信頼性の判定を要求して判定結果を受け取り、信頼性なしと判定された場合に前記初期化処理部に選択したフリーページの初期化を要求し、前記プログラムに初期化したページを割り当てるページアロケータ部とを有し、信頼性がないと判断したプログラムの場合のみ、メモリ割り当て時に初期化を行う。
本発明のメモリ割り当て装置により、信頼できるプログラムがページ要求を行った際にページを初期化する必要がなくなるので、オペレーティングシステムがページ割り当て処理中にページ初期化を行う回数が減少する。また、信頼性があると判断されたプログラムの実行速度の向上や、ページ初期化処理を行う際に発生する大量のデータキャッシュのリプレースを抑え、その後の処理のキャッシュミス発生率を増大させないという効果や、オペレーティングシステムの処理量の減少による実行効率の向上、消費電力削減という効果がある。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本発明の実施の形態1について図1、図2を用いて説明する。
図1は、実施の形態1におけるメモリ割り当て装置の構成を示すブロック図である。
メモリをページ単位に分割して管理しており、ページ単位でメモリの確保・解放を行うことができる計算機システムにおいて、本発明のメモリ割り当て装置は、メモリの確保のためにページ要求を発生するプログラム100と、プログラム100が実行される領域が予め信頼性あると登録されているか否かを判定する領域照合部105と、プログラム100の信頼性を領域照合部105に問い合わせ、予め登録されている場合は信頼性あり、それ以外は信頼性なしと判断する信頼性判定部103と、プログラム100に対して新規に割り当てることができる、使用可能なページ(未使用ページもしくは再利用可能ページ)渡すことが可能なページを管理するフリーページプール部104と、フリーページプール部104の未使用ページもしくは再利用可能ページを初期化する初期化処理部101と、プログラム100がページ要求を発生した際に、ページ要求を受け取り、フリーページプール部104よりフリーページを選択し、信頼性判定部103に選択したフリーページの信頼性判定を要求する信頼性要求を出し、信頼性判定部103から信頼性ありと判定された場合はそのままプログラム100にフリーページを割り当て、信頼性なしと判定された場合は初期化処理部101に選択したフリーページの初期化を要求し、プログラム100に初期化したページを割り当てるページアロケータ部102とを備えている。
初期化処理部101は、ページアロケータ部102からの初期化要求を受け取り、要求されたページの初期化処理を行う。一例として、ページ全体に対して、ある定数値を書き込むことで初期化する。
領域照合部105は、開始番地、終了番地、信頼性あり・なしの3つのパラメタによって信頼できるプログラムが格納されている領域を予め登録しており、信頼性判定部103から照合要求とプログラム100が格納されている領域の開始番地が通知されると、領域照合部105に登録されている領域内から実行されていたものなのか否かを照合する。照合結果は信頼性判定部103に送られる。なお、ここでは、開始番地と終了番地と信頼性情報を保持するとしたが、それだけに限らず、終了番地なしに開始番地のみで照合を行ってもよい。また、信頼性ありの領域のみを登録し、登録されていない領域は信頼性ないものとして照合を行ってもよい。
信頼性判定部103は、ページアロケータ部102から信頼性判定要求を受け、領域照合部105に対してプログラム100が格納されている領域の開始番地と領域照合要求とを発行し、領域照合部105にプログラム100が登録されているか否かを問い合わせる。信頼性判定部103は、領域照合部105から登録されていると通知されると信頼性あり、登録されていないと通知されると信頼性なしと判定し、ページアロケータ部102に信頼性判定結果を通知する。
フリーページプール部104は、どのプログラムからも使用されていないページ(200、201、202)を格納しており、ページ割り当て時にページアロケータ部102はフリーページプール部104からページを取得する。また、プログラムからページの返却があったときに、ページアロケータ部102経由で、本フリーページプール部104にページが返却される。
ページアロケータ部102は、プログラム100に割り当てるページをフリーページプール部104より選択し、信頼性判定部103に信頼性判定要求を出す。信頼性判定部103が信頼性ありと判断した場合は、選択したページをそのままプログラム100に通知する。信頼性判定部103が信頼なしと判断した場合は、選択したページを初期化処理部101に渡し初期化処理を行い、プログラム100に通知する。
なお、ここでは、プログラム100のみ記載したが、複数個のプログラムを有してよく、複数個のプログラムが同時に起動することも可能である。また、同時に複数個のプログラムからページ要求を行ってもよい。
次に、本実施の形態における処理手順を、図2を用いて説明する。
まず、プログラム100が、メモリ確保つまりページ取得のために、ページ割り当てを要求するページ要求をページアロケータ部102に発行する(ステップS11)。
次に、ページアロケータ部102が、プログラム100からページ要求を受け取り、フリーページプール部104よりフリーページを選択して取得する(ステップS12)。
ページアロケータ部102は、信頼性判定部103にプログラム100の信頼性判定を要求する信頼性判定要求とプログラム100が格納されている開始物理番地とを発行する(ステップS13)。
信頼性判定部103は、信頼性判定要求とプログラム100が格納されている開始物理番地とを受け取り、領域照合部105に対して領域照合要求とプログラム100が格納されている開始物理番地とを通知し、プログラム100が登録されている領域から実行されているのかどうかを問い合わせ、領域照合部105から結果を受け取る(ステップS14)。
信頼性判定部103は、領域照合部105から受け取った結果を基に信頼性を判定する(ステップS15)。プログラム100が格納されている領域が領域照合部105に登録されている場合は信頼性があると判定し(ステップS15が信頼性あり)、ページアロケータ部102に判定結果を通知し、ページアロケータ部102は、ステップS12にて取得したページをそのままプログラム100に割り当てる(ステップS17)。一方、プログラム100が格納されている領域が領域照合部105に登録されていない場合は信頼性がないと判定し(ステップS15が信頼性なし)、選択したフリーページの初期化を初期化処理部101に要求し、初期化処理部101が初期化を行い(ステップS16)、ページアロケータ部102は、初期化処理部101から受け取った初期化済みのページを、プログラム100に割り当てる(ステップS17)。
本発明の実施の形態1における領域照合部105の照合条件の一例を具体的に説明する。
第一の例としては、プログラムがどこのパーティションから実行されたのかによって識別を行う方法が考えられる。例えば組み込み機器では、製品にプリインストールされているプログラムはリードオンリーのファイルシステム内に格納されていることがほとんどである。プリインストールされているプログラムは信頼できるプログラムであると判断することが可能であり、プリインストールされているプログラムが格納されているパーティションから実行されるものは信頼できる、それ以外のパーティションから実行されるものは信頼できないと判定することができる。
第二の例としては、工場出荷時の製品に元々取り付けられている記憶媒体は、マッピングされている物理アドレスにより、オペレーティングシステムで特定することが可能である。これを利用して、元々工場出荷時に構成されている記憶媒体から実行されるプログラムに関しては信頼できる、それ以外の、例えばネットワーク内やストレージデバイス内から実行されるプログラムに関しては信頼できないと判定することができる。
以上により、プログラムの格納領域に基づいて信頼性の判定を行い、信頼性があると判断した場合、メモリ割り当て時の初期化が不要となり、割り当て処理を高速化が可能となり、オペレーティングシステムにおける実行効率を向上できる。
(実施の形態2)
本発明の実施の形態2について図3、図4を用いて説明する。
図3は、実施の形態2におけるメモリ割り当て装置の構成を示すブロック図である。
メモリをページ単位に分割して管理しており、ページ単位でメモリの確保・解放を行うことができる計算機システムにおいて、本発明のメモリ割り当て装置は、メモリ確保のためにページ要求を発行するプログラム100と、信頼できるプログラムの属性が登録されていたか否かを判定するプログラム属性照合部107と、プログラム100の信頼性をプログラム属性照合部107に問い合わせ、予め登録されている場合は信頼性あり、それ以外は信頼性なしと判断する信頼性判定部113と、プログラム100に対して新規に割り当てることができる、使用可能なページ(未使用ページもしくは再利用可能ページ)を渡すことが可能なページを管理するフリーページプール部104と、フリーページプール部104の未使用ページもしくは再利用可能ページの内容を初期化する初期化処理部101と、プログラム100がページ要求を発行した際に、ページ要求を受け取り、フリーページプール部104よりフリーページを選択し、信頼性判定部113に選択したフリーページの信頼性判定を要求する信頼性判定要求を出し、信頼性判定部113から信頼性ありと判定された場合はプログラム100にフリーページを割り当て、信頼性なしと判定された場合は初期化処理部101によってページを初期化させてプログラム100にページを割り当てるページアロケータ部102とを備えている。
初期化処理部101は、ページアロケータ部102からの初期化要求を受け取り、要求されたページの初期化処理を行う。一例として、ページ全体に対して、ある定数値を書き込むことで初期化する。
プログラム属性照合部107は、属性と信頼性あり・なしの2つのパラメタによって信頼できるプログラムの属性を予め登録しており、信頼性判定部113から照合要求とプログラム100の属性を表すプログラム属性が通知されると、当該属性値がプログラム属性照合部107に登録されているか否かを照合する。照合結果は信頼性判定部113に送られる。一例として、プログラム属性値として、UNIX(R)のユーザIDやグループIDを採用することもできる。なお、ここでは、属性と信頼性情報を保持するとしたが、それだけに限らず、信頼性ありの属性のみを登録し、登録されていない属性は信頼性ないものとして照合を行ってもよい。
信頼性判定部113は、ページアロケータ部102から信頼性判定要求を受け、プログラム属性照合部107に対してプログラム100の属性と属性照合要求とを発行し、プログラム属性照合部107にプログラム100の属性が登録されているか否かを問い合わせる。信頼性判定部113は、プログラム属性照合部107から登録されていると通知されると信頼性あり、登録されていないと通知されると信頼性なしと判定し、ページアロケータ部102に信頼性判定結果を通知する。
フリーページプール部104は、どのプログラムからも使用されていないページ(200、201、202)を格納しており、ページ割り当て時にページアロケータ部102はフリーページプール部104からページを取得する。また、プログラムからページの返却があったときに、ページアロケータ部102経由で、本フリーページプール部104にページが返却される。
ページアロケータ部102は、プログラム100に割り当てるページをフリーページプール部104より選択し、信頼性判定部103に信頼性判定要求を出す。信頼性判定部103が信頼性ありと判断した場合は、そのままプログラム100に選択したページをそのまま通知する。信頼性判定部103が信頼なしと判断した場合は、選択したページを初期化処理部101に渡し初期化処理を行い、プログラム100に通知する。
なお、ここでは、プログラム100のみ記載したが、複数個のプログラムを有してよく、複数個のプログラムが同時に起動することも可能である。また、同時に複数個のプログラムからページ要求を行ってもよい。
次に、本実施の形態における処理手順を、図4を用いて説明する。
まず、プログラム100が、メモリ確保つまりページ取得のために、ページ割り当てを要求するページ要求をページアロケータ部102に発行する(ステップS21)。
次に、ページアロケータ部102が、プログラム100からページ要求を受け取り、フリーページプール部104よりフリーページを選択して取得する(ステップS22)。
ページアロケータ部102は、信頼性判定部113にプログラム100の信頼性判定を要求する信頼性判定要求とプログラム100の属性を表すプログラム属性とを発行する(ステップS23)。
信頼性判定部113は、信頼性判定要求とプログラム100の属性を表すプログラム属性とを受け取り、プログラム属性照合部107に対して属性照合要求とプログラム100のプログラム属性とを発行し、プログラム100の属性が登録されているのかどうかを問い合わせ、プログラム属性照合部107から結果を受け取る(ステップS24)。
信頼性判定部113は、プログラム属性照合部107から受け取った結果を基に信頼性を判定する(ステップS25)。プログラム100の属性がプログラム属性照合部107に登録されている場合は信頼性があると判定し(ステップS25が信頼性あり)、信頼性判定部113がページアロケータ部102に判定結果を通知し、ページアロケータ部102は、ステップS22にて取得したページをそのままプログラム100に割り当てる(ステップS27)。一方、プログラム100の属性がプログラム属性照合部107に登録されていない場合は信頼性がないと判定し(ステップS25が信頼性なし)、信頼性判定部113がページアロケータ部102に判定結果を通知し、ページアロケータ部102は、選択したフリーページの初期化を初期化処理部101に要求し、初期化処理部101が初期化を行い(ステップS26)、ページアロケータ部102は、初期化処理部101から受け取った初期化済みのページを、プログラム100に割り当てる(ステップS27)。
以上により、プログラムの属性に基づいて信頼性の判定を行い、信頼性があると判断した場合、メモリ割り当て時の初期化が不要となり、割り当て処理を高速化が可能となり、オペレーティングシステムにおける実行効率を向上できる。
(実施の形態3)
実施の形態3について図5、図6を用いて説明する。
図5は、実施の形態3におけるメモリ割り当て装置の構成を示すブロック図である。
メモリをページ単位に分割して管理しており、ページ単位でメモリの確保・解放を行うことができる計算機システムにおいて、メモリ割り当て装置は、メモリ確保のためにページ要求を発行するプログラム100と、信頼できるプログラムの識別子が登録されていたかどうかを照合するプログラム識別子照合部108と、プログラム100の識別子をプログラム識別子照合部108に問い合わせ、当該識別子がプログラム識別子照合部108に予め登録されている場合は信頼性あり、それ以外は信頼性なしと判断する信頼性判定部123と、プログラム100に対して新規に割り当てることができる、使用可能なページ(未使用ページもしくは再利用可能ページ)を渡すことが可能なページを管理するフリーページプール部104と、フリーページプール部104の未使用ページもしくは再利用可能ページの内容を初期化する初期化処理部101と、プログラム100がページ要求を発行した際に、ページ要求を受け取り、フリーページプール部104よりフリーページを選択し、信頼性判定部123に選択したフリーページの信頼性判定を要求する信頼性判定要求を出し、信頼性判定部123から信頼性ありと判定された場合はプログラム100にフリーページを割り当て、信頼性なしと判定された場合は初期化処理部101によってページを初期化させてプログラム100にページを割り当てるページアロケータ部102とを備えている。
初期化処理部101はページアロケータ部102からの初期化要求を受け取り、要求されたページの初期化処理を行う。一例として、ページ全体に対して、ある定数値を書き込むことで初期化する。
プログラム識別子照合部108は、識別子、信頼性あり・なしの2つのパラメタによって信頼できるプログラムを予め登録しており、信頼性判定部123から信頼性判定要求とプログラム100の識別子が通知されると、当該識別子がプログラム識別子照合部108に登録されているか否かを照合する。照合結果は信頼性判定部123に送られる。一例として、プログラム識別子として、UNIX(R)のPIDを採用することもできる。また、プログラムのCRCチェックサムの値もプログラム識別子として採用可能である。なお、ここでは、識別子と信頼性情報を保持するとしたが、それだけに限らず、信頼性ありの識別子のみを登録し、登録されていない識別子は信頼性ないものとして照合を行ってもよい。
信頼性判定部123は、ページアロケータ部102から信頼性判定要求を受け、プログラム識別子照合部108に対してプログラム100の識別子と領域照合要求とを発行し、プログラム識別子照合部108にプログラム100の識別子が登録されているか否かを問い合わせる。信頼性判定部123は、プログラム識別子照合部108から登録されていると通知されると信頼性あり、登録されていないと通知されると信頼性なしと判定し、ページアロケータ部102に信頼性判定結果を通知する。
フリーページプール部104は、どのプログラムからも使用されていないページ(S200、201、202)を格納しており、ページ割り当て時にページアロケータ部102はフリーページプール部104からページを取得する。また、プログラムからページの返却があったときに、ページアロケータ部102経由で、本フリーページプール部104にページが返却される。
ページアロケータ部102は、プログラム100に割り当てるページをフリーページプール部104より選択し、信頼性判定部103に信頼性判定要求を出す。信頼性判定部103が信頼性ありと判断した場合は、そのままプログラム100に選択したページをそのまま通知する。信頼性判定部103が信頼なしと判断した場合は、選択したページを初期化処理部101に渡し初期化処理を行い、プログラム100に通知する。
なお、ここでは、プログラム100のみ記載したが、複数個のプログラムを有してよく、複数個のプログラムが同時に起動することも可能である。また、同時に複数個のプログラムからページ要求を行ってもよい。
次に、本実施の形態における処理手順を、図6を用いて説明する。
まず、プログラム100が、メモリ確保つまりページ取得のために、ページ割り当てを要求するページ要求をページアロケータ部102に発行する(ステップS31)。
次に、ページアロケータ部102が、プログラム100からページ要求を受け取り、フリーページプール部104よりフリーページを選択して取得する(ステップS32)。
ページアロケータ部は、信頼性判定部123にプログラム100の信頼性判定を要求する信頼性判定要求とプログラム100の識別子を発行する(ステップS33)。
信頼性判定部123は、信頼性判定要求とプログラム100の識別子とを受け取り、プログラム識別子照合部108に対して識別子照合要求とプログラム100の識別子とを発行し、プログラム100の識別子が登録されているかどうかを問い合わせ、プログラム識別子照合部108から結果を受け取る(ステップS34)。
信頼性判定部123は、プログラム識別子照合部108から受け取った結果を基に信頼性を判定する(ステップS35)。プログラム100の識別子がプログラム識別子照合部に登録されている場合は信頼性があると判定し(ステップS35が信頼性あり)、信頼性判定部123がページアロケータ部102に判定結果を通知し、ページアロケータ部102は、ステップS32にて取得したページをそのままプログラム100に割り当てる(ステップS37)。一方、プログラム100の識別子がプログラム識別子照合部108に登録されていない場合は信頼性がないと判定し(ステップS35が信頼性なし)、信頼性判定部123がページアロケータ部102に判定結果を通知し、ページアロケータ部102は、ステップS22にて選択したページの初期化を初期化処理部101に要求し、初期化処理部101が初期化を行い(ステップS36)、ページアロケータ部102は、初期化処理部101から受け取った初期化済みのページを、プログラム100に割り当てる(ステップS37)。
本発明の実施の形態3におけるプログラム識別子照合部108の照合条件の一例を具体的に説明する。
第一の例としては、予め信頼できるプログラムを一意に識別できる固有情報(例えばファイル名、格納先のオフセット情報など)をプログラム識別子照合部108に定義しておき、プログラム100がページを要求したときに、プログラム識別子照合部108にプログラム100が登録されているか否かを問い合わせ、結果を信頼性判定部103に送る。これによって、予めプログラム識別子照合部108に登録されているプログラムは信頼できる、それ以外のものは信頼できないと判定することができる。
以上により、プログラムの識別子に基づいて信頼性の判定を行い、信頼性があると判断した場合、メモリ割り当て時の初期化が不要となり、割り当て処理を高速化が可能となり、オペレーティングシステムにおける実行効率を向上できる。
(実施の形態4)
本発明の実施の形態4について図7、図8を用いて説明する。
図7は、実施の形態5におけるメモリ割り当て装置の構成を示すブロック図である。
メモリをページ単位に分割して管理しており、ページ単位でメモリの確保・解放を行うことができる計算機システムにおいて、メモリ割り当て装置は、メモリ確保のためにページ要求を発行するプログラム100と、信頼できるプログラム毎に証明書を持ち、プログラム100の証明書の真偽判定を行う証明書照合部106と、プログラム100の信頼性を証明書照合部106に問い合わせ、予め登録されている場合は信頼性あり、それ以外は信頼性なしと判断する信頼性判定部133と、プログラム100に対して新規に割り当てることができる、使用可能なページ(未使用ページもしくは再利用可能ページ)を渡すことが可能なページを管理するフリーページプール部104と、フリーページプール部104の未使用ページもしくは再利用可能ページの内容を初期化する初期化処理部101と、プログラム100がページ要求を発行した際に、ページ要求を受け取り、フリーページプール部104よりフリーページを選択し、信頼性判定部133に選択したフリーページの信頼性判定を要求する信頼性判定要求を出し、信頼性判定部133から信頼性ありと判定された場合はプログラム100にフリーページを割り当て、信頼性なしと判定された場合は初期化処理部101によってページを初期化させてプログラム100にページを割り当てるページアロケータ部102とを備えている。
初期化処理部101はページアロケータ部102からの初期化要求を受け取り、要求されたページの初期化処理を行う。一例として、ページ全体に対して、ある定数値を書き込むことで初期化する。
証明書照合部106は、信頼性判定部103から信頼性判定要求とプログラム100の証明書が通知されると、当該証明書の真偽判定を行い、判定結果を信頼性判定部103に通知する。
信頼性判定部133は、ページアロケータ部102から信頼性判定要求を受け、証明書照合部106に対してプログラム100の証明書と証明書照合要求とを発行し、証明書照合部106にプログラム100の証明書の真偽判定を問い合わせる。信頼性判定部133は、証明書照合部106から本物の証明書であると通知されると信頼性あり、本物ではないと通知されると信頼性なしと判定し、ページアロケータ部102に信頼性判定結果を通知する。
フリーページプール部104は、どのプログラムからも使用されていないページ(200、201、202)を格納しており、ページ割り当て時にページアロケータ部102はフリーページプール部104からページを取得する。また、プログラムからページの返却があったときに、ページアロケータ部102経由で、本フリーページプール部104にページが返却される。
ページアロケータ部102は、プログラム100に割り当てるページをフリーページプール部104より選択し、信頼性判定部103に信頼性判定要求を出す。信頼性判定部103が信頼性ありと判断した場合は、そのままプログラム100に選択したページをそのまま通知する。信頼性判定部103が信頼なしと判断した場合は、選択したページを初期化処理部101に渡し初期化処理を行い、プログラム100に通知する。
なお、ここでは、プログラム100のみ記載したが、複数個のプログラムを有してよく、複数個のプログラムが同時に起動することも可能である。また、同時に複数個のプログラムからページ要求を行ってもよい。
次に、本実施の形態における処理手順を、図8を用いて説明する。
まず、プログラム100が、メモリ確保つまりページ取得のために、ページ割り当てを要求するページ要求をページアロケータ部102に発行する(ステップS41)。
次に、ページアロケータ部102が、プログラム100からページ要求を受け取り、フリーページプール部104よりフリーページを選択して取得する(ステップS42)。
ページアロケータ部102は、信頼性判定部133にプログラム100の信頼性判定を要求する信頼性判定要求とプログラム100の証明書とを発行する(ステップS43)。
信頼性判定部133は、信頼性判定要求とプログラム100の証明書とを受け取り、証明書照合部106に対して証明書照合要求とプログラム100の証明書とを発行し、プログラム100の証明書の真偽判定を問い合わせ、証明書照合部106から結果を受け取る(ステップS44)。
信頼性判定部133は、証明書照合部106から受け取った結果を基に信頼性を判定する(ステップS45)。プログラム100の証明書が証明書照合部106によって本物であると判定された場合は信頼性があると判定し(ステップS45が信頼性あり)、信頼性判定部133がページアロケータ部102に判定結果を通知し、ページアロケータ部102は、ステップS42にて取得したページをそのままプログラム100に割り当てる(ステップS47)。一方、プログラム100の証明書が証明書照合部106によって本物ではないと判定される場合は信頼性がないと判定し(ステップS45が信頼性なし)、信頼性判定部133がページアロケータ部102に判定結果を通知し、ページアロケータ部102は、ステップS42にて選択したページの初期化を初期化処理部101に要求し、初期化処理部101が初期化を行い(ステップS46)、ページアロケータ部102は、初期化処理部101から受け取った初期化済みのページを、プログラム100に割り当てる(ステップS47)。
以上により、プログラムの証明書の真偽結果に基づいて信頼性の判定を行い、信頼性があると判断した場合、メモリ割り当て時の初期化が不要となり、割り当て処理を高速化が可能となり、オペレーティングシステムにおける実行効率を向上できる。
なお、本発明におけるメモリ割り当て装置では、信頼性に応じて初期化処理部101に初期化要求を出すか否かを決定することができるが、この信頼性の判定は、証明書照合部106だけでなく、前述した実施の形態で説明した領域照合部105と証明書照合部106とプログラム属性照合部107とプログラム識別子照合部108を適宜組み合わせて行ってもよい。
本発明にかかるメモリ割り当て装置は、信頼性がないと判断した場合のみ、メモリ割り当て時に初期化を行うことが可能となる効果を有し、安全性を必要とする組み込みなどのオペレーティングシステムなどで有用である。また、本発明にかかるメモリ割り当て装置を備えたオペレーティングシステムは、コンピュータのみならず、各種家電機器、情報処理機器、形態電話、産業機器などでも利用可能である。
本発明の実施の形態1におけるメモリ割り当て装置の構成を示す図 本発明の実施の形態1におけるメモリ割り当て装置の処理手順を示したフローチャート 本発明の実施の形態2におけるメモリ割り当て装置の構成を示す図 本発明の実施の形態2におけるメモリ割り当て装置の処理手順を示したフローチャート 本発明の実施の形態3におけるメモリ割り当て装置の構成を示す図 本発明の実施の形態3におけるメモリ割り当て装置の処理手順を示したフローチャート 本発明の実施の形態4におけるメモリ割り当て装置の構成を示す図 本発明の実施の形態4におけるメモリ割り当て装置の処理手順を示したフローチャート
符号の説明
100 プログラム
101 初期化処理部
102 ページアロケータ部
103,113,123,133 信頼性判定部
104 フリーページプール部
105 領域照合部
106 証明書照合部
107 プログラム属性照合部
108 プログラム識別子照合部
200,201,202 ページ

Claims (6)

  1. メモリをページ単位で管理し、プログラムの要求に従ってメモリの確保・解放を行うメモリ割り当て装置であって、
    予め与えられている判断基準に基づいてプログラムの信頼性を判断する信頼性判定部と、
    プログラムに対して割り当てが可能なページであるフリーページを管理するフリーページプール部と、
    前記フリーページプール部が管理しているフリーページを初期化する初期化処理部と、
    プログラムからページ要求を受け取り、前記フリーページプール部よりフリーページを選択し、前記信頼性判定部に信頼性の判定を要求して判定結果を受け取り、信頼性なしと判定された場合に前記初期化処理部に選択したフリーページの初期化を要求し、前記プログラムに初期化したページを割り当てるページアロケータ部とを有するメモリ割り当て装置。
  2. 前記ページアロケータ部は、信頼性ありと判定された場合に、前記初期化処理部に初期化を要求せずに、前記プログラムにページを割り当てることを特徴とする請求項1記載のメモリ割り当て装置。
  3. プログラムを格納する1つ以上の格納領域を持ち、信頼できるプログラムの格納領域を管理する領域照合部を備え、
    前記信頼性判定部は、プログラムがページ要求する際に、前記ページ要求したプログラムが格納されている格納領域と前記領域照合部が管理している情報に基づき、信頼性を判定すること特徴とする請求項1に記載のメモリ割り当て装置。
  4. 信頼できるプログラムの実行権限属性を管理するプログラム属性照合部を備え、
    前記信頼性判定部は、プログラムがページ要求する際に、前記ページ要求したプログラムの属性と前記プログラム属性照合部が管理している情報に基づき、信頼性を判定することを特徴とする請求項1に記載のメモリ割り当て装置。
  5. システムがプログラムを一意に識別することが可能な識別子を持ち、システムが信頼できるプログラムの前記識別子を管理するプログラム識別子照合部を備え、
    前記信頼性判定部は、プログラムがページ要求する際に、前記ページ要求したプログラムの識別子と前記プログラム識別子照合部が管理している情報に基づき、信頼性を判定することを特徴とする請求項1に記載のメモリ割り当て装置。
  6. 信頼できるプログラム毎に証明書を持ち、プログラムの証明書の真偽判定を行う証明書照合部を備え、
    前記信頼性判定部は、プログラムがページ要求する際に、前記証明書照合部が前記ページ要求したプログラムの証明書を判定した結果に基づき、信頼性を判定することを特徴とする請求項1に記載のメモリ割り当て装置。
JP2003422502A 2003-12-19 2003-12-19 メモリ割り当て装置 Pending JP2005182470A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003422502A JP2005182470A (ja) 2003-12-19 2003-12-19 メモリ割り当て装置
US11/012,191 US20050138320A1 (en) 2003-12-19 2004-12-16 Memory allocation unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003422502A JP2005182470A (ja) 2003-12-19 2003-12-19 メモリ割り当て装置

Publications (1)

Publication Number Publication Date
JP2005182470A true JP2005182470A (ja) 2005-07-07

Family

ID=34675324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003422502A Pending JP2005182470A (ja) 2003-12-19 2003-12-19 メモリ割り当て装置

Country Status (2)

Country Link
US (1) US20050138320A1 (ja)
JP (1) JP2005182470A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517128A (ja) * 2007-01-23 2010-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリと無関係なトレース・ハンドルの定義(処理環境のトレースのハンドルを定義する方法、システム及びコンピュータ・プログラム)
JP7291919B1 (ja) 2021-12-28 2023-06-16 株式会社Ffriセキュリティ コンピュータプログラム信頼性判定システム、コンピュータプログラム信頼性判定方法およびコンピュータプログラム信頼性判定プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392361B2 (en) * 2002-04-16 2008-06-24 Emc Corporation Generic reallocation function for heap reconstitution in a multi-processor shared memory environment
KR102146334B1 (ko) * 2013-01-17 2020-08-20 삼성전자 주식회사 동적 페이지 할당자 변경 방법 및 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517128A (ja) * 2007-01-23 2010-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリと無関係なトレース・ハンドルの定義(処理環境のトレースのハンドルを定義する方法、システム及びコンピュータ・プログラム)
JP7291919B1 (ja) 2021-12-28 2023-06-16 株式会社Ffriセキュリティ コンピュータプログラム信頼性判定システム、コンピュータプログラム信頼性判定方法およびコンピュータプログラム信頼性判定プログラム
JP2023098131A (ja) * 2021-12-28 2023-07-10 株式会社Ffriセキュリティ コンピュータプログラム信頼性判定システム、コンピュータプログラム信頼性判定方法およびコンピュータプログラム信頼性判定プログラム

Also Published As

Publication number Publication date
US20050138320A1 (en) 2005-06-23

Similar Documents

Publication Publication Date Title
US20060026429A1 (en) Method and system for setting up hosting environments in safety
CN109800050B (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
JP5007867B2 (ja) 安全な環境におけるプロセッサ実行を制御するための装置
US8161161B2 (en) Information processing method and information processing apparatus
US7032222B1 (en) Method and system for determining resource allocation to users by granting request based on user associated different limits and resource limit
WO2021227954A1 (zh) 基于容器集群的应用访问请求处理
US20110093917A1 (en) Hierarchical Policy Management
WO2007074565A1 (ja) プログラム実行制御方法および装置ならびに実行制御プログラム
JP2004086392A (ja) 計算機構成変更方法およびシステム
JP4551231B2 (ja) プログラム実行保護システム、プログラム実行保護方法
US8490104B2 (en) Method and apparatus for reservation and reallocation of surplus resources to processes in an execution space by a local resource manager after the execution space is generated succeeding the initialization of an application for which the execution space is created and the resources are allocated to the execution space by a global resource manager prior to application execution
CN110750336B (zh) 一种OpenStack虚拟机内存热扩容方法
KR20100006530A (ko) 경합을 줄이기 위한 윈도우 락
JP5381713B2 (ja) 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
US8689288B2 (en) Apparatus and method for protecting system in virtualized environment
EP3785149B1 (en) Memory assignment for guest operating systems
US8528007B1 (en) Firmware downloading through process file system
CN108984270B (zh) 一种虚拟机的内存分配方法和装置
JP2005182470A (ja) メモリ割り当て装置
WO2016183906A1 (zh) 一种存储空间分配方法及装置
JP2007065917A (ja) アクセス制御方法、アクセス制御リスト管理装置、アクセス制御装置、アクセス制御システム、アクセス制御プログラム、及び記憶媒体
CN113179285B (zh) 视频物联网高性能密码服务方法、装置和系统
KR20190106589A (ko) 전자 디바이스에 서비스를 제공하는 장치 및 그 방법
US20120254968A1 (en) Systems and methods for implementing security services
CN113806693A (zh) 许可分配方法、装置、设备和存储介质