JPS6034143B2 - ワ−キングセット管理方式 - Google Patents

ワ−キングセット管理方式

Info

Publication number
JPS6034143B2
JPS6034143B2 JP56055886A JP5588681A JPS6034143B2 JP S6034143 B2 JPS6034143 B2 JP S6034143B2 JP 56055886 A JP56055886 A JP 56055886A JP 5588681 A JP5588681 A JP 5588681A JP S6034143 B2 JPS6034143 B2 JP S6034143B2
Authority
JP
Japan
Prior art keywords
frame
page
working set
pages
pool
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
JP56055886A
Other languages
English (en)
Other versions
JPS57169988A (en
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
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 JP56055886A priority Critical patent/JPS6034143B2/ja
Publication of JPS57169988A publication Critical patent/JPS57169988A/ja
Publication of JPS6034143B2 publication Critical patent/JPS6034143B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

【発明の詳細な説明】 本発明は、マルチプログラミングで動作する仮想記憶方
式の情報処理システムにおけるワーキングセットの管理
方式の改良に関するものである。
マルチプログラミングで動作する仮想記憶方式の情報処
理システムにおいては、主記憶上の各プログラムに対し
て、いかに主記憶ページを割当てるかが問題となる。各
プログラムに割当てるべき主記憶ページ数を決定するた
めの方式として、あるプログラムで、一定時間内(これ
は、ウィンドサイズと呼ばれる)に参照したページは、
そのプログラムのために確保しておく、といういわゆる
ワーキングセット方式が知られている。
(以下WS方式とよぶ)WS方式を正確に実現しようと
すると、主記憶上のページが参照されるたびに、その参
照された時刻を最後に参照された時刻として記録してお
くと、ともに、主記憶上のページで、前記ウィンドサイ
ズ以前の時刻が記録されているページを探しこれをワー
キングセットから外し、空きページとして登録するとい
う処理を行う必要があり、厳密なWS管理は、管理オー
バヘッドの点で非現実的であり、実際には、次のように
して実現される。即ち、主記憶上の各ページに対するア
クセスの行われ方を管理するために、各ページに対応し
た使用ビットおよび使用カウンタが用意される。使用ビ
ットは、対応するページに対して、主記憶アクセスが行
われた時点でセットされる。一定のWS見直し契機毎に
、WS見直し管理が起動され、主記憶上の全ページにつ
いて、前記使用ビットを調べ、これがオンの場合、即ち
、対応するページに対して参照があった場合には、使用
カウンタがリセツトされる。使用ビットがオフの場合に
は、即ち、対応するべ−ジに対してアクセスが行われな
かった場合には、使用カウント値がカウントアップされ
る。使用カウント値が、ある値nよりも大きくなった場
合には、即ちn周期の間参照されず、ウインドサイズか
ら外れた場合には、このページは、これまで接続されて
いたワーキングセット枠から外し、不要ページとして、
空きページプールに登録される。プログラムの実行中に
、べ−ジフオルトが発生した場合には、空きページプー
ルからページがとられ、これがプログラムに与えられる
ことになる。
即ちプログラムに対応するワーキングセット枠に接続さ
れる。この方式により、各プログラムに割当てられるペ
ージ数は、そのプログラムの動作状況により、必要に応
じて、縮小、拡大されるので固定的にプログラムにペー
ジを与える場合に比べて、主記憶を有効に使うことが可
能である。
一方、プログラムによっては、そのプログラムの作成時
点で、あるいは、過去のプログラムの実行時のデータに
より、その必要とするメモリ量が既知である場合がある
このような場合には、プログラムを実行する毎に、その
時点での必要メモリ量を計測するワーキングセット方式
を必ずしも必要とせず、逆に、ワーキングセット方式を
適用した場合には、この管理のためのオーバヘッドのた
めに、性能が低下する場合がある。従って、本発明の目
的は、ワーキングセット見直しが必要とされるワーキン
グセット枠についてのみ見直しを行うことにより、ワー
キングセット枠見直しのオーバヘッドを減少した、改良
されたワーキングセット管理方式を提供することにある
本発明は、ワーキングセット情報が既知のプログラムに
対しては、ワーキングセット枠の最大値および最小値と
して、等しい値を指定することにより、この等しい値が
指定されたワーキングセット枠に対しては、定期的なワ
ーキングセット見直しを行わないようにすることにより
、ワーキングセット見直しのオーバヘツドを減少させよ
うとするものである。
次に、本発明の一実施例を説明するが、これに先立ち従
来行われているワーキングセット管理方式の実施例の概
要を第1図により説明する。
ワーキングセット(以下WSと略す)管理の実現のため
に次の各テーブルが用意される。WS枠制御ブロック1
(以下、WSCBと略す)は、各WS管理の単位である
WS枠に属するページを管理するためのテーブルで、各
WS枠毎に、ここでは、各プログラムを単位として、W
Sが管理されるとしているので、各プログラム毎にヱン
トリiをもち、ェントリiにはそのWS枠に属するペー
ジ数PNi、そのWS枠に許されるページ数の最大値M
Xi、最小値MNi、そのWS枠に属するページリスト
へのポィンタPTRiが用意される。
プール枠制御ブロック2(以下プールCBと略す)は、
どのWS枠にも属さない、未使用ページを管理するため
のテーブルで、未使用ページ数PPNおよび未使用ペー
ジリストへのポィン夕PPTRをもつ。メモリマップ3
は、主記憶上の実ページを管理するためのテーブルで、
各ページ毎にェントリをもつ。
各ェントリには、ポィン夕部と、使用状況情報部があり
、ポィンタ部により、実ページは、いずれかのWS枠、
あるいはプール枠に属するページリストを構成している
使用状況情報としては、使用ビットUBおよび使用カウ
ントUCが用意される。
使用ビットUBは、ページへの参照があった時点で例え
ば“1”がセットされ使用カウントUCは、後に示すよ
うにWS見直し‘こ際して更新される。
また、WSから外すべき周期関値(ウィンドサイズ)を
保持する闇値レジスタ4が用意される。また前記闇値レ
ジスタ4の値と、使用カウントUCの値とを比較するた
めの比較回路が設けられる。一定時間毎に起動される、
WS見直しタイマ割込みにより、各WS枠について、次
の動作が行われる。即ち、WSCBIの第iェントリポ
ィンタPTRiおよびメモリマップ上のポインタPTR
jによりメモリマップ3を順次たどりながら、対応する
メモリマップのェントリを論出し参照ビットをチェック
し、これが“1”の場合、即ち、参照があった場合には
、参照ビットを“0”クIJアするとともに、使用カウ
ントを、クリアする。
参照ビットが“0”の場合には、使用カウントを、カウ
ントアップする。この更新の結果と、関値しジスタ4の
値nを比較回路5により比較し使用カウントの値がn‘
こなった場合にはこのページは、ワーキングセットから
外れたものとして、このWS枠のページリストから外さ
れ、プール枠につながれる。
(但し、既にそのWS枠のページ数がMNi以下の場合
には、プールへの返却は行われない。)このような操作
を行うことにより、WS見直しのn周期の間参照されな
かったページは、そのWS枠から外され、プール枠に返
却されることになる。
(この動作のフロゥチャートを第4図に示す)ページフ
オルトに際しては、まずプール枠からページをとりあえ
ずこのページフオルトを発生したプログラムのWS枠に
割当て、要求されたページのパッキングストアからの転
送を起動するとともに、このWS枠のページ数のチェッ
クを行う。
割当ての結果、最大値MXiよりも大になった場合には
、そのWS枠に、使用カウントがnのページがあれば、
これをプール枠に返却する。ない場合には、このWS枠
の各ページについて、順次使用ビットをチェック、クリ
アしながら使用カウントを更新し、この更新の結果、使
用カウントがnのページが発生するまで、この処理を行
い、使用カウントがnになったページをプールに返却す
る。割当ての結果、WS枠のページ数が最小値より大で
、最大値以下の場合には、このWS枠に、使用カウント
がnのページがあるかどうかをチェックし、ある場合に
は、これをWS枠から外し、プール枠に返却する。使用
カウントがnのページがない場合には、プールのページ
数に不足がある場合郎ち、現在のプールのページ数が、
不足閥値よりも小の場合にのみ、プールへの返却を行う
。WS枠のページ数PNiが最小値MNi以下の場合に
は、プールへの返却は行わない。なお、プール枠からW
S枠へのページの割当ては、次のように行われる。
まず、プール枠制御ブロックのページ数PPNを1減少
させるとともにポィンタ部PPTRの値すなわち、その
時のプールの先頭のページ番号をセーブするとともにP
PTR(値jをもっとする)で指定されるメモリマップ
3のェントリjのポィンタ部PTRjの値すなわち、前
記先頭のページの次に接続されているページの番号をプ
ール枠制御ブロックのポイン夕をセットする。
すなわち、これを新たな先頭ページとする。
これによりプール枠からの取外しの処理が完了する。次
にメモリマップの先にセーブしたポインタに対応するェ
ントリiのポィンタPTRjにページを接続すべきWS
枠に対応するWSCBの第iェントリのポィンタPTR
iの値をセットする。
この後同ポィンタPTRjに先にセーブした値iをセッ
トするとともに、現ページ数PNを1だけ増大させる。
これにより先にプール枠から取外されたページがWS枠
に接続されたことになる。WS枠からのプール枠へのペ
ージの返却も同様に行われる。
次に本発明の一実施例について説明する。
なお、本実施例においては、WS枠はプログラム即ち、
タスク対応に用意され、各プログラム毎にジョブ制御文
により、そのプログラムに与えるべきWSの最小値およ
び最大値を指定できるものとする。
プログラムの開始に際しては、このプログラムにタスク
制御ブロックiが与えられた時点で、WSCBiも割当
てられ、WSCBiの有効ビットをオンにするとともに
ジョブ制御文で指定されたWS最小値、最大値が、各々
、MNi,MAXiにセットされる。
以後、プログラムのロードページ・フオルト時のページ
のロード等は、タスク制御ブロックで指定されたWS枠
に対して行われることになる。本実施例においては、W
S見直しを制御するために、図示してないが、WS枠選
択制御部およびWS見直し制御部が設けられる。
WS枠選択制御部は、一定時間毎に起動され、WS見直
しを行うべきWS枠を選択し、WS見直し制御部は、W
S枠選択制御部で選択されたWS枠に対するWS見直し
処理を行う。
第2図は本発明を具体化した一実施例の構成を示すブロ
ック図である。
本実施例においては、第1図に示した実現例に加えてW
SCBIのWSの最小値MN、および最大値MXを比較
するための一致検出回路7が設けられる。
次に、本実施例の動作を説明する。
一定時間毎に起動されるWS見直しに際しては、WS枠
選択制御部は現在使用中の、即ち、有効ビットViがオ
ンのWS枠を順次選択し、選択されたWS枠iに対応す
るWSCBiの最小値MNiおよび最大値MKiを議出
し、この値を一致検出回路7により比較する。
一致検出回路が一致を検出した場合、即ち、両者の値が
等しい場合には、対応するWS枠は、WS見直しの対象
とはせず、次のWS枠について選択の処理を続ける。両
者の値が等しくない場合にはこのWS枠に対してWS見
直しを起動する。全WSCB(N個とする)について以
上の処理を行う。この動作のフロゥチャートを第3図に
示す。起動されたWS見直し制御部は、実現例における
と同様の処理を行う。この動作のフロウチャート第4図
に示す。以上、本発明の一実施例の説明を行ったが、本
発明の主旨は、ワーキングセット見直しの各契機におい
て、WS枠に許されるメモリ量の最大値と最小値が等し
いWS枠に対しては、WS見直しを行わないようにする
ことにより、WS見直しのオーバヘツドを減少できるよ
うにしたことにあり、プログラムとWS枠の対応のさせ
方、使用カウントの指定のしかた、具体的なべージの使
用状況の管理方法等については、いくつかの実現方法が
考え得るであろう。また、本実施例で示したWS枠選択
制御部、WS見直し制御部の詳細の実現方法、WS枠と
プール枠とのページのつなぎかえの詳細等については本
発明の主旨とは直接の関係がないので、説明の繁雑さを
避けるため述べなかったが、これらは通常の従来知られ
ている方法により、実現可能であることは明らかであろ
う。
【図面の簡単な説明】
第1図は、従来のWS管理方式の一美現例を示すブロッ
ク図、第2図は、本発明を具体化した一実施例の構成を
示すブロック図、第3図は★本発明の一実施例における
見直しWS枠選択制御部の処理のフロウチャートを示す
。 第4図は本発明の一実施例におけるWS見直し制御部の
処理のフロウチヤートを示す。1は、WS枠制御ブロッ
ク、2は、プール枠制御ブロック、3は、メモリマップ
、4は、閥値しジスタ、5は、比較回路、6は、カウン
トアップ回路、7は、比較回路である。 姿ー図 多2図 髪3図 髪4図

Claims (1)

    【特許請求の範囲】
  1. 1 マルチプログラムで動作する仮想記憶方式の情報処
    理システムにおいて、ワーキングセツトを管理する単位
    である1個以上のワーキングセツト枠制御ブロツクをも
    ち、前記各ワーキングセツト枠制御ブロツクは、そのワ
    ーキングセツト枠に与えるべきページ数の最小値および
    最大値を指定するフイールドを備え、一定時間毎に行わ
    れるワーキングセツト見直しに際しては、前記各ワーキ
    ングセツト枠制御ブロツクの最小ページ数と、最大ペー
    ジ数が等しいワーキングセツト枠については、見直しを
    行わないようにしたことを特徴とするワーキングセツト
    管理方式。
JP56055886A 1981-04-14 1981-04-14 ワ−キングセット管理方式 Expired JPS6034143B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56055886A JPS6034143B2 (ja) 1981-04-14 1981-04-14 ワ−キングセット管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56055886A JPS6034143B2 (ja) 1981-04-14 1981-04-14 ワ−キングセット管理方式

Publications (2)

Publication Number Publication Date
JPS57169988A JPS57169988A (en) 1982-10-19
JPS6034143B2 true JPS6034143B2 (ja) 1985-08-07

Family

ID=13011578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56055886A Expired JPS6034143B2 (ja) 1981-04-14 1981-04-14 ワ−キングセット管理方式

Country Status (1)

Country Link
JP (1) JPS6034143B2 (ja)

Also Published As

Publication number Publication date
JPS57169988A (en) 1982-10-19

Similar Documents

Publication Publication Date Title
JP2720910B2 (ja) データ処理システムの作業負荷を管理するための装置及び方法
US7797498B2 (en) Apparatus and method for garbage collection
JPH0546447A (ja) 空き領域検索方法
CN111782397A (zh) 一种Linux页面替换机制的屏蔽方法
US7996658B2 (en) Processor system and method for monitoring performance of a selected task among a plurality of tasks
JPH07153285A (ja) 不揮発性フラッシュメモリの制御方法とその装置
JPS6034143B2 (ja) ワ−キングセット管理方式
WO2025060806A1 (zh) 一种内存管理方法、设备及存储介质
US4984150A (en) Virtual memory control management system
JPS6034141B2 (ja) ワ−キングセット管理方式
JPH0119183B2 (ja)
JPS6034142B2 (ja) ワ−キングセット管理方式
JPH0261057B2 (ja)
JPH05334100A (ja) マイクロプロセッサ
JP3020512B2 (ja) フアイルデータ管理方法
JPH0830562A (ja) マルチプロセッサシステム
CN111679909A (zh) 数据处理方法、装置及终端设备
JPH0812643B2 (ja) ページ退避/復元装置
CN115033378B (zh) 一种关于易失性内存的管理方法
JPS6336539B2 (ja)
CN120104359B (zh) 一种内存访存方法、设备、介质及产品
JPS5883377A (ja) バツフアメモリ制御方式
JPH1091515A (ja) データバッファ管理装置
Lohmann et al. Hard Real-Time Memory-Management in a Single Clock Cycle (on FPGAs)
CN120723363A (zh) 一种虚拟机内存数据迁移方法、设备、计算机程序产品及存储介质