JP5561147B2 - 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム - Google Patents

仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム Download PDF

Info

Publication number
JP5561147B2
JP5561147B2 JP2010284615A JP2010284615A JP5561147B2 JP 5561147 B2 JP5561147 B2 JP 5561147B2 JP 2010284615 A JP2010284615 A JP 2010284615A JP 2010284615 A JP2010284615 A JP 2010284615A JP 5561147 B2 JP5561147 B2 JP 5561147B2
Authority
JP
Japan
Prior art keywords
area
virtual storage
load module
main
dynamic link
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.)
Expired - Fee Related
Application number
JP2010284615A
Other languages
English (en)
Other versions
JP2012133550A (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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010284615A priority Critical patent/JP5561147B2/ja
Publication of JP2012133550A publication Critical patent/JP2012133550A/ja
Application granted granted Critical
Publication of JP5561147B2 publication Critical patent/JP5561147B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラムに関する。
従来、セグメンテーション方式の仮想記憶管理システムでは、主ロードモジュール(以下、「主LM」という。)の仮想記憶空間内にある空きセグメントに、副ロードモジュール(以下、「副LM」という。)を割り当てることで、動的リンク制御を行っている(例えば、下記特許文献1参照)。
特開平1−98043号公報
近年、24時間365日稼動のシステムが増えてきており、システムの稼働/停止をなるべく行わないことがユーザニーズの傾向となっている。しかしながら、上述した従来の動的リンク制御方法では、主LMの仮想記憶空間内における空きセグメントが不足すると、副LMを割り当てることができなくなる。この場合、主LMや副LMの変更作業等が完了するまでシステムを停止させなければならず、その間、業務が停滞してしまう。
本発明は、上述した課題を解決するためになされたものであり、システムを停止させずに、動的リンク制御を円滑に行うことができる仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラムを提供することを目的とする。
本発明の仮想記憶管理装置は、セグメンテーション方式の仮想記憶管理を行う仮想記憶管理装置であって、副ロードモジュールに動的リンクを要求する主ロードモジュールを、複数の領域に区分された仮想記憶空間のうちの一つの領域の空きセグメントに割り当てて実行する主ロードモジュール実行部と、前記主ロードモジュールが前記動的リンクを要求した場合に、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在するか否かを判定する判定部と、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する他の領域を縮小し、前記一つの領域を拡大させるように仮想記憶空間のマッピングを変更してから前記動的リンクを実行する動的リンク実行部と、を備える。
本発明の仮想記憶管理方法は、セグメンテーション方式の仮想記憶管理を行う仮想記憶管理装置を制御する仮想記憶管理方法であって、副ロードモジュールに動的リンクを要求する主ロードモジュールを、複数の領域に区分された仮想記憶空間のうちの一つの領域の空きセグメントに割り当てて実行する主ロードモジュール実行ステップと、前記主ロードモジュールが前記動的リンクを要求した場合に、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在するか否かを判定する判定ステップと、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する他の領域を縮小し、前記一つの領域を拡大させるように仮想記憶空間のマッピングを変更してから前記動的リンクを実行する動的リンク実行ステップと、を含む。
本発明の仮想記憶管理プログラムは、上記仮想記憶管理方法に含まれる各ステップをコンピュータに実行させる。
本発明によれば、システムを停止させずに、動的リンク制御を円滑に行うことができる。
実施形態における仮想記憶管理装置の構成を例示するブロック図である。 実施形態における仮想記憶管理装置の機能構成を例示するブロック図である。 主LMのロード要求を受信した場合の動作を説明するためのフローチャートである。 副LMの動的リンク要求を受信した場合の動作を説明するためのフローチャートである。
以下、添付図面を参照して、本発明に係る仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラムの好適な実施形態について説明する。本発明に係る仮想記憶管理装置は、セグメンテーション方式の仮想記憶管理を行うコンピュータ装置である。
まず、図1を参照して、実施形態における仮想記憶管理装置の構成について説明する。仮想記憶管理装置1は、物理的には、例えば、CPU(Central Processing Unit)やメモリを含むコンピュータ5と、二次記憶装置6、7とを含んで構成される。メモリには、例えば、CPUで処理されるプログラムやデータを記憶するROM(Read Only Memory)や、主として制御処理のための各種作業領域として使用されるRAM(Random Access Memory)等が含まれる。二次記憶装置6は、主LMを格納し、二次記憶装置7は、副LMを格納する。主LMは、副LMに動的リンクを要求するプログラムであり、副LMは、主LMから動的リンクが要求されるプログラムである。これらの要素は、互いにバスを介して接続されている。CPUが、ROMに記憶されたプログラムを実行し、RAMに展開されたデータを処理することで、後述する仮想記憶管理装置1における各種機能を実現することができる。
コンピュータ5は、システム全体の仮想記憶空間51と、主LMによるプロセスごとの仮想記憶空間52とを形成する。各仮想記憶空間51、52は、システム領域55と、プロセス群領域56と、プロセス領域57とにそれぞれ区分される。システム領域55は、各仮想記憶空間51、52に共通して割り当てられるモジュール(例えばカーネルモジュール)のセグメントを格納する領域である。プロセス群領域56は、複数の仮想記憶空間52に共通して割り当てられる主LMやその主LMに呼び出される副LMのセグメントを格納する領域である。プロセス領域57は、単一の仮想記憶空間52に割り当てられる主LMやその主LMに呼び出される副LMのセグメントを格納する領域である。
図2を参照して、実施形態における仮想記憶管理装置の機能構成について説明する。仮想記憶管理装置1は、例えば、主LM実行部2と副LM実行部3とを有する。以下に、各部の機能について説明する。
主LM実行部2は、主LMのロード要求を受信した場合に、主LMをローディングし、仮想記憶空間52のうち、プロセス群領域56またはプロセス領域57のいずれかの領域内に、主LMを割り当てて実行する。主LMのロード要求は、例えば、オペレータの操作指示に従って発行される。
主LM実行部2は、マップ生成部21と、仮想記憶空間割当部22と、セグメント読込部23とを含む。
マップ生成部21は、システムの仮想記憶空間マップに従って、主LMのプロセスごとに仮想記憶空間マップを生成する。
仮想記憶空間割当部22は、使用するセグメントに関する情報を主LMから取得し、マップ生成部21により生成された仮想記憶空間マップに従って、主LMが使用するセグメントを仮想記憶空間52に割り当てる。
セグメント読込部23は、二次記憶装置6から主LMのセグメントを読み込む。
副LM実行部3は、主LMから動的リンク要求を受信した場合に、使用するセグメントに関する情報を副LMから取得し、主LMが割り当てられているプロセス群領域56またはプロセス領域57と同一の領域(以下、「主LMと同一の領域」という。)内に、副LMを割り当てて動的リンクを実行する。
副LM実行部3は、判定部31と、動的リンク実行部32と、アボート部33と、通知部34とを含む。さらに、動的リンク実行部32は、マップ再生成部321と、仮想記憶空間割当部322と、セグメント読込部323とを含む。
判定部31は、使用するセグメントに関する情報を副LMから取得し、主LMと同一の領域内に、副LMを割り当て可能な空きセグメントが存在するか否かを判定する。
判定部31は、主LMと同一の領域内に副LMを割り当て可能な空きセグメントが存在しない場合に、さらに、仮想記憶空間52内の領域であって主LMと同一の領域以外の領域(以下、「主LMと異なる領域」という。)内に、副LMを割り当て可能な空きセグメントが存在するか否かを判定する。
マップ再生成部321は、主LMと異なる領域内に副LMを割り当て可能な空きセグメントが存在する場合に、仮想記憶空間マップを再生成する。具体的に、マップ再生成部321は、空きセグメントが存在する主LMと異なる領域を縮小し、主LMと同一の領域を拡大させるように、それぞれの領域に対応する仮想記憶空間のマッピングを変更することで、仮想記憶空間マップを再生成する。マッピングを変更する際には、例えば、図1に示すように、仮想空間51、52の各領域55、56、57間の境界を移動させるようにして変更することができる。
仮想記憶空間割当部322は、主LMと同一の領域内に、副LMが使用するセグメントを割り当てる。
セグメント読込部323は、二次記憶装置7から副LMのセグメントを読み込む。
アボート部33は、全ての仮想記憶空間52上に副LMを割り当て可能な空きセグメントが存在しない場合に、プログラムをアボートする。
通知部34は、仮想記憶空間マップが再生成された場合に、マッピングを変更して動的リンクを実行する旨をオペレータに通知する。オペレータへの通知は、例えば、メッセージの送信や、警告音による報知等で行うことができる。
次に、実施形態における仮想記憶管理装置の動作について説明する。図3を参照して、主LMのロード要求を受信した場合の動作について説明する。
最初に、主LMのロード要求を受信した場合に、マップ生成部21は、システムの仮想記憶空間マップに従って、主LMのプロセスごとの仮想記憶空間マップを生成する(ステップS101)。
続いて、仮想記憶空間割当部22は、使用するセグメントに関する情報を主LMから取得し、上記ステップS101で生成した仮想記憶空間マップに従って、主LMが使用するセグメントを仮想記憶空間52に割り当てる(ステップS102)。
続いて、セグメント読込部23は、二次記憶装置6から主LMのセグメントを読み込む(ステップS103)。そして、本動作を終了する。
図4を参照して、副LMの動的リンク要求を受信した場合の動作について説明する。
最初に、動的リンク要求を主LMから受信した場合に、判定部31は、使用するセグメントに関する情報を副LMから取得し(ステップS201)、主LMと同一の領域内に、副LMを割り当て可能な空きセグメントが存在するか否かを判定する(ステップS202)。
この判定がYESである場合(ステップS202;YES)に、仮想記憶空間割当部322は、主LMと同一の領域内に、副LMが使用するセグメントを割り当てる(ステップS206)。
続いて、セグメント読込部323は、二次記憶装置7から副LMのセグメントを読み込む(ステップS207)。そして、本動作を終了する。
一方、上記ステップS202の判定において、主LMと同一の領域内に、副LMを割り当て可能な空きセグメントが存在しないと判定した場合(ステップS202;NO)に、判定部31は、主LMと異なる領域内に、副LMを割り当て可能な空きセグメントが存在するか否かを判定する(ステップS203)。
この判定がYESである場合(ステップS203;YES)に、マップ再生成部321は、空きセグメントを有する主LMと異なる領域を縮小し、主LMと同一の領域を拡大させるように、それぞれの領域に対応する仮想記憶空間のマッピングを変更することで、仮想記憶空間マップを再生成する(ステップS204)。
続いて、通知部34は、マッピングを変更して動的リンクを実行する旨をオペレータに通知する(ステップS205)。
続いて、仮想記憶空間割当部322は、主LMと同一の領域内に、副LMが使用するセグメントを割り当てる(ステップS206)。
続いて、セグメント読込部323は、二次記憶装置7から副LMのセグメントを読み込む(ステップS207)。そして、本動作を終了する。
一方、上記ステップS203の判定において、主LMと異なる領域内に副LMを割り当て可能な空きセグメントが存在しないと判定された場合(ステップS203;NO)に、アボート部33は、プログラムをアボートする(ステップS208)。そして、本動作を終了する。
上述したように、実施形態における仮想記憶管理装置1によれば、主LMが動的リンクを要求した場合に、主LMと同一の領域に副LMを割り当て可能な空きセグメントが存在するか否かを判定することができ、主LMと同一の領域に副LMを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する主LMと異なる領域を縮小し、主LMと同一の領域を拡大させるように仮想記憶空間のマッピングを変更してから動的リンクを実行することができる。
これにより、動的リンクを実行するときに、主LMと同一の領域内に動的リンクに必要な空きセグメントが存在しない場合であっても、仮想記憶空間上に動的リンクに必要な空きセグメントが存在すれば、動的リンクを実行することができる。それゆえに、システムを停止させずに、動的リンク制御を円滑に行うことが可能となる。
また、上述した実施形態における仮想記憶管理装置1によれば、主LMと同一の領域に副LMを割り当て可能な空きセグメントが存在しない場合に、マッピングを変更してから動的リンクを実行することをオペレータに通知することができる。
これにより、主LMに対応する仮想記憶空間内に空きセグメントを生成することができなくなる前に、対策を講じることが可能となる。
[変形例]
なお、上述した実施形態は、単なる例示に過ぎず、実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
例えば、上述した実施形態の一部または全部は、以下の付記のようにも記載され得るが、本発明を以下に限定するものではない。
(付記1) セグメンテーション方式の仮想記憶管理を行う仮想記憶管理装置であって、副ロードモジュールに動的リンクを要求する主ロードモジュールを、複数の領域に区分された仮想記憶空間のうちの一つの領域の空きセグメントに割り当てて実行する主ロードモジュール実行部と、前記主ロードモジュールが前記動的リンクを要求した場合に、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在するか否かを判定する判定部と、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する他の領域を縮小し、前記一つの領域を拡大させるように仮想記憶空間のマッピングを変更してから前記動的リンクを実行する動的リンク実行部と、を備えることを特徴とする仮想記憶管理装置。
(付記2) 前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、前記マッピングを変更してから前記動的リンクを実行することを通知する通知部を、さらに備えることを特徴とする付記1記載の仮想記憶管理装置。
(付記3) セグメンテーション方式の仮想記憶管理を行う仮想記憶管理装置を制御する仮想記憶管理方法であって、副ロードモジュールに動的リンクを要求する主ロードモジュールを、複数の領域に区分された仮想記憶空間のうちの一つの領域の空きセグメントに割り当てて実行する主ロードモジュール実行ステップと、前記主ロードモジュールが前記動的リンクを要求した場合に、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在するか否かを判定する判定ステップと、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する他の領域を縮小し、前記一つの領域を拡大させるように仮想記憶空間のマッピングを変更してから前記動的リンクを実行する動的リンク実行ステップと、を含むことを特徴とする仮想記憶管理方法。
(付記4) 付記3に記載の各ステップをコンピュータに実行させるための仮想記憶管理プログラム。
1…仮想記憶管理装置、2…主LM実行部、3…副LM実行部、5…コンピュータ、6、7…二次記憶装置、21…マップ生成部、22…仮想記憶空間割当部、23…セグメント読込部、31…判定部、32…動的リンク実行部、33…アボート部、34…通知部、51、52…仮想記憶空間、55…システム領域、56…プロセス群領域、57…プロセス領域、321…マップ再生成部、322…仮想記憶空間割当部、323…セグメント読込部。

Claims (4)

  1. セグメンテーション方式の仮想記憶管理を行う仮想記憶管理装置であって、
    副ロードモジュールに動的リンクを要求する主ロードモジュールを、複数の領域に区分された仮想記憶空間のうちの一つの領域の空きセグメントに割り当てて実行する主ロードモジュール実行部と、
    前記主ロードモジュールが前記動的リンクを要求した場合に、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在するか否かを判定する判定部と、
    前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する他の領域を縮小し、前記一つの領域を拡大させるように仮想記憶空間のマッピングを変更してから前記動的リンクを実行する動的リンク実行部と、
    を備えることを特徴とする仮想記憶管理装置。
  2. 前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、前記マッピングを変更してから前記動的リンクを実行することを通知する通知部を、
    さらに備えることを特徴とする請求項1記載の仮想記憶管理装置。
  3. セグメンテーション方式の仮想記憶管理を行う仮想記憶管理装置を制御する仮想記憶管理方法であって、
    副ロードモジュールに動的リンクを要求する主ロードモジュールを、複数の領域に区分された仮想記憶空間のうちの一つの領域の空きセグメントに割り当てて実行する主ロードモジュール実行ステップと、
    前記主ロードモジュールが前記動的リンクを要求した場合に、前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在するか否かを判定する判定ステップと、
    前記一つの領域に前記副ロードモジュールを割り当て可能な空きセグメントが存在しない場合に、空きセグメントを有する他の領域を縮小し、前記一つの領域を拡大させるように仮想記憶空間のマッピングを変更してから前記動的リンクを実行する動的リンク実行ステップと、
    を含むことを特徴とする仮想記憶管理方法。
  4. 請求項3に記載の各ステップをコンピュータに実行させるための仮想記憶管理プログラム。
JP2010284615A 2010-12-21 2010-12-21 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム Expired - Fee Related JP5561147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010284615A JP5561147B2 (ja) 2010-12-21 2010-12-21 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010284615A JP5561147B2 (ja) 2010-12-21 2010-12-21 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム

Publications (2)

Publication Number Publication Date
JP2012133550A JP2012133550A (ja) 2012-07-12
JP5561147B2 true JP5561147B2 (ja) 2014-07-30

Family

ID=46649084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010284615A Expired - Fee Related JP5561147B2 (ja) 2010-12-21 2010-12-21 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム

Country Status (1)

Country Link
JP (1) JP5561147B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6364146A (ja) * 1986-09-04 1988-03-22 Fujitsu Ltd 論理空間管理方式
JPH06180665A (ja) * 1992-12-14 1994-06-28 Mitsubishi Electric Corp メモリ管理装置
JPH07182239A (ja) * 1993-12-24 1995-07-21 Nec Corp セグメント分割管理システム
JP2000181644A (ja) * 1998-12-14 2000-06-30 Seiko Epson Corp 画像処理装置、その制御方法、印刷装置および記録媒体
JP4001531B2 (ja) * 2001-09-21 2007-10-31 株式会社リコー 画像形成装置
JP2003297088A (ja) * 2002-03-28 2003-10-17 Seiko Epson Corp 半導体記憶装置
JP2004078790A (ja) * 2002-08-22 2004-03-11 Hitachi Ltd 命令トレース出力方法
JP2005301801A (ja) * 2004-04-14 2005-10-27 Nec Corp 情報処理装置、メモリ管理装置、およびプログラム

Also Published As

Publication number Publication date
JP2012133550A (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
KR20140102679A (ko) 순차적인 순서의 스왑 파일을 이용한 작업 세트 스와핑 기법
WO2016063482A1 (ja) アクセラレータ制御装置、アクセラレータ制御方法およびプログラム記憶媒体
CN104461735A (zh) 一种虚拟化场景下分配cpu资源的方法和装置
CN103049328A (zh) 计算机系统中内存资源分配方法
US20080244118A1 (en) Method and apparatus for sharing buffers
JP2016001417A (ja) 計算機システム
US9684525B2 (en) Apparatus for configuring operating system and method therefor
CN113535087A (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
EP2808798B1 (en) Memory management apparatus and process for moving, expanding or writing of a virtual area
JP5561147B2 (ja) 仮想記憶管理装置、仮想記憶管理方法および仮想記憶管理プログラム
CN111400032A (zh) 一种资源分配的方法及装置
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
JP5471677B2 (ja) 仮想ディスク制御システム、方法及びプログラム
JP2011039790A (ja) 仮想マシンイメージ転送装置及び方法及びプログラム
JP7080698B2 (ja) 情報処理装置
JP2014109938A (ja) プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム
JP3726701B2 (ja) カーネル空間のデマンドページング・スワップアウト方式および方法
JP7087150B1 (ja) メモリ制御システム
KR102640996B1 (ko) 부모-자식 관계 기반 메모리 재사용을 위한 메모리 할당 장치 및 방법
JP2009163646A (ja) パーティション構成方法
JP6567959B2 (ja) 情報処理装置、拡張記憶制御方法および拡張記憶制御プログラム
JP6438381B2 (ja) 電子制御装置
JP5664348B2 (ja) 仮想マシンシステム、仮想マシンサーバ、仮想マシン運用方法、及び仮想マシン運用プログラム
JP2011257973A (ja) メモリ管理方法及びメモリ管理装置
JP6358330B2 (ja) 情報処理装置、情報処理システム、メモリ管理方法およびメモリ管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140430

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140526

R150 Certificate of patent or registration of utility model

Ref document number: 5561147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees