JP2005190444A - メモリ管理装置 - Google Patents

メモリ管理装置 Download PDF

Info

Publication number
JP2005190444A
JP2005190444A JP2003434801A JP2003434801A JP2005190444A JP 2005190444 A JP2005190444 A JP 2005190444A JP 2003434801 A JP2003434801 A JP 2003434801A JP 2003434801 A JP2003434801 A JP 2003434801A JP 2005190444 A JP2005190444 A JP 2005190444A
Authority
JP
Japan
Prior art keywords
program
resident
memory
main memory
transient
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
JP2003434801A
Other languages
English (en)
Inventor
Katsufumi Watabiki
克文 綿引
Takahiro Ohira
崇博 大平
Hirokazu Kasashima
広和 笠嶋
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003434801A priority Critical patent/JP2005190444A/ja
Publication of JP2005190444A publication Critical patent/JP2005190444A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】
メモリ高負荷時におけるOSのオーバヘッドを小さくすることのできるメモリ管理装置を提供する。
【解決手段】
プログラム毎に該プログラムが補助記憶装置に退避することのできる非常駐プログラムとして使用されるか、補助記憶装置に退避することのできない常駐プログラムとして使用されるかを表す管理情報を管理するプログラム管理テーブル115と、前記管理情報に基づき常駐プログラムとして使用するプログラムを主メモリの常駐プログラム格納領域に格納する常駐メモリ確保手段130と、前記管理情報に基づき非常駐プログラムとして使用するプログラムを主メモリの非常駐プログラム格納領域に格納する非常駐メモリ確保手段140と、非常駐プログラムの格納領域を管理する非常駐メモリ管理テーブル180と、
非常駐メモリ管理テーブルが管理する非常駐プログラムの格納領域に対してページング処理またはスワッピング処理を施す手段185,190を備えた。
【選択図】 図1

Description

本発明は、メモリ管理装置に係り、特に仮想記憶方式のOSで動作する計算機のメモリ管理装置に関する。
計算機はその処理用のプログラムを実行するためには、該プログラムを主メモリ装置上に配置しなければならない。しかし、主メモリ装置の容量には限度があるため、全てのプログラムを主メモリ装置上に配置することはできない。
そこで、考え出されたのが仮想メモリ方式である。仮想メモリ方式は、主メモリ装置が満杯で他のプログラムを配置できないとき、主メモリ装置上の現在必要のない(使用していない)プログラムを一時的に補助記憶装置に待避させ、主メモリ装置に空き領域を作り出す。そして、待避したプログラムを実行するときは、主メモリ装置上の必要のないプログラムを補助記憶装置に待避し、前記待避されていたプログラムを主メモリ装置上に戻して実行する。
このように仮想記憶方式では、主メモリ装置と補助記憶装置間でプログラムを移動しながら実行するため、プログラムの移動を行うOS処理にオーバヘッドをもたらし、これによりプログラムの実行が遅延する。
プログラムの実行遅延を発生させない方式としては、主メモリ装置上にプログラムを常駐させる(補助記憶装置へ待避しない)方式が知られている。また、プログラム単位ではなくページ単位に参照頻度が低いプログラムを補助記憶装置へ待避するページング方式が知られている(例えば、特許文献1参照)。
特開5−274221号公報
仮想記憶方式では、主メモリ装置の空き領域が少なくなると、まずページ単位に補助記憶装置へ待避するページング方式で空き領域を作り、それでも解決しない場合にプログラム単位で補助記憶装置へ待避して大きな空き領域を作る。
ページング方式では、主メモリ装置を走査して参照頻度が低いメモリページを探す。しかし、主メモリ装置上には常駐プログラムと非常駐プログラムが分離されずに混在している場合、ページング方式では効率良くメモリ装置の空き領域を作り出すことができない。このため、プログラム単位で補助記憶装置に待避することにより空き領域を作り出すことになる。
プログラム単位で補助記憶装置へ待避する方式では、一度に大きな空き領域を作り出すことができる。しかし、待避したプログラムを再実行するときには、補助記憶装置から主メモリ装置に再配置することが必要であり、この処理によるオーバヘッドが大きくなる。すなわち、計算機において、補助記憶装置への待避と主メモリ装置への再配置を繰り返す場合にはトータルのスループットが低下する(スラッシング状態)ことになる。
本発明は、これらの問題点に鑑みてなされたもので、主メモリ高負荷時におけるOSのオーバヘッドを小さくすることのできるメモリ管理装置を提供する。
本発明は上記課題を解決するため、次のような手段を採用した。
プログラム毎に該プログラムが補助記憶装置に退避することのできる非常駐プログラムとして使用されるか、補助記憶装置に退避することのできない常駐プログラムとして使用されるかを表す管理情報を管理するプログラム管理テーブルと、前記管理情報に基づき常駐プログラムとして使用するプログラムを主メモリの常駐プログラム格納領域に格納する常駐メモリ確保手段と、前記管理情報に基づき非常駐プログラムとして使用するプログラムを主メモリの非常駐プログラム格納領域に格納する非常駐メモリ確保手段と、非常駐プログラムの格納領域を管理する非常駐メモリ管理テーブルと、非常駐メモリ管理テーブルが管理する非常駐プログラムの格納領域に対してページング処理またはスワッピング処理を施す手段を備えた。
本発明は、以上の構成を備えるため、メモリ高負荷時におけるOSのオーバヘッドを小さくすることのできるメモリ管理装置を提供することができる。
以下、最良の実施形態を添付図面を参照しながら説明する。
図1は、本実施形態にかかる計算機のメモリ管理装置を説明する図である。この装置は、主メモリ装置(100)、プログラムを格納したハードディスク装置等の補助記憶装置(101)、主メモリ装置上のプログラムの待避先となるスワップ装置等の補助記憶装置(102)を備える。なお、補助記憶装置(102)はハードディスク装置(101)等で構成することができる。
また、このメモリ管理装置は、補助記憶装置(101)に格納されているプログラムを主メモリ装置(100)に配置するプログラムロード手段(110)、OSがプログラムロード手段(110)によりプログラム毎に作成し、プログラム固有の情報を格納するプログラム管理テーブル(115)、プログラム管理テーブル(115)内にある当該プログラムが常駐プログラムか非常駐プログラムかを示す常駐フラグ(120)、プログラムロード手段(110)により読み込んだプログラムが常駐プログラムか非常駐プログラムかを判断する常駐/非常駐判別手段(125)、プログラムロード手段(110)からの空きメモリ要求に対して物理メモリ空間アドレスが小さい方から確保していく常駐メモリ確保手段(130)、プログラムロード手段(110)からの空きメモリ要求に対して物理メモリ空間アドレスが大きい方から確保していく非常駐メモリ確保手段(140)、常駐プログラムを非常駐プログラムに変更する非常駐化手段(150)と、非常駐化プログラムを常駐プログラムに変更する常駐化手段(160)、及び既に主メモリ装置(100)に配置されているプログラムを常駐フラグの指定に従って配置し直すプログラムリロード手段(170)を備える。
また、例えば、メモリ高負荷時に、主メモリ装置(100)の非常駐プログラムが配置されている空間の範囲(アドレス)を保持する非常駐メモリ領域管理テーブル(180)を備える。非常駐メモリ領域管理テーブル(180)には、配置された非常駐プログラムの先頭アドレスを示す非常駐メモリ先頭アドレス(181)及び配置された非常駐プログラムの最終アドレスを示す非常駐メモリ最終アドレス(182)を格納する。
また、前記非常駐メモリ領域管理テーブル(180)で示される物理アドレス空間における使用頻度が低いページをスワップ装置(103)に退避させるするページング手段(185)と、メモリ高負荷時に実行頻度が低い非常駐プログラムをスワップ装置(102)に待避させるスワップ手段(190)を有している。
なお、スワップ装置(103)に待避されたページはプログラムロード手段(110)により主メモリ装置(100)への再配置を行い、スワップ装置(103)に待避されたプログラムはスワップ手段(190)により主メモリ装置(100)に再配置を行う。
図2は、常駐プログラムをメモリ装置に配置する処理を説明する図である。常駐プログラムA(200)は補助記憶装置(101)に格納されており、このプログラムAは起動要求に応じてプログラムロード手段(110)を介して主メモリ装置(100)に配置される。このとき、常駐/非常駐判別手段(125)はプログラムAが常駐プログラムか非常駐プログラムかを判断する。
この判断は、プログラム毎にOSが作成するプログラム管理テーブル(115)の常駐フラグ(120)がONであるかOFFであるかにより行う。常駐プログラム(常駐フラグ(120)がON)であると判断したときは、常駐メモリ確保手段(130)を介して、常駐プログラム用のメモリ空間にプログラムAを配置する。常駐メモリ確保手段(130)は、空きメモリを物理メモリ空間アドレスの小さい方から割当てて行く。
図3は、非常駐プログラムをメモリ装置に配置する処理を説明する図である。非常駐プログラムB(300)は補助記憶装置(101)に格納されており、起動要求に応じてプログラムロード手段(110)を介して主メモリ装置(100)に配置される。このとき、常駐/非常駐判別手段(125)はプログラムBが常駐プログラムか非常駐プログラムかを判断する。
この判断は、プログラム毎にOSが作成するプログラム管理テーブル(115)の常駐フラグ(120)がONであるか、OFFであるかにより行う。非常駐プログラム(常駐フラグ(120)がOFF)であると判断したときは、非常駐メモリ確保手段(140)を介して、非常駐プログラム用のメモリ空間にプログラムBを配置する。非常駐メモリ確保手段(140)は、空きメモリを物理メモリ空間アドレスの大きい方から割当てる。そして、割当てた非常駐領域を非常駐メモリ領域管理テーブル(180)に反映する。
図4は、常駐プログラムを非常駐化する処理を説明する図である。
まず、非常駐化手段(150)により、常駐プログラムC(400)を管理するプログラム管理テーブル(115)内の常駐フラグ(120)をOFFに変更し、次いで、プログラムリロード手段(170)を用いて常駐プログラムを非常駐領域へ再配置する。
このとき、プログラムリロード手段(170)は、非常駐メモリ確保手段(140)を用いて非常駐領域における空きメモリの有無を判断し(ステップS1)、空きメモリがある場合は、該空きメモリに前記常駐プログラムC(400)を格納する。空きメモリが無い場合はスワップ手段(190)によりスワップ装置(102)の空きの有無を判断し(ステップS2)、空きがある場合はスワップ装置(102)に待避格納する。ステップ2において、スワップ装置(102)にも空きが無い場合は、前記常駐プログラムCのリロードをプログラムリロード要求リスト(410)へ登録し、次のスワップ手段(190)の実行時(実行により非常駐領域あるいはスワップ装置に空きメモリが生じた場合)にプログラムリロード手段(170)を用いて前記常駐プログラムCを非常駐領域に再配置する。そして、非常駐領域の変更を非常駐メモリ領域管理テーブル(180)に反映する。
図5は、非常駐プログラムを常駐化する処理を説明する図である。
まず、常駐化手段(160)により非常駐プログラムD(500)を管理するプログラム管理テーブル(115)の常駐フラグ(120)をONに変更し、プログラムリロード手段(170)を用いて非常駐プログラムを常駐領域に再配置する。
このとき、プログラムリロード手段(170)は、常駐メモリ確保手段(130)を用いて常駐領域における空きメモリの有無を判断し(ステップS1)、空きメモリがある場合は該空きメモリに非常駐プログラムD(500)を格納する。空きメモリが無い場合は非常駐プログラムDのリロードをプログラムリロード要求リスト(410)に登録し、次のスワップ手段(190)の実行時にプログラムリロード手段(170)を用いて非常駐プログラムDを常駐領域に再配置する。そして、非常駐領域の変更を非常駐メモリ領域管理テーブル(180)に反映する。
図6は、メモリ高負荷時におけるページング動作を説明する図である。
主メモリに空き領域が不足してくると、空き領域の所定の閾値でページング手段(185)が処理を開始する。まず、ページング手段(185)は、非常駐メモリ領域管理テーブル(180)に格納された非常駐メモリ最終アドレス(182)から非常駐メモリ先頭アドレス(181)の方向に向かって走査し、参照の少ないメモリページを検出し、検出したページのデータをスワップ装置(103)に待避して、空き領域を作成する。この場合、前記走査する領域には常駐プログラムは配置されていないので、待避可能なメモリページを効率よく検出することができる。すなわち、常駐プログラム及び非常駐プログラムを主メモリ上に混在することなく分離して配置するので短時間で多くの空きメモリを作り出すことができる。なお、以上の説明ではページ単位で退避を行うページングを前提に説明したが、プログラム単位で退避を行うスワッピングの場合にも同様に適用できる。
以上説明したように、本実施形態によれば、仮想記憶方式のオペレーティングシステムで稼働する計算機において、常駐プログラムと非常駐プログラムを主メモリ装置上に分離して配置することにより、ページングあるいはスワッピングを効率的に実行させ、オペレーティングシステムのオーバヘッドを低減して、システムのトータルスループットを向上することができる。
実施形態にかかる計算機のメモリ管理装置を説明する図である。 常駐プログラムをメモリ装置に配置する処理を説明する図である。 非常駐プログラムをメモリ装置に配置する処理を説明する図である。 常駐プログラムを非常駐化する処理を説明する図である。 非常駐プログラムを常駐化する処理を説明する図である。 メモリ高負荷時におけるページング動作を説明する図である。
符号の説明
100 主メモリ装置
101 補助記憶装置(ハードディスク装置)
102 補助記憶装置(スワップ装置)
110 プログラムロード手段
115 プログラム管理テーブル
120 常駐フラグ
125 常駐/非常駐判別手段
130 常駐メモリ確保手段
140 非常駐メモリ確保手段
150 常駐プログラムの非常駐化手段
160 非常駐プログラムの常駐化手段
170 プログラムリロード手段
180 非常駐メモリ領域管理テーブル
181 非常駐メモリ先頭アドレス
182 非常駐メモリ最終アドレス
185 ページング手段
190 スワップ手段
200 常駐プログラムA
300 非常駐プログラムB
400 非常駐化される常駐プログラムC
410 プログラムリロード要求リスト
500 常駐化される非常駐プログラムD

Claims (3)

  1. プログラム毎に該プログラムが補助記憶装置に退避することのできる非常駐プログラムとして使用されるか、補助記憶装置に退避することのできない常駐プログラムとして使用されるかを表す管理情報を管理するプログラム管理テーブルと、
    前記管理情報に基づき常駐プログラムとして使用するプログラムを主メモリの常駐プログラム格納領域に格納する常駐メモリ確保手段と、
    前記管理情報に基づき非常駐プログラムとして使用するプログラムを主メモリの非常駐プログラム格納領域に格納する非常駐メモリ確保手段と、
    非常駐プログラムの格納領域を管理する非常駐メモリ管理テーブルと、
    非常駐メモリ管理テーブルが管理する非常駐プログラムの格納領域に対してページング処理またはスワッピング処理を施す手段を備えたことを特徴とするメモリ管理装置。
  2. 請求項1記載のメモリ管理装置において、常駐プログラムとして使用することを表す管理情報及び非常駐プログラムとして使用することを表す管理情報をそれぞれ変更する変更手段を備えたことを特徴とするメモリ管理装置。
  3. 請求項1記載のメモリ管理装置において、常駐プログラムとして使用するプログラムは前記主メモリの物理アドレスの一方端側から格納し、非常駐プログラムとして使用するプログラムは前記主メモリの物理アドレスの他方端側から格納することを特徴とするメモリ管理装置。








JP2003434801A 2003-12-26 2003-12-26 メモリ管理装置 Pending JP2005190444A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003434801A JP2005190444A (ja) 2003-12-26 2003-12-26 メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003434801A JP2005190444A (ja) 2003-12-26 2003-12-26 メモリ管理装置

Publications (1)

Publication Number Publication Date
JP2005190444A true JP2005190444A (ja) 2005-07-14

Family

ID=34791747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003434801A Pending JP2005190444A (ja) 2003-12-26 2003-12-26 メモリ管理装置

Country Status (1)

Country Link
JP (1) JP2005190444A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2445168A (en) * 2006-12-29 2008-07-02 Symbian Software Ltd Loading resource administer program into main or higher memory depending on the type of usage requests being sent to the program.
WO2012172743A1 (ja) * 2011-06-14 2012-12-20 パナソニック株式会社 情報処理装置、情報処理方法、プログラム、集積回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2445168A (en) * 2006-12-29 2008-07-02 Symbian Software Ltd Loading resource administer program into main or higher memory depending on the type of usage requests being sent to the program.
WO2012172743A1 (ja) * 2011-06-14 2012-12-20 パナソニック株式会社 情報処理装置、情報処理方法、プログラム、集積回路
US8938811B2 (en) 2011-06-14 2015-01-20 Panasonic Intellectual Property Management Co., Ltd. Information processing apparatus, method, program, and integrated circuit
JPWO2012172743A1 (ja) * 2011-06-14 2015-02-23 パナソニック株式会社 情報処理装置、情報処理方法、プログラム、集積回路

Similar Documents

Publication Publication Date Title
JP5229326B2 (ja) マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
JP4281421B2 (ja) 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
JP5385347B2 (ja) メイン・メモリのフリー・メモリ量を拡大する方法およびコンピュータ
KR20060109042A (ko) 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법
JP2011095916A (ja) 電子機器
JP2009122733A (ja) 電力制御方法、計算機システム、及びプログラム
KR20080017292A (ko) 내장 시스템들을 위한 저장 아키텍쳐
JP2011164968A (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
US20110087901A1 (en) Fast speed computer system power-on & power-off method
US20150134892A1 (en) Information processing apparatus, method of controlling the same, and storage medium
US6851012B2 (en) Information processing system, information processing method and readable-by-computer recording medium
KR20110033066A (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
JP2005190444A (ja) メモリ管理装置
WO2010070529A2 (en) A method, apparatus and computer program for moving data in memory
EP1408406B1 (en) Arithmetic unit with reduced startup time and method of loading data
JP5505195B2 (ja) メモリの制御装置、及び制御方法
JP2006338194A (ja) データ処理システム、データ処理プログラム及びデータ処理方法
JP2003263366A (ja) スワッピング制御方法及びその実施装置並びにその処理プログラム
JP2010277495A (ja) 圧縮記録装置および圧縮記録方法
JP5135462B1 (ja) 情報処理装置及びメモリ管理方法
US11907761B2 (en) Electronic apparatus to manage memory for loading data and method of controlling the same
JP2010198304A (ja) 情報処理装置、仮想記憶管理方法及びプログラム
JP2008077255A (ja) 携帯端末装置及びそれに用いるメモリ管理方法並びにそのプログラム
JP2008226082A (ja) データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法
JP2007265230A (ja) 情報処理装置及びそのファイル読み込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091208