JP3444346B2 - 仮想メモリ管理方式 - Google Patents

仮想メモリ管理方式

Info

Publication number
JP3444346B2
JP3444346B2 JP00010399A JP10399A JP3444346B2 JP 3444346 B2 JP3444346 B2 JP 3444346B2 JP 00010399 A JP00010399 A JP 00010399A JP 10399 A JP10399 A JP 10399A JP 3444346 B2 JP3444346 B2 JP 3444346B2
Authority
JP
Japan
Prior art keywords
swap
page
task
memory area
memory
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
JP00010399A
Other languages
English (en)
Other versions
JP2000200219A (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 JP00010399A priority Critical patent/JP3444346B2/ja
Priority to US09/477,359 priority patent/US6473842B1/en
Publication of JP2000200219A publication Critical patent/JP2000200219A/ja
Application granted granted Critical
Publication of JP3444346B2 publication Critical patent/JP3444346B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • G06F12/12Replacement control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、仮想メモリシステ
ムにおいて主記憶装置内の物理メモリ領域,仮想メモリ
空間上のセグメント,および補助記憶装置内のスワップ
ファイル(以下、これら三者を総称して「メモリ領域」
と呼ぶことがある)に関するスワップアウト/スワップ
インの管理を行う仮想メモリ管理方式に関する。
【0002】
【従来の技術】従来、この種の仮想メモリ管理方式で
は、仮想メモリシステムにおいてスワップアウトの必要
が生じた場合には、ページ単位でのスワップアウトが行
われていた。
【0003】ここで、従来の仮想メモリ管理方式では、
そのようなページ単位でのスワップアウトが行われるに
際して、ページのスワップアウトおよびスワップインを
効果的に行うために、一般的には、使用中のページをL
RU(Least Recently Used)等の
アルゴリズムでスワップアウトする方法が採用されてい
た。
【0004】
【発明が解決しようとする課題】上述した従来の仮想メ
モリ管理方式には、以下に示すような問題点があった。
【0005】第1の問題点は、ページ単位でLRU等の
アルゴリズムによってスワップアウトが行われるので、
長時間使用されなくなってページデータ(ページ内のデ
ータ)が古くなってはじめて当該ページデータを有する
ページのスワップアウトが実行されるため、実際にはタ
スクで使用されなくなったページであっても、そのペー
ジがスワップアウトされるまでにある程度の保持時間が
存在するということである。すなわち、仮想メモリシス
テムにおけるメモリ管理が時間的に非効率的になるとい
う問題点があった。
【0006】第2の問題点は、大容量(大きなメモリサ
イズ)のメモリ領域の確保がタスクによって要求された
場合であっても、ページ単位でスワップアウトが行われ
て当該メモリ領域が確保されるので、当該メモリ領域の
確保のためにページのスワップアウトを繰り返す必要が
生じる(このような場合には、一般的に、タスク単位で
一括してページ群のスワップアウトを行う方が効率的で
ある)ということである。すなわち、仮想メモリシステ
ムにおけるメモリ管理が空間的に非効率的になるという
問題点があった。
【0007】本発明の目的は、上述の点に鑑み、ページ
単位でのスワップアウトとタスク単位でのスワップアウ
ト(タスク毎の一括したスワップアウト)とを組み合わ
せることによって、時間的および空間的に効率的な仮想
メモリシステムにおけるメモリ管理を可能にする仮想メ
モリ管理方式を提供することにある。
【0008】なお、本発明に対する従来技術に関する特
許公報としては、特開平3−25645号公報,特開平
3−174637号公報,および特開平6−89221
号公報がある。
【0009】特開平3−25645号公報に係る技術
(仮想空間のスワッピング方式)は、多重の仮想空間を
有し、この仮想空間をセグメントとこのセグメントを細
分化したページとで管理する情報処理システムにおい
て、セグメント毎に参照ページ(当該セグメント中で参
照されたページ)の数をカウントし、参照ページの数の
多いセグメントから優先してスワップインし、全体のス
ワップインページ数を制限するようにしたことを特徴と
するものである。この技術は、スワップアウト/スワッ
プインの効率的な制御を目的とする点では本発明と共通
している。しかし、当該技術は、参照ページのカウント
に基づくスワップインページ数の削減によりスワッピン
グの効率化を図っている点で、「ページ単位でのスワッ
プアウトとタスク単位でのスワップアウトとの併存」に
よってスワッピングの効率化を図る本発明とは、その着
眼点および構成を全く異にしている。
【0010】また、特開平3−174637号公報に係
る技術(仮想記憶制御方法およびその装置)は、スワッ
プインする際に補助記憶装置に一度記録したページが消
去されないようにすることによってスワップアウトの際
に当該ページの使用領域を再利用することを可能にした
ものである。この技術も、スワップアウト/スワップイ
ンの効率的な制御を目的とする点では本発明と共通して
いる。しかし、当該技術は、スワップアウトする場合に
補助記憶装置の領域が再利用可能か否かを判断し、その
都度、領域の再利用を行うべきか新規確保を行うべきか
を判断するものであり、「ページ単位でのスワップアウ
トとタスク単位でのスワップアウトとの併存」によって
スワッピングの効率化を図る本発明とは、その着眼点お
よび構成を全く異にしている。なお、本発明では、タス
クからメモリ領域確保要求があった場合に物理メモリ領
域の確保と同時に補助記憶装置内の領域(スワップファ
イル)が一対一で確保されるため、上記の公報に係る技
術におけるように補助記憶装置の領域を再利用するか否
かを判断する必要がない。
【0011】さらに、特開平6−89221号公報に係
る技術(コンピュータ・システムにおけるメモリ管理方
法及び装置)は、ページアウトすべきページの選択にお
いてベクトル化された履歴情報(スワップベクトルに記
録された情報)を基に判断を行うものである。この技術
も、スワップアウト/スワップインの効率的な制御を目
的とする点では本発明と共通している。しかし、当該技
術は、ページアウトすべきページの適切な選択によって
当該効率化を図るものであり、「ページ単位でのスワッ
プアウトとタスク単位でのスワップアウトとの併存」に
よってスワッピングの効率化を図る本発明とは、その着
眼点および構成を全く異にしている。
【0012】なお、上記の従来技術群は上述のようにそ
れぞれ本発明とは構成を全く異にしており、当該従来技
術群を組み合わせたとしても、本発明の技術思想に至ら
ないことはいうまでもない。
【0013】
【課題を解決するための手段】本発明の仮想メモリ管理
方式は、仮想メモリシステムにおいて、各ページについ
て、ページタグ,更新ビット,およびコピービットとい
う項目を備えるスワップ管理テーブルと、タスクからの
メモリ領域確保要求に基づき、当該メモリ領域確保要求
に対応する前記スワップ管理テーブルの作成・管理を行
い、当該メモリ領域確保要求に対する主記憶装置内の物
理メモリ領域,仮想メモリ空間上のセグメント,および
補助記憶装置内のスワップファイルを確保し、当該メモ
リ領域の確保を反映させて前記スワップ管理テーブルに
情報を設定するメモリ領域確保手段と、スワップアウト
が必要になった場合にページ単位でのスワップアウトを
行うべきかタスク単位での一括したスワップアウトを行
うべきかの判断(「スワップアウトの契機となったメモ
リ領域確保要求の要求対象のメモリ領域のメモリサイズ
が基準値よりも大きい場合にはタスク単位でのスワップ
アウトを行うという判断」)を行い、その判断に基づい
てスワップアウトを制御・実行し、スワップアウトの対
象となったページが補助記憶装置内のスワップファイル
にコピーされたことを示す情報を前記スワップ管理テー
ブル中の当該ページに対するコピービットに設定するス
ワップアウト制御手段と、ページ内のデータが更新され
た場合に当該ページの更新を示す情報を前記スワップ管
理テーブル中の当該ページに対する更新ビットに設定す
るメモリ書込み管理手段と、前記スワップアウト制御手
段の制御によってタスク単位での一括したスワップアウ
トが行われる場合に、前記スワップ管理テーブル内の更
新ビットおよびコピービットに基づいて「更新されてお
らずコピーされているページ」のスワップアウトを行わ
ないように制御するスワップアウト対象限定手段とを有
する。
【0014】なお、より一般的には、本発明の仮想メモ
リ管理方式は、仮想メモリシステムにおいて、タスクか
らのメモリ領域確保要求に基づき、主記憶装置内の物理
メモリ領域,仮想メモリ空間上のセグメント,および補
助記憶装置内のスワップファイルを確保するメモリ領域
確保手段と、スワップアウトが必要になった場合にペー
ジ単位でのスワップアウトを行うべきかタスク単位での
一括したスワップアウトを行うべきかの判断(「スワッ
プアウトの契機となったメモリ領域確保要求の要求対象
のメモリ領域のメモリサイズが基準値よりも大きい場合
にはタスク単位でのスワップアウトを行うという判断」
等)を行い、その判断に基づいてスワップアウトの制御
(例えば、ページ単位でのスワップアウトを行うべきで
あると判断した場合にLRUのアルゴリズムでスワップ
アウト対象のページを選択し、タスク単位でのスワップ
アウトを行うべきであると判断した場合に使用するペー
ジ群についての平均的なLRUのアルゴリズムでスワッ
プアウト対象のタスクを選択する制御)・実行を行うス
ワップアウト制御手段とを有する構成であると表現する
ことができる。
【0015】また、本発明の仮想メモリ管理方式は、仮
想メモリシステムにおけるコンピュータを、タスクから
のメモリ領域確保要求に基づき、主記憶装置内の物理メ
モリ領域,仮想メモリ空間上のセグメント,および補助
記憶装置内のスワップファイルを確保するメモリ領域確
保手段,ならびにスワップアウトが必要になった場合に
ページ単位でのスワップアウトを行うべきかタスク単位
での一括したスワップアウトを行うべきかを判断し、そ
の判断に基づいてスワップアウトを制御・実行するスワ
ップアウト制御手段として機能させるためのプログラム
を記録した記録媒体としても実現することができる。
【0016】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0017】(1) 第1の実施の形態 図1は、本発明の第1の実施の形態に係る仮想メモリ管
理方式の構成を示すブロック図である。
【0018】本実施の形態に係る仮想メモリ管理方式
は、1以上のタスク(タスク100を含む)からなるタ
スク群10と、1以上のセグメント200を含む仮想メ
モリ空間20と、タスク群10中のタスクからのメモリ
領域確保要求に対応して作成される1以上のスワップ管
理テーブル30およびセグメント200に対応する物理
メモリ領域400を含む主記憶装置40と、セグメント
200や物理メモリ領域400に対応するスワップファ
イル500(スワップアウトによってセグメント200
(物理メモリ領域400)の内容(ページデータ)を補
助記憶装置50上に格納するためのファイル)を含む補
助記憶装置50と、メモリ書込み管理手段60と、仮想
メモリ管理手段70とを含んで構成されている。
【0019】スワップ管理テーブル30は、メモリ領域
確保要求を発行したタスクによって使用されているセグ
メント200の各ページについてスワップアウトに関す
る情報を管理するテーブルである。このスワップ管理テ
ーブル30は、各ページに対して、ページアドレスを記
憶するページタグ31と、当該ページの更新情報(更新
されていないことを示す「未更新」または更新されてい
ることを示す「更新済み」)を有する更新ビット32
と、補助記憶装置50に当該ページのコピーが存在する
か否かを示す情報(コピーが存在することを示す「コピ
ー済み」またはコピーが存在しないことを示す「未コピ
ー」)を有するコピービット33とを保持している。
【0020】メモリ書込み管理手段60は、セグメント
200のページ内のデータ(ページデータ)が更新され
る時に、当該ページに対するスワップ管理テーブル30
内の更新ビット32を「更新済み」に設定する。
【0021】仮想メモリ管理手段70は、スワップ管理
テーブル30,セグメント200,物理メモリ領域40
0,およびスワップファイル500を管理する。この仮
想メモリ管理手段70は、メモリ領域確保手段71と、
スワップアウト制御手段72と、スワップアウト対象限
定手段73とを含んで構成されている。
【0022】図2は、本実施の形態に係る仮想メモリ管
理方式のメモリ領域確保要求時における処理を示す流れ
図である。この処理は、メモリ領域確保要求受取りステ
ップ201と、スワップ管理テーブル作成ステップ20
2と、メモリ領域確保ステップ203と、スワップ管理
テーブル情報設定ステップ204とからなる。
【0023】図3は、本実施の形態に係る仮想メモリ管
理方式のページデータ書込み時における処理を示す流れ
図である。この処理は、ページデータ書込み認識ステッ
プ301と、更新ビット「更新済み」設定ステップ30
2とからなる。
【0024】図4は、本実施の形態に係る仮想メモリ管
理方式のスワップアウト処理時における処理を示す流れ
図である。この処理は、スワップアウト必要性認識ステ
ップ401と、ページ単位スワップアウト/タスク単位
スワップアウト判定ステップ402と、スワップアウト
対象ページ選択ステップ403と、ページスワップアウ
トステップ404と、コピービット「コピー済み」設定
ステップ405と、更新ビット「未更新」設定ステップ
406と、ページ解放ステップ407と、スワップアウ
ト対象タスク選択ステップ408と、タスク係属ページ
群スワップアウトステップ409と、コピービット群
「コピー済み」設定ステップ410と、更新ビット群
「未更新」設定ステップ411と、ページ群解放ステッ
プ412とからなる。
【0025】次に、このように構成された本実施の形態
に係る仮想メモリ管理方式の全体の動作について詳細に
説明する。
【0026】第1に、メモリ領域確保要求時の動作につ
いて説明する(図2参照)。すなわち、新たなメモリ領
域確保要求に基づく、メモリ領域(主記憶装置40内の
物理メモリ領域400,仮想メモリ空間20上のセグメ
ント200,および補助記憶装置50内のスワップファ
イル500)の確保および主記憶装置40内のスワップ
管理テーブル30の作成に関する動作について説明す
る。
【0027】タスク群10の中の任意のタスク(タスク
100とする)は、処理の過程において、メモリ領域確
保要求を発行する。
【0028】仮想メモリ管理手段70内のメモリ領域確
保手段71は、タスク100からのメモリ領域確保要求
を受け取り(ステップ201)、次のような処理を行
う。
【0029】まず、メモリ領域確保手段71は、当該メ
モリ領域確保要求に対応するスワップ管理テーブル30
を作成する(ステップ202)。すなわち、タスク10
0が使用するメモリ領域を管理するために、各ページに
対するページタグ31,更新ビット32,およびコピー
ビット33の各項目を有するスワップ管理テーブル30
を作成する。
【0030】なお、メモリ領域確保手段71は、どのス
ワップ管理テーブル30がどのタスクに対応するもので
あるかを示す情報(当該タスクの識別情報と当該スワッ
プ管理テーブル30の先頭アドレスとの対応情報等)を
保持・管理する。このような管理によって、特定のタス
クに対するスワップ管理テーブル30の検索が可能にな
るとともに、もし同一のタスクから複数のメモリ領域確
保要求が発行された場合には、2回目以降のメモリ領域
確保要求に関しては初回のメモリ領域確保要求によって
作成されたスワップ管理テーブル30に対する情報の追
加によって対処することが可能になる。
【0031】また、メモリ領域確保手段71は、当該メ
モリ領域確保要求に対して、仮想メモリ空間20上にセ
グメント200を論理的に設定し、主記憶装置40内に
物理メモリ領域400を確保し、補助記憶装置50にス
ワップファイル500を確保する(ステップ203)。
なお、上記の物理メモリ領域400を確保するための空
き領域が主記憶装置40上に存在しない場合には、後述
のようなスワップアウト処理が行われて空き領域が確保
される。
【0032】次に、メモリ領域確保手段71は、ステッ
プ203における「メモリ領域の確保」を反映させて、
ステップ202で作成したスワップ管理テーブル30へ
の情報の設定を行う(スワップ204)。すなわち、確
保されたセグメント200の各ページのページアドレス
を当該各ページに対応するエントリ中のページタグ31
に設定する。また、各ページに対する更新ビット32に
は「未更新」を設定し、各ページに対するコピービット
33には「未コピー」を設定する。
【0033】第2に、ページに対するデータの書込み処
理に関する動作について説明する(図3参照)。
【0034】タスク群10内の任意のタスク(タスク1
00とする)は、上記のようにして確保したメモリ領域
の特定のページに対して必要に応じてデータの書込み処
理を行う。ここでは、このような書込み処理が行われた
場合における本実施の形態に係る仮想メモリ管理方式の
動作を考える。
【0035】この場合に、メモリ書込み管理手段60
は、タスク100がセグメント200の当該ページにデ
ータの書込みを行ったことを認識し(ステップ30
1)、当該ページに対応するスワップ管理テーブル30
内のエントリ中の更新ビット32に「更新済み」を設定
する(ステップ302)。
【0036】第3に、スワップアウト処理に関する動作
について説明する(図4参照)。
【0037】タスク群10内の任意のタスクからの新た
なメモリ領域確保要求によってメモリ領域が確保される
際(上記の「メモリ領域確保要求時の動作」を参照)
に、主記憶装置40に当該メモリ領域確保要求に対する
物理メモリ領域400の空き領域が存在しない場合に
は、スワップアウトの必要が生じる。ここでは、このよ
うなスワップアウトの必要が生じた場合における本実施
の形態に係る仮想メモリ管理方式の動作を考える。
【0038】この場合に、仮想メモリ管理手段70内の
スワップアウト制御手段72は、そのようなスワップア
ウトの必要性を認識し(ステップ401)、ページ単位
のスワップアウトを行うべきかタスク単位の一括したス
ワップアウトを行うべきかを判定する(ステップ40
2)。ここで、このステップ402の判定における判断
の基準としては、「当該メモリ領域確保要求における要
求対象のメモリ領域のメモリサイズ(要求サイズ)の大
小」が最も一般的である。
【0039】スワップアウト制御手段72は、ステップ
402で「ページ単位のスワップアウトを行うべきであ
る」と判定した場合(例えば、要求サイズが判断基準で
ある際に、当該メモリ領域確保要求に係る要求サイズが
あらかじめ与えられている一定の基準値以下である場
合)には、スワップアウトの対象のページを一定のアル
ゴリズム(LRUのアルゴリズム等)によって選択し
(ステップ403)、当該ページについてのスワップア
ウトを行う(当該ページのページデータを補助記憶装置
50内のスワップファイル500に格納する)(ステッ
プ404)。
【0040】さらに、スワップアウト制御手段72は、
上記のページ単位のスワップアウトにより補助記憶装置
50内のスワップファイル500に当該ページデータの
コピーが作成された時に、スワップ管理テーブル30内
の当該ページ(スワップアウトの対象となったページ)
に対応するエントリ中のコピービット33に「コピー済
み」を設定し(ステップ405)、当該エントリ中の更
新ビット32を「未更新」に変更し(ステップ40
6)、当該ページを解放する(ステップ407)。
【0041】一方、スワップアウト制御手段72は、ス
テップ402で「タスク単位のスワップアウトを行うべ
きである」と判定した場合(例えば、要求サイズが判断
基準である際に、当該メモリ領域確保要求に係る要求サ
イズが一定の基準値よりも大きい場合)には、一定のア
ルゴリズムでスワップアウトの対象となるタスクを選択
し(ステップ408)、当該タスクに係るページ群(セ
グメント200)についてのスワップアウトを行う(当
該ページ群のページデータを補助記憶装置50内のスワ
ップファイル500に格納する)(ステップ409)。
【0042】さらに、スワップアウト制御手段72は、
上記のタスク単位のスワップアウトの対象となったペー
ジ群に対応するスワップ管理テーブル30内のコピービ
ット33群に「コピー済み」を設定し(ステップ41
0)、当該スワップ管理テーブル30内の更新ビット3
2群を「未更新」に変更し(ステップ411)、当該ペ
ージ群を解放する(ステップ412)。
【0043】ここで、ステップ408における「スワッ
プアウト対象のタスクの選択」は、例えば、各タスクに
よって使用されるページ群(使用ページ群)についての
平均的なLRUのアルゴリズムによって行われる。すな
わち、各タスクに関する全ページについてそれぞれLR
Uのアルゴリズムに基づく評価が行われ、タスク毎に各
ページに関する当該評価の平均値が求められ、当該平均
値によって「対応するページ群が最長時間未使用であ
る」と判定されたタスクを「スワップアウト対象のタス
ク」として選択する方法等が採用される。
【0044】また、この時に、各タスクが現在使用(占
有)している物理メモリサイズ(物理メモリ領域400
のサイズ)を選択基準(スワップアウト対象のタスクの
選択基準)に加えることによって、選択されたタスクが
スワップアウトされた時に解放される物理メモリ量が大
きいタスクを優先して選択するようにできる。
【0045】なお、スワップアウト対象限定手段73
は、スワップアウト制御手段72によって「タスク単位
でのスワップアウト」が行われる場合に、スワップ管理
テーブル30の更新ビット32が「更新済み」であるエ
ントリに対応するページまたはコピービット33が「未
コピー」であるエントリに対応するページのみがスワッ
プアウトの対象となるような制御(「更新されておらず
コピーされているページ」のスワップアウトを実行しな
いようにする制御)を行う。これは、「更新されておら
ずコピーされているページ」は既にスワップファイル5
00に記録されているため、これらのスワップアウトを
実行する無駄を省くようにすることが望ましいからであ
る。
【0046】仮想メモリ管理手段70内のスワップアウ
ト制御手段72は、タスクからのメモリ領域確保要求に
係る要求サイズを確保できるまで、同様に、ステップ4
01からのスワップアウト処理を繰り返す。
【0047】(2) 第2の実施の形態 図5は、本発明の第2の実施の形態に係る仮想メモリ管
理方式の構成を示すブロック図である。
【0048】図5を参照すると、本発明の第2の実施の
形態に係る仮想メモリ管理方式は、図1に示した第1の
実施の形態に係る仮想メモリ管理方式に対して、仮想メ
モリ管理プログラムを記録した記録媒体80を備える点
が異なっている。この記録媒体80は、磁気ディスク,
半導体メモリ,その他の記録媒体であってよい。
【0049】仮想メモリ管理プログラムは、記録媒体8
0からコンピュータ1000(スワップファイル500
を有する補助記憶装置50を接続し、スワップ管理テー
ブル30および物理メモリ領域400を有する主記憶装
置40を含み、セグメント200を有する仮想メモリ空
間20を論理的に保持し、タスク群10が実行されるコ
ンピュータ)に読み込まれ、当該コンピュータ1000
の動作をメモリ書込み管理手段60および仮想メモリ管
理手段70(メモリ領域確保手段71,スワップアウト
制御手段72,およびスワップアウト対象限定手段73
を有する仮想メモリ管理手段70)として制御する。仮
想メモリ管理プログラムの制御によるコンピュータ10
00の動作は、第1の実施の形態におけるメモリ書込み
管理手段60および仮想メモリ管理手段70(メモリ領
域確保手段71,スワップアウト制御手段72,および
スワップアウト対象限定手段73)の動作と全く同様に
なるので、その詳しい説明を割愛する。
【0050】
【発明の効果】以上説明したように、本発明では、以下
に示すような効果が生じる。
【0051】第1の効果は、仮想メモリシステムにおい
て、タスクで使用されるメモリ領域の確保および管理を
効率的に実行することができるということである。
【0052】このような効果が生じる理由は、ページ単
位でのスワップアウトとタスク単位でのスワップアウト
とを適切に組み合わせて、一度に大きなメモリサイズの
メモリ領域が必要とされる場合等にページ毎にスワップ
することなくタスク単位で一括してスワップアウトする
制御を可能にすることにより、時間的および空間的に効
率的なメモリ領域の確保・管理を実現することができる
からである。
【0053】第2の効果は、上述のような効果を挙げる
べくタスク単位で一括してスワップアウトを行う場合
に、当該スワップアウトの効率化をさらに図ることがで
きるということである。
【0054】このような効果が生じる理由は、タスク単
位での一括したスワップアウトを行う場合に、既にスワ
ップアウトされているページ(スワップアウトの必要が
ないページ)を除くページのみのスワップアウトを行う
ように制御して、当該スワップアウトの負荷を軽減する
ことができるからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る仮想メモリ管
理方式の構成を示すブロック図である。
【図2】図1に示す仮想メモリ管理方式のメモリ領域確
保要求時における処理を示す流れ図である。
【図3】図1に示す仮想メモリ管理方式のページデータ
書込み時における処理を示す流れ図である。
【図4】図1に示す仮想メモリ管理方式のスワップアウ
ト処理時における処理を示す流れ図である。
【図5】本発明の第2の実施の形態に係る仮想メモリ管
理方式の構成を示すブロック図である。
【符号の説明】
10 タスク群 20 仮想メモリ空間 30 スワップ管理テーブル 31 ページタグ 32 更新ビット 33 コピービット 40 主記憶装置 50 補助記憶装置 60 メモリ書込み管理手段 70 仮想メモリ管理手段 71 メモリ領域確保手段 72 スワップアウト制御手段 73 スワップアウト対象限定手段 80 記録媒体 100 タスク 200 セグメント 400 物理メモリ領域 500 スワップファイル 1000 コンピュータ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 9/46

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 仮想メモリシステムにおいて、 タスクからのメモリ領域確保要求に基づき、主記憶装置
    内の物理メモリ領域,仮想メモリ空間上のセグメント,
    および補助記憶装置内のスワップファイルを確保するメ
    モリ領域確保手段と、「スワップアウトの契機となったメモリ領域確保要求の
    要求対象のメモリ領域のメモリサイズが基準値よりも大
    きい場合にはタスク単位でのスワップアウトを行うとい
    う判断」によって、 スワップアウトが必要になった場合
    にページ単位でのスワップアウトを行うべきかタスク単
    位での一括したスワップアウトを行うべきかを判断し、
    その判断に基づいてスワップアウトを制御・実行するス
    ワップアウト制御手段とを有することを特徴とする仮想
    メモリ管理方式。
  2. 【請求項2】 ページ単位でのスワップアウトを行うべ
    きであると判断した場合にLRUのアルゴリズムでスワ
    ップアウト対象のページを選択し、タスク単位でのスワ
    ップアウトを行うべきであると判断した場合に使用ペー
    ジ群についての平均的なLRUのアルゴリズムでスワッ
    プアウト対象のタスクを選択するスワップアウト制御手
    段を有することを特徴とする請求項記載の仮想メモリ
    管理方式。
  3. 【請求項3】 タスク単位でのスワップアウトを行う場
    合に各タスクが現在占有している物理メモリサイズの大
    きさをスワップアウト対象のタスクの選択基準に加える
    ことを特徴とする請求項記載の仮想メモリ管理方式。
  4. 【請求項4】 仮想メモリシステムにおいて、 各ページについて、ページタグ,更新ビット,およびコ
    ピービットという項目を備えるスワップ管理テーブル
    と、 タスクからのメモリ領域確保要求に基づき、当該メモリ
    領域確保要求に対応する前記スワップ管理テーブルの作
    成・管理を行い、当該メモリ領域確保要求に対する主記
    憶装置内の物理メモリ領域,仮想メモリ空間上のセグメ
    ント,および補助記憶装置内のスワップファイルを確保
    し、当該メモリ領域の確保を反映させて前記スワップ管
    理テーブルに情報を設定するメモリ領域確保手段と、「スワップアウトの契機となったメモリ領域確保要求の
    要求対象のメモリ領域の メモリサイズが基準値よりも大
    きい場合にはタスク単位でのスワップアウトを行うとい
    う判断」によって、 スワップアウトが必要になった場合
    にページ単位でのスワップアウトを行うべきかタスク単
    位での一括したスワップアウトを行うべきかを判断し、
    その判断に基づいてスワップアウトを制御・実行し、ス
    ワップアウトの対象となったページが補助記憶装置内の
    スワップファイルにコピーされたことを示す情報を前記
    スワップ管理テーブル中の当該ページに対するコピービ
    ットに設定するスワップアウト制御手段と、 ページ内のデータが更新された場合に当該ページの更新
    を示す情報を前記スワップ管理テーブル中の当該ページ
    に対する更新ビットに設定するメモリ書込み管理手段
    と、 前記スワップアウト制御手段の制御によってタスク単位
    での一括したスワップアウトが行われる場合に、前記ス
    ワップ管理テーブル内の更新ビットおよびコピービット
    に基づいて「更新されておらずコピーされているペー
    ジ」のスワップアウトを行わないように制御するスワッ
    プアウト対象限定手段とを有することを特徴とする仮想
    メモリ管理方式。
  5. 【請求項5】 ページ単位でのスワップアウトを行うべ
    きであると判断した場合にLRUのアルゴリズムでスワ
    ップアウト対象のページを選択し、タスク単位でのスワ
    ップアウトを行うべきであると判断した場合に使用ペー
    ジ群についての平均的なLRUのアルゴリズムでスワッ
    プアウト対象のタスクを選択するスワップアウト制御手
    段を有することを特徴とする請求項記載の仮想メモリ
    管理方式。
  6. 【請求項6】 タスク単位でのスワップアウトを行う場
    合に各タスクが現在占有している物理メモリサイズの大
    きさをスワップアウト対象のタスクの選択基準に加える
    ことを特徴とする請求項記載の仮想メモリ管理方式。
JP00010399A 1999-01-04 1999-01-04 仮想メモリ管理方式 Expired - Fee Related JP3444346B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00010399A JP3444346B2 (ja) 1999-01-04 1999-01-04 仮想メモリ管理方式
US09/477,359 US6473842B1 (en) 1999-01-04 2000-01-04 Virtual memory managing system for managing swap-outs by page units and a batch swap-out by task units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00010399A JP3444346B2 (ja) 1999-01-04 1999-01-04 仮想メモリ管理方式

Publications (2)

Publication Number Publication Date
JP2000200219A JP2000200219A (ja) 2000-07-18
JP3444346B2 true JP3444346B2 (ja) 2003-09-08

Family

ID=11464769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00010399A Expired - Fee Related JP3444346B2 (ja) 1999-01-04 1999-01-04 仮想メモリ管理方式

Country Status (2)

Country Link
US (1) US6473842B1 (ja)
JP (1) JP3444346B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7433951B1 (en) * 2000-09-22 2008-10-07 Vmware, Inc. System and method for controlling resource revocation in a multi-guest computer system
US6574718B2 (en) * 2001-02-28 2003-06-03 International Business Machines Corporation Excessive spin detection and avoidance for systems using a least recently used page replacement algorithm
WO2004099992A2 (en) * 2003-04-30 2004-11-18 Silicon Graphics, Inc. System and method for performing address translation in a computer system
AU2003295260A1 (en) * 2003-12-16 2005-07-05 Real Enterprise Solutions Development B.V. Memory management in a computer system using different swapping criteria
US7302546B2 (en) * 2004-01-09 2007-11-27 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
JP4218582B2 (ja) * 2004-05-12 2009-02-04 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置
WO2005121968A2 (en) * 2004-06-07 2005-12-22 Wms Gaming Inc. Gaming device with resource swapping
JP2007156702A (ja) * 2005-12-02 2007-06-21 Renesas Technology Corp オペレーティングシステム
JP4487978B2 (ja) * 2006-06-28 2010-06-23 セイコーエプソン株式会社 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
JP2008276326A (ja) * 2007-04-25 2008-11-13 Hitachi Ltd 記憶制御装置及び記憶制御装置の仮想メモリ制御方法
JP4958723B2 (ja) * 2007-10-19 2012-06-20 株式会社リコー 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
JP5414305B2 (ja) * 2009-02-25 2014-02-12 キヤノン株式会社 情報処理装置、仮想記憶管理方法及びプログラム
US8832411B2 (en) * 2011-12-14 2014-09-09 Microsoft Corporation Working set swapping using a sequentially ordered swap file
JP2014085922A (ja) * 2012-10-25 2014-05-12 Sony Corp 情報処理装置および方法、並びにプログラム
US10565099B2 (en) * 2012-12-28 2020-02-18 Apple Inc. Methods and apparatus for compressed and compacted virtual memory
US10102148B2 (en) 2013-06-13 2018-10-16 Microsoft Technology Licensing, Llc Page-based compressed storage management
US9684625B2 (en) 2014-03-21 2017-06-20 Microsoft Technology Licensing, Llc Asynchronously prefetching sharable memory pages
US9632924B2 (en) 2015-03-02 2017-04-25 Microsoft Technology Licensing, Llc Using memory compression to reduce memory commit charge
US10037270B2 (en) 2015-04-14 2018-07-31 Microsoft Technology Licensing, Llc Reducing memory commit charge when compressing memory
US9678687B2 (en) * 2015-09-25 2017-06-13 Mcafee, Inc. User mode heap swapping
US11487568B2 (en) 2017-03-31 2022-11-01 Telefonaktiebolaget Lm Ericsson (Publ) Data migration based on performance characteristics of memory blocks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52132740A (en) 1976-04-30 1977-11-07 Hitachi Ltd Main memory control unit
JPS595480A (ja) 1982-06-30 1984-01-12 Fujitsu Ltd グル−プ・ペ−ジ管理処理方式
USRE37305E1 (en) * 1982-12-30 2001-07-31 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence
JPS612982A (ja) 1984-06-16 1986-01-08 Takashi Hosokawa 電磁弁
JPH0194457A (ja) 1987-10-07 1989-04-13 Mitsubishi Electric Corp 高速スワップ イン/スワップ アウト方式
JPH0325645A (ja) 1989-06-23 1991-02-04 Mitsubishi Electric Corp 仮想空間のスワッピング方式
JPH03174637A (ja) 1989-12-01 1991-07-29 Matsushita Electric Ind Co Ltd 仮想記憶制御方法およびその装置
CA2045705A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites In-register data manipulation in reduced instruction set processor
US5493663A (en) * 1992-04-22 1996-02-20 International Business Machines Corporation Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses
US5465337A (en) * 1992-08-13 1995-11-07 Sun Microsystems, Inc. Method and apparatus for a memory management unit supporting multiple page sizes
US5586283A (en) * 1993-10-07 1996-12-17 Sun Microsystems, Inc. Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US5835961A (en) * 1996-05-03 1998-11-10 Digital Equipment Corporation System for non-current page table structure access
US6247042B1 (en) * 1997-09-24 2001-06-12 Microsoft Corporation Method and system for restoring the state of physical memory as the focus changes among application programs in a computer
US6289432B1 (en) * 1998-03-25 2001-09-11 International Business Machines Corporation Sharing segments of storage by enabling the sharing of page tables

Also Published As

Publication number Publication date
JP2000200219A (ja) 2000-07-18
US6473842B1 (en) 2002-10-29

Similar Documents

Publication Publication Date Title
JP3444346B2 (ja) 仮想メモリ管理方式
US9081702B2 (en) Working set swapping using a sequentially ordered swap file
JP3830886B2 (ja) 不揮発性メモリへのデータ貯蔵方法
US7987315B2 (en) Data storage apparatus with block reclaim for nonvolatile buffer
US7949839B2 (en) Managing memory pages
US7321955B2 (en) Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices
CN109918318A (zh) Ssd元数据管理方法、装置、设备及可读存储介质
CN114115711B (zh) 基于非易失内存文件系统的快速缓存系统
US9170929B2 (en) Memory controller
JPH05258585A (ja) ファイル装置
JP3425355B2 (ja) 多重書き込み記憶装置
JP2019153030A (ja) キャッシュ装置およびキャッシュ装置の制御方法
CN117093160B (zh) Cache的数据处理方法、装置、计算机设备和介质
US20220164135A1 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
JP3022829B2 (ja) 記憶装置の自動割り当て装置
JPH0812643B2 (ja) ページ退避/復元装置
JPH0477938A (ja) データ記憶方法
US20110153929A1 (en) Disk memory utilization management using available slot clusters
CN115357197A (zh) 一种预写日志存储方法、系统及设备
JP2003263276A (ja) ディスクシステムおよびディスクアクセス方法
CN114153379A (zh) 一种高性能的混合ftl方法及固态存储设备
JP2001228979A (ja) ディスク装置のインターフェース制御装置
JPH11149401A (ja) ファイルシステム
WO2012059958A1 (ja) 計算機システム、データ処理方法及びプログラム
JP2002304327A (ja) 記憶装置の制御装置および制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees