JPS6336538B2 - - Google Patents

Info

Publication number
JPS6336538B2
JPS6336538B2 JP54127630A JP12763079A JPS6336538B2 JP S6336538 B2 JPS6336538 B2 JP S6336538B2 JP 54127630 A JP54127630 A JP 54127630A JP 12763079 A JP12763079 A JP 12763079A JP S6336538 B2 JPS6336538 B2 JP S6336538B2
Authority
JP
Japan
Prior art keywords
page
frame
pages
working set
free
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
Application number
JP54127630A
Other languages
English (en)
Other versions
JPS5652447A (en
Inventor
Naoya Oono
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
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP12763079A priority Critical patent/JPS5652447A/ja
Publication of JPS5652447A publication Critical patent/JPS5652447A/ja
Publication of JPS6336538B2 publication Critical patent/JPS6336538B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 本発明は、マルチプログラミングで動作する仮
想記憶方式の情報処理システムにおけるワーキン
グセツトの管理方式の改良に関するものである。
マルチプログラミングで動作する情報処理シス
テムにおいては主記憶上の各プログラムに対し
て、いかに主記憶ページを割当てるかが問題とな
る。
このための方式としてあるプログラムで、一定
時間内に参照したページはそのプログラムのため
に確保しておく、いわゆるワーキングセツト方式
が知られている。
ワーキングセツト方式は、実際には、次のよう
に実現される。即ち、主記憶上の全ページについ
て、ページテーブルの参照ビツトを一定周期毎に
調べ、参照があれば、即ち参照ビツトが“1”な
らば、これをリセツトするとともに対応するペー
ジの参照カウント置を“0”にし、参照されなか
つた場合には、カウント値をカウントアツプす
る。そして、参照カウント値が、ある値nよりも
大きくなつた場合には、即ちn周期の間参照され
なかつた場合には、そのページは不要ページとし
てプログラムからはずしシステムに戻され、空き
ページプールに登録される。
プログラムの実行中にページフオルトが発生し
た場合には、空きページプールからページがとら
れ、これが、そのプログラムに与えられることに
なる。
この方式により、各プログラムに割当てられる
ページ数はその動きにより、必要に応じて、縮
小、拡大し、固定的にプログラムにページを与え
る場合に比べて、主記憶を有効に使うことが可能
である。
しかしながらこの方式においては、ある特定の
プログラムでたとえばフエイズの切換わり等によ
り、アクセスするアドレス空間が急に切換わつた
場合には、ページフオルトが移発しこのプログラ
ムのワーキングセツトが拡大する。このために、
空きページプールから多くのページがこのプログ
ラムのために取られるために、他のプログラムで
発生したページフオルトに対して割当てるべき空
きページが不足するような事態が発生し、このた
めに、空きプールを回復するための処理が必要と
なりこれが処理速度の低下を招くという欠点があ
つた。そして、この空きプール不足の発生を少な
くするためには大きな空きプールを用意しておく
必要があり、これは主記憶の使用率を低下させる
要因となつていた。
本発明の目的は前記欠点を除いた比較的小さい
空きプールを用意するだけで、空きプールの不足
や、主記憶の使用率の低下、あるいは処理速度の
低下を改善することのできるワーキングセツト管
理方式を提供することにある。
本発明は各プログラムで、ワーキングセツトの
見直しの1周期間で与えることのできるページ数
の最大値を設けておき、あるプログラムで、ペー
ジフオルトが発生する毎にその最大値までは、空
きページプールからページをそのプログラムに割
当てるが、それ以上ページフオルトが発生した場
合にはそのプログラムのワーキングセツト枠の中
で最も長い間使われなかつたページを切り出し、
ここに新たなページを割当てるようにすることに
より、特定のプログラムにおけるページフオルト
の頻発により、空きページプールが不足する確率
を低くしようとするものである。
従つて本発明によれば、従来の方式に比べて、
比較的小さい空きプールしか用意しなくても、空
きプールの不足の発生の確率を低くでき、主記憶
の有効利用、処理速度の向上が期待できることに
なる。
以下図面を用いて、本発明の一実施例について
詳細に説明する。本実施例においては、各プログ
ラムに対応して、ワーキングセツト管理が行われ
ることとする。即ち、ワーキングセツト枠がプロ
グラム毎に設けられる。そして、ワーキングセツ
ト枠の制御のために、各枠に対して、ワーキング
セツト枠制御ブロツク(以下、WSCBと略す)
が用意される。第1図に示すように各WSCBは、
現在その枠につながれているページ数、即ち、現
ワーキングセツトサイズを保持するフイールド
CWS、その枠に属するページの使用状況のリス
トのトツプとラストのページを示すボインタを保
持するフイールドTP,LPの他に、ワーキングセ
ツト見直し周期内に、その枠で発生したページフ
オルト回数をカウントするフイールドPFCをも
つ。
同様に、空きページプール枠の管理のために、
空きプール枠制御ブロツク(以下EPCBと略す)
が用意され、これは、現在この枠につながれてい
るページ数即ち、空きページ数を保持するフイー
ルドEPN、空きページのリストへのポインタフ
イールドTP、をもつ。
また、主記憶上の実ページを管理するために、
実ページに対応したエントリをもつページマツプ
PMAPが用意される。ページマツプの各エント
リはそのページが参照されたかどうかを示すRビ
ツト、書込みが行われたことを示すWビツト、現
在の使用カウント値を保持するフイールドUC、
このページにつながるページへの両方向のポイン
タをもつフイールドFP,BPをもつ。
ワーキングセツト枠につながれたページは、
WSCBおよびページマツプ上のポインタにより、
使用カウントの小さい順に、即ち、最も新しくア
クセスされたページはトツプに、最も長い間アク
セスされなかつたページはラストにおかれ新しく
アクセスされた順に並べられリフト状に管理され
ている。
また、本実施例においては、各ワーキングセツ
ト枠に対して、ワーキングセツト見直しの一周期
内に新たに割当てることのできるページ数の最大
値は枠にかかわらず一定のページ数Nとする。
また、一定の周期の間参照されなかつたページ
即ち使用カウントがある値より大になつたページ
は、ワーキングセツトからはずされるが、その閾
値をnとする。これらの値が制御パラメータとし
て保持される。
次に、本実施例における動作を説明する。
あるプログラムjの実行中に、ページフオルト
が発生するとまず、前回のワーキングセツト見直
以後発生したこのプログラムにおけるページフオ
ルト回数、即ちPFCjの値がカウントアツプされ
る。更新されたPFCjの値がNよりも、小か等し
い場合には、空きページプールからリストのトツ
プにある1ページがはずされこれが、プログラム
jのワーキングセツト枠のトツプにつながれここ
に、必要な内容が二次記憶からロードされる。
そして、このつなぎかえに伴い、EPCBの空き
ページへのポイツタTP、空ページ数EPN、つな
ぎかえられたページiに対応するページマツプエ
ントリのポインタFPi、ページフオルトを起した
プログラムのWSCBの現ワーキングセツトサイ
ズCWSj、ページのリストへのポインタTPj、つ
なぎかえまでその枠でトツプにいたページのポイ
ンタBPが更新される。
PFCjの値がNよりも大の場合、即ち、そのワ
ーキングセツトの枠で規定値N以上のページフオ
ルトが発生した場合には、空きページ枠からのつ
なぎかえを行わず、自枠のラストにあつたページ
を主記憶から追出し、ここに、必要な情報を二次
記憶から転送する。
即ち枠jのラストにあつたページkを、この枠
のトツプにつなぎかえ、このページに内容の変更
があつたかどうかを調べる。内容の変更がない場
合には直ちに、あつた場合には、これを二次記憶
にページアウトした後、必要な情報を二次記憶装
置からページインする。
なお、このつなぎかえに伴い、WSCBjのTP,
LP、つなぎかえられたページkに対応するFP、
つなぎかえの直前までリストのトツプにあつたペ
ージに対応するBPの更新が行われる。
なお、これらの動作を第2図のフロウチヤート
に示す。
たとえば、ある時点で、プログラムjが実行さ
れていたときに、ページフオルトを発生したとす
る。この時点で、プログラムjには、6ページが
つながれており(CWS=6)、前回のワーキング
セツト見直しからこれまでに既に3回ページフオ
ルトを発生しているとする。(PFC=3)また、
この枠に属する6ページのつながれている順序
は、ページ番号が7,1,10,14,13,2の順で
あり、これはトツプが7(TP=7)、ラストが2
(LP=2)およびページマツプの対応するページ
の前方向および後方向のポインタFP,BPにより
接続されている。また、これは、その枠に属する
各ページの使用カウント(UC)がさい順に並べ
られていることが示されている。
また、空きページ枠は、この時点で5ページを
もち、そのページのトツプはページ番号に、次に
15,0,4,5の順に、ページマツプのポインタ
FPによりリストを構成している。この様子が第
1図aに示されている。
ページフオルトが発生すると、PFCがカウン
トアツプされ4になる。ここで一周期内で新たに
枠に与えることのできるページの最大数を4とし
た場合には、即ちN=4の場合にはPFCNで
あるので空きページ枠から、そのトツプにあるペ
ージ12が枠jのトツプにつなぎかえられここに
ページ転送が行われる。第1図bに示すようにこ
れに伴い空きページ枠のページ数EPNは、5か
ら4に、リストのトツプは以前のページ番号12の
次につながつていたページ番号15となるTP=15。
また、枠jのTPには12が、ページ数CWSは6か
ら7にカウントアツプされる。また、これに伴い
ページマツプのポインタも更新される。また、枠
jに新たにつなげられたページ12のUC,Wビツ
トは0に、Rビツトは1にセツトされる。また、
N=3とした場合には、ページフオルトの発生に
より、PFC>Nとなる。従つて、この場合には、
ページ枠からのページのつなぎかえは行わず、第
1図cに示すように枠jのラストにあるページ2
がトツプにつなぎかえられる。ページ2は、
PMAPのページ2に対応するWビツトが1であ
り、書込みが行われているので、まず、このペー
ジの内容を二次記憶装置に転送し、Wビツトをリ
セツトした後要求された情報を、二次記憶からペ
ージ転送し、Rビツトを1にセツトする。また
UCも0にリセツトする。なお、これに伴い、
WSCBjのトツプは2に(TP=2)、ラストはペ
ージ2の前にあつた13になる(LP=13)また、
ページマツプのポインタも第1図cのように変更
される。
なおこれらの処理を第2図のフロウチヤートに
示す。また、第1図においてページ3,6,8,
9,11は枠jにも空きページ枠にも属していない
ページである。
なお、ワーキングセツトの見直しは、一定時間
毎に起動され、次に処理が行われる。即ち、主記
憶上にあるプログラムに属する全ページについ
て、そのページに参照があつた場合即ち参照ビツ
トRが1の場合にはこれをリセツトするとともに
対応する使用カウンタUCを0にするとともにこ
のページをそのページの属するワーキングセツト
のトツプにつなぎかえる。
ページに参照がなかつた場合には、対応する使
用カウンタUCをカウントアツプし、この値が閾
値nを越えている場合には、即ち、T周期の間使
用されなかつたページは、ワーキングセツトから
はずし空きページ枠に戻す。(即ち、CWSをカウ
ントダウンするとともに、このページの空きペー
ジ枠へのつなぎかえのためのポインタの更新、
EPNのカウントアツプを行う。)nを越えていな
い場合には何も行わない。
また、全ワーキングセツト枠のWSCBのPFC
をクリアする第1図cの状態でワーキングセツト
の見直しを行つた場合を例として示す。なおここ
では枠jを空きページ枠だけを対象としている。
また、ここではn=2としている。
まず、ページ2は参照されているので(Rビツ
ト=1)UCは0に、またリストのトツプにおか
れ、ページ7はR=0なのでUCは1にカウント
アツプされ、リスト上の順序はそのまま、ページ
1はR=1なのでUCは0、最新にアクセスされ
たページとしてリストのトツプにおかれ、次にペ
ージ10はR=0なのでUCは2にカウントアツプ
される。ページ14はR=0なのでUC=3になり
n=2よりも大となつたので、これは枠jのリス
トからはずし、この場合には、Wビツトが0なの
で、そのまま空きプール枠のトツプにつなげる。
これにより、枠jのCWSは、6から5にカウン
トダウンされ、空きプールサイズEPNは5から
6にカウントアツプされる。ページ13は、R=1
なのでUCは2から0にリセツトされ、リストの
トップにつながれる。また、PFCは0にリセツ
トされる。ワーキングセツトの見直しが完了した
時点で枠jには、13,1,2,7,10の順で5個
のページがつながれ、空きページ枠には、新たに
ページ14が加えられている。これを第1図dに示
す。なお、メモリマツプにおける一は何の値でも
関係ないことを示す。以上、本発明の一実施例に
ついて説明したように、本発明の主旨は、特定の
ワーキングセツト枠におけるページフオルトの頻
発により、空きプール枠から無制限にページが割
当てられるのを防ぐために、特定のワーキングセ
ツト枠が一周期に空きページ枠から取出せるペー
ジ数に上限を設け、これ以上は割当てられないよ
うにすることにより、主記憶の有効利用、処理速
度の向上を計ることにあり、この主旨に背かない
かぎり、いくつかの変形が可能であることは明ら
かであろう。
たとえば、本実施例においては、ワーキングセ
ツト枠は、プログラム毎に用意するとしている
が、複数のプログラムに対して、1個のワーキン
グセツト枠を設けることも可能である。
また、本実施例においては、第2図のフロウチ
ヤートの右側に示すようにあるWS枠で最大値N
以上のページフオルトが発生した場合には、その
WS枠からまずページを切出し、必要ならばペー
ジアウトを行つた後、ページ転送を行うとしてい
るが、そのかわりに、次のようにすることも可能
である。即ち、まず空きページからページを割当
て、このページに対して二次記憶からのページの
転送を起動する。この後でこれがこのWS枠に対
する最大値N以上のページフオルトであるかどう
か調べ、そうであつた場合には、そのWS枠から
リストの最後のページを取出し、このページのW
ビツトを調べ、これら0ならば直ちに、これが1
ならば、二次記憶に対して追出しを行つた後(ペ
ージアウト)、空きページ枠に戻すようにするこ
とも可能である。これにより、自WS枠内での切
出しに際して、切出すべきページに書込みがあつ
た場合においても、この追出しに先立つて空きペ
ージ枠のページへのページインが行えるので、ペ
ージフオルト処理を短縮することができる。
なお、本実施例においては、ページマツプは専
用のメモリ上におかれ、ページへの参照があるた
びに、ページマツプ上の参照ビツトRが1にセツ
トされまた、書込みがあるたびにWビツトに1が
セツトされるとしているが、ワーキングセツト見
直しにおける参照ビツトのリセツト時に、アドレ
ス変換テーブル上の参照ビツトを同時にリセツト
しておき、アドレス変換テーブルで参照ビツトの
0から1への書換えがあつたときにのみページマ
ツプ上の参照ビツトを1にセツトするように構成
することも可能である。また、参照ビツトをメモ
リマツプ上に設けずに、ページテーブル上に設け
ることも可能である。
また、本実施例においては、各ワーキングセツ
トの枠に対して、ページフオルトに際して空きペ
ージから与えるページ数の最大値を、枠によらず
一定値Nとしたが、各ワーキングセツトの枠毎に
たとえば、現在のワーキングセツトサイズに応じ
て異なる値を与えるようにしてもよい。
第3図は本実施例の構成の概要を示すブロツク
図である。本実施例においては、各ワーキングセ
ツト枠におけるページリスト、現ワーキングセツ
トサイズ、発生ページフオルト回数を管理するワ
ーキングセツト枠管理ブロツク1、主記憶上の各
ページにおける書込、参照、用カウント等の使用
状況、ワーキングセツト枠、あるいは空きページ
枠上につながれている順序等を管理するメモリマ
ツプ2、空きページを管理する空きページブロツ
ク3、および関連する制御回路4が用意される。
制御回路4はページフオルトの発生に伴う、ペ
ージのプールからワーキングセツト枠へのつなぎ
かえ、ワーキングセツトの見直しに伴う、メモリ
マツプ上の参照ビツトのチエツク、使用カウント
の更新、ワーキングセツト枠から空きページ枠へ
のつなぎかえ、あるいは、ページへの参照、書込
に伴うRビツト、Wビツトの更新等の前述の動作
を制御するが、本発明の詳細な構成あるいは、制
御回路の詳細な動作は本発明の主旨とは直接関係
がないので詳細な説明は省略してあるが従来知ら
れている技術で容易に実現可能であることは明ら
かであろう。
【図面の簡単な説明】
第1図は本発明の一実施例における動作を示す
もので第1図aは、ページフオルト発生直前の主
記憶のページの状態を示すものである。第1図b
は、ページフオルト日数が最大値を超えなかつた
場合、第1図cは最大値をこえた場合における、
ページフオルト後の状態を示す。なお、第1図d
はワーキングセツト見直し後の状態を示す。第2
図は、本発明における動作を示すフロウチヤー
ト、第3図は、本発明の一実施例の構成の概要を
示すブロツク図である。 図において、1は、ワーキングセツト枠制御ブ
ロツク、2は、メモリマツプ、3は、空きページ
プール制御ブロツク、4は、制御回路を示す。

Claims (1)

    【特許請求の範囲】
  1. 1 マルチプログラムで動作する情報処理システ
    ムにおいて、ワーキングセツトを管理する単位で
    あるワーキングセツト枠(WS枠)に対して、ワ
    ーキングセツトの見直し周期内において空きペー
    ジプールから取得しうるページ数の最大値を定め
    るとともに各WS枠単位に各ワーキングセツト見
    直し周期内におけるページ取得数を管理し、前記
    ワーキングセツト見直し周期内におけるページフ
    オルト発生に際しては、ページフオルトを発生し
    たページに対応するWS枠の前記周期内のページ
    取得数を調べ、これが前記最大値を越えない場合
    には空きページからこのWS枠に対してページを
    与え、このページ取得数が前記最大値を越える場
    合には対応するWS枠の中からページを切出し、
    これをページフオルトを発生したページに割当て
    ることを特徴とするワーキングセツト管理方式。
JP12763079A 1979-10-02 1979-10-02 Working set control system Granted JPS5652447A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12763079A JPS5652447A (en) 1979-10-02 1979-10-02 Working set control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12763079A JPS5652447A (en) 1979-10-02 1979-10-02 Working set control system

Publications (2)

Publication Number Publication Date
JPS5652447A JPS5652447A (en) 1981-05-11
JPS6336538B2 true JPS6336538B2 (ja) 1988-07-20

Family

ID=14964833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12763079A Granted JPS5652447A (en) 1979-10-02 1979-10-02 Working set control system

Country Status (1)

Country Link
JP (1) JPS5652447A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58127260A (ja) * 1982-01-25 1983-07-29 Nec Corp デイスクキヤツシユ制御装置
JPS58144961A (ja) * 1982-02-24 1983-08-29 Fujitsu Ltd 記憶領域管理方式
JPS5965988A (ja) * 1982-10-08 1984-04-14 Hitachi Ltd 実記憶制御方式
JPS59207479A (ja) * 1983-05-11 1984-11-24 Hitachi Ltd 主記憶制御方式
JPS60118937A (ja) * 1983-11-30 1985-06-26 Sharp Corp マルチ・タスク制御用デバイス
JPS6299833A (ja) * 1985-10-25 1987-05-09 Fujitsu Ltd メモリ空間制御方式
US5247687A (en) * 1990-08-31 1993-09-21 International Business Machines Corp. Method and apparatus for determining and using program paging characteristics to optimize system productive cpu time

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5325774A (en) * 1976-08-24 1978-03-09 Caterpillar Tractor Co Multiple pump hydraulic control system
JPS5458318A (en) * 1977-10-19 1979-05-11 Fujitsu Ltd Job control system in artificial memory system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5325774A (en) * 1976-08-24 1978-03-09 Caterpillar Tractor Co Multiple pump hydraulic control system
JPS5458318A (en) * 1977-10-19 1979-05-11 Fujitsu Ltd Job control system in artificial memory system

Also Published As

Publication number Publication date
JPS5652447A (en) 1981-05-11

Similar Documents

Publication Publication Date Title
US7949839B2 (en) Managing memory pages
DE19516937A1 (de) Hierarchisches Cachesystem für einen Computer
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
DE102020117350A1 (de) Speichersystem einschliesslich heterogener speicher, computersystem mit dem speichersystem und datenverwaltungsverfahren dafür
US6842832B1 (en) Reclaim space reserve for a compressed memory system
US20130254511A1 (en) Improving Storage Lifetime Using Data Swapping
US20020116590A1 (en) Method of managing memory
CA1222062A (en) Method for protecting volatile primary store in a staged storage system by circularly journaling updates into finite nonvolatile local memory
JPS6336538B2 (ja)
EP0351109A2 (en) Reducing resources in a high reliability data storage subsystem
US8812782B2 (en) Memory management system and memory management method
US6829693B2 (en) Auxiliary storage slot scavenger
JPS6336539B2 (ja)
DE3855200T2 (de) Cache/plattenspeichersystem mit auf plattenzugriffszeit basierender befehlsauswahl
JP3020512B2 (ja) フアイルデータ管理方法
JPH0324697B2 (ja)
JPS6029135B2 (ja) バツフアメモリシステム
JPH06266619A (ja) ページ退避/復元装置
JP2583403B2 (ja) バッキングストア管理方式
JPH0119183B2 (ja)
JP2539419B2 (ja) 補助記憶装置の選択方法
JPS60153552A (ja) セグメント一括ロ−ド方式
JPH0887443A (ja) セルプール領域管理処理方法
JPS5894182A (ja) バツフアメモリ管理方式