JPH0520201A - Virtual storage management system - Google Patents

Virtual storage management system

Info

Publication number
JPH0520201A
JPH0520201A JP3172255A JP17225591A JPH0520201A JP H0520201 A JPH0520201 A JP H0520201A JP 3172255 A JP3172255 A JP 3172255A JP 17225591 A JP17225591 A JP 17225591A JP H0520201 A JPH0520201 A JP H0520201A
Authority
JP
Japan
Prior art keywords
page
storage device
working set
pages
unused
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
JP3172255A
Other languages
Japanese (ja)
Inventor
Hiroaki Kurabayashi
弘明 倉林
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3172255A priority Critical patent/JPH0520201A/en
Publication of JPH0520201A publication Critical patent/JPH0520201A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To reduce the generation of overhead due to the substitution of pages by effectively utilizing unused pages in a main storage device. CONSTITUTION:Since a cache memory space can be dynamically set up in the main storage device 11 by utilizing an idle area in the device 11, a page to be applied to page out is stored in the device 11 as it is without being saved to a secondary storage device 12. An unused page is newly allocated to a working set generating a page-out request. When page-in is required, whether its corresponding page exists in a page-out page group stored in the device 11 as a cache memory space or is checked, and when the corresponding page exists, the page is allocated to the working set issuing the page-in request without accessing a page from the device 12.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は電子計算機上で多重プ
ログラミング環境を実現するための仮想記憶管理システ
ムに関し、特に複数のジョブにそれぞれ対応する複数の
ワーキングセットを主記憶装置上に割り当て、主記憶装
置と2次記憶装置との間でページ置き換えを行うワーキ
ングセット方式の仮想記憶管理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a virtual memory management system for realizing a multiple programming environment on an electronic computer, and in particular, a plurality of working sets respectively corresponding to a plurality of jobs are assigned to a main memory device so that the main memory is The present invention relates to a working set type virtual memory management system for performing page replacement between a device and a secondary storage device.

【0002】[0002]

【従来の技術】一般に、電子計算機システムにおいて
は、主記憶装置上の実記憶容量の上限を意識せずにプロ
グラムを作成できるように、主記憶装置の実アドレス空
間よりも大きな論理アドレス空間を実現する仮想記憶方
式が用いられている。特に、多重プログラミング環境を
実現するための仮想記憶の管理システムとしては、ワー
キングセット方式の仮想記憶管理システムが最も広く用
いられている。
2. Description of the Related Art Generally, in an electronic computer system, a logical address space larger than the real address space of the main memory is realized so that a program can be created without being aware of the upper limit of the real memory capacity on the main memory. A virtual memory system is used. In particular, a working set type virtual memory management system is most widely used as a virtual memory management system for realizing a multiple programming environment.

【0003】ワーキングセット方式の仮想記憶管理シス
テムは、並行して実行されるジョブ(アクティブジョ
ブ)全てについて主記憶装置上にワーキングセットを割
り当てるものであり、主記憶装置と2次記憶装置との間
でのページ置き換えが各ワーキングセット毎に行われ
る。ここで、ワーキングセットとは、対応するジョブに
よって参照されるページを主記憶装置上に格納するため
に使用される記憶範囲である。
The working set type virtual memory management system allocates a working set to the main storage device for all jobs (active jobs) executed in parallel, and the working set is allocated between the main storage device and the secondary storage device. Page replacement is performed for each working set. Here, the working set is a storage range used for storing the page referred to by the corresponding job on the main storage device.

【0004】すなわち、主記憶装置上に割り当てられた
ある特定のワーキングセットを利用するジョブは、その
ワーキングセットをウインドとして使用し、参照すべき
ページを2次記憶装置から読み出してそれをワーキング
セットに順次格納する。この場合、もし、そのジョブに
対応するワーキングセット内部に未使用ページが存在し
ない場合には、置換対象のページがそのワーキングセッ
ト内から選定され、それがページアウトされて2次記憶
装置に退避される。そして、その2次記憶装置に退避し
たページが必要になると、そのページは、2次記憶装置
から主記憶装置上に再び呼び戻される。
That is, a job using a specific working set allocated on the main storage device uses the working set as a window, reads a page to be referenced from the secondary storage device, and sets it as the working set. Store sequentially. In this case, if there is no unused page in the working set corresponding to the job, the page to be replaced is selected from the working set, paged out and saved in the secondary storage device. It Then, when the page saved in the secondary storage device becomes necessary, the page is recalled from the secondary storage device to the main storage device again.

【0005】通常、このような2次記憶装置へのアクセ
スは、主記憶装置をアクセスする場合に比べ多くの時間
を要するので、仮想記憶管理システムにとって大きなオ
ーバーヘッドとなる。このため、2次記憶装置に対する
ページの退避、および呼び出しの回数は、できるだけ少
なくすることが好ましい。
Usually, accessing such a secondary storage device requires more time than accessing the main storage device, and thus becomes a large overhead for the virtual storage management system. For this reason, it is preferable that the number of page saves and page calls to the secondary storage device be minimized.

【0006】しかしながら、従来の仮想記憶管理システ
ムでは、ページの置き換えは各ワーキングセット毎に別
個に行われているので、たとえ主記憶装置上の他のワー
キングセットに未使用ページが存在しても、対応するワ
ーキングセット内部に未使用ページが存在しない場合に
は、ページアウト対象のページを必ず2次記憶装置に退
避する必要があった。このため、前述のようなページの
置き換えに伴う2次記憶装置へのアクセスが頻繁に発生
され、これによってオーバーヘッドが増大するという欠
点があった。
However, in the conventional virtual memory management system, page replacement is performed separately for each working set, so that even if an unused page exists in another working set on the main memory, When there is no unused page inside the corresponding working set, the page-out target page must be saved in the secondary storage device without fail. For this reason, there is a drawback in that the secondary storage device is frequently accessed due to the page replacement as described above, which increases the overhead.

【0007】[0007]

【発明が解決しようとする課題】従来では、ページの置
き換えを各ワーキングセット毎に別個に行なっているの
で、主記憶装置上に未使用ページが存在している場合で
も2次記憶装置にページを退避する必要があり、オーバ
ーヘッドが増大される欠点があった。
Conventionally, since page replacement is performed separately for each working set, even if an unused page exists in the main storage device, the page is stored in the secondary storage device. There is a drawback that it needs to be saved and the overhead is increased.

【0008】この発明はこのような点に鑑みてなされた
もので、主記憶装置上の未使用ページを有効に利用でき
るようにし、ページの置き換えによるオーバーヘッドの
低減を図ることができる仮想記憶管理システムを提供す
ることを目的とする。
The present invention has been made in view of the above circumstances, and it is possible to effectively use an unused page in the main storage device and reduce the overhead by replacing the page. The purpose is to provide.

【0009】[0009]

【課題を解決するための手段および作用】この発明は、
複数のジョブにそれぞれ対応する複数のワーキングセッ
トを主記憶装置上に割り当て、主記憶装置と2次記憶装
置との間でページ置き換えを行うワーキングセット方式
の仮想記憶管理システムにおいて、ページアウト要求が
発生した際、前記複数のワーキングセット内に未使用ペ
ージが存在するか否かを検出し、未使用ページの存在が
検出された時には、そのページアウト対象のページを前
記主記憶装置上に蓄積すると共に、検出した未使用ペー
ジをそのページアウト要求を発行したワーキングセット
の一部として割り当てる手段と、ページイン要求が発生
した際、前記主記憶装置上に蓄積されているページアウ
ト対象のページ群内にページイン対象のページが存在す
るか否かを検出し、その存在が検出された時には、その
ページイン対象のページをページイン要求を発行したワ
ーキングセットの一部として割り当てる手段とを具備す
ることを第1の特徴とする。
Means and Actions for Solving the Problems
A page-out request is generated in a virtual memory management system of the working set system in which a plurality of working sets respectively corresponding to a plurality of jobs are assigned to the main storage device and pages are replaced between the main storage device and the secondary storage device. At this time, it is detected whether or not an unused page exists in the plurality of working sets, and when the presence of an unused page is detected, the page-out target page is stored in the main memory together with A means for allocating the detected unused page as a part of the working set that issued the page-out request, and a page-out target page group stored in the main memory when the page-in request occurs. Detects whether or not the page-in target page exists, and when the existence is detected, the page-in target The first; and a means for assigning a chromatography di as part of the working set that issued the page-in requests.

【0010】この仮想記憶管理システムにおいては、主
記憶装置上に割り当てられている複数のワーキングセッ
ト内のいずれかに未使用ページが存在する場合には、ペ
ージアウト対象のページは、2次記憶装置に退避される
こと無く、そのまま主記憶装置上に蓄積される。そし
て、そのページアウト要求を発行したワーキングセット
には、その未使用ページが新たに割り当てられる。した
がって、ページアウトが必要な時であっても、2次記憶
装置への退避が不要となる分だけ、ページングによるオ
ーバーヘッドを低減できる。また、ページインが必要と
された時には、まず、主記憶装置上に蓄積されているペ
ージアウト対象のページ群内に該当するページがあるか
否か調べられ、ある場合には、2次記憶装置からページ
を呼び出すこと無く、そのページがページイン要求を発
行したワーキングセットに割り当てられる。したがっ
て、ページインが必要な時においても、そのページがペ
ージアウト対象のページ群にあれば2次記憶装置からの
呼び出しが不要となり、その分だけ、ページングによる
オーバーヘッドを低減できる。
In this virtual memory management system, when there is an unused page in any of the plurality of working sets allocated on the main memory, the page-out target page is the secondary memory. It is stored in the main memory as it is without being saved in. Then, the unused page is newly allocated to the working set that issued the page-out request. Therefore, even when page-out is required, the overhead due to paging can be reduced by the amount of saving to the secondary storage device. When a page-in is required, it is first checked whether or not there is a corresponding page in the page-out target page group stored in the main storage device. If there is, a secondary storage device is found. The page is assigned to the working set that issued the page-in request without calling the page from. Therefore, even when page-in is required, if the page is in the page-out target page group, the call from the secondary storage device is unnecessary, and the overhead due to paging can be reduced accordingly.

【0011】また、この発明の仮想記憶管理システム
は、前記複数のワーキングセット内で未使用ページが無
くなった時、前記主記憶装置上に蓄積されているページ
アウト対象のページを前記2次記憶装置にページアウト
する手段をさらに具備することを特徴とする。この仮想
記憶管理システムにおいては、蓄積されているページア
ウト対象のページを各ワーキングセットに解放できるの
で、使用できるページ数を全てのワーキングセットにつ
いて均等に保証することができる。
Also, in the virtual memory management system of the present invention, when there are no unused pages in the plurality of working sets, the page-out target page stored in the main memory is stored in the secondary memory. It is characterized by further comprising means for page-out. In this virtual memory management system, since the accumulated page-out target pages can be released to each working set, the number of usable pages can be equally guaranteed for all working sets.

【0012】[0012]

【実施例】以下、図面を参照してこの発明の実施例を説
明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0013】図1はこの発明の一実施例に関わる仮想記
憶管理システムのシステム構成が示されている。この仮
想記憶管理システムは、コンピュータシステムにおいて
多重プログラミング環境を効率良く実現するためのもの
であり、並行して動作する複数のジョブ(ジョブ1、ジ
ョブ2、ジョブ3、…)にそれぞれ対応する複数のワー
キングセットWS1、WS2、WS3、…が主記憶装置
11上に確保されている。各ジョブは、主記憶装置11
上の対応するワーキングセットをウインドとして用い、
2次記憶装置12に定義された仮想メモリ空間上のプロ
グラムやデータを参照する。
FIG. 1 shows the system configuration of a virtual memory management system according to an embodiment of the present invention. This virtual memory management system is for efficiently realizing a multiple programming environment in a computer system, and a plurality of jobs corresponding to a plurality of jobs (job 1, job 2, job 3, ...) Working in parallel are respectively provided. The working sets WS1, WS2, WS3, ... Are reserved on the main storage device 11. Each job is stored in the main storage device 11
Using the corresponding working set above as a window,
A program or data in the virtual memory space defined in the secondary storage device 12 is referred to.

【0014】主記憶装置11上のワーキングセットWS
1、WS2、WS3の各々の実メモリ空間は例えば25
6Kバイトであり、2次記憶装置12上の仮想的なワー
キングセットWS1´、WS2´、WS3´の各々の仮
想メモリ空間は例えば4Mバイトである。実メモリ空間
の記憶域は、ページと称する割り付け単位で管理され
る。1ページは、例えば4Kバイトの連続した固定長の
領域である。仮想メモリ空間の記憶域も、実メモリ空間
と同じサイズのページによって管理される。
Working set WS on the main memory 11
The real memory space of each of 1, WS2, and WS3 is, for example, 25
It is 6 Kbytes, and the virtual memory space of each of the virtual working sets WS1 ', WS2', WS3 'on the secondary storage device 12 is 4 Mbytes, for example. The storage area of the real memory space is managed in an allocation unit called a page. One page is a continuous fixed-length area of 4 Kbytes, for example. The storage area of the virtual memory space is also managed by pages of the same size as the real memory space.

【0015】図1においては、説明を簡単にするため
に、ワーキングセットWS1、WS2、WS3の各々の
実メモリ空間が4ページ分の記憶域を有し、仮想ワーキ
ングセットWS1´、WS2´、WS3´の各々の仮想
メモリ空間がn(n>4)ぺージ分の記憶域を有する場
合が示されている。
In FIG. 1, for simplification of description, each real memory space of the working sets WS1, WS2, WS3 has a storage area for four pages, and virtual working sets WS1 ', WS2', WS3. It is shown that each virtual memory space of 'has storage areas for n (n> 4) pages.

【0016】すなわち、ジョブ1については、仮想ワー
キングセットWS1´に定義されたページP1−1から
ページP1−nまでのnページ分の仮想アドレス空間を
プログラミングに利用することができ、それらnページ
のプログラム内で必要なページが主記憶装置11上のワ
ーキングセットWS1に格納される。ワーキングセット
WS1の4ページの内容は、仮想ワーキングセットWS
1´との間のページ置き換えによって必要に応じて更新
される。このページ置き換えにより、ワーキングセット
WS1には、仮想ワーキングセットWS1´のnページ
の中の任意の4ページが格納される。したがって、ジョ
ブ1は、ワーキングセットWS1の4ページをウインド
として用いることにより、仮想ワーキングセットWS1
´のnページ全てについて参照することができる。
That is, for job 1, n pages of virtual address space from page P1-1 to page P1-n defined in the virtual working set WS1 'can be used for programming, and the n pages Pages required in the program are stored in the working set WS1 on the main storage device 11. The contents of page 4 of Working Set WS1 are Virtual Working Set WS
It is updated as necessary by replacing the page with 1 '. By this page replacement, arbitrary 4 pages out of n pages of the virtual working set WS1 'are stored in the working set WS1. Therefore, the job 1 uses the four pages of the working set WS1 as a window to generate the virtual working set WS1.
Reference can be made to all n pages of ‘′.

【0017】ページ置き換えは、2次記憶装置12の仮
想ワーキングセットWS1´から主記憶装置11のワー
キングセットWS1へのページ読み込み(ページイン)
と、その主記憶装置11のワーキングセットWS1から
2次記憶装置12の仮想ワーキングセットWS1´への
ページ書き出し(ページアウト)とによって実行され
る。このようなページインおよびページアウトによるペ
ージの置き換えは、仮想記憶管理部13によって制御さ
れる。
The page replacement is performed by reading a page from the virtual working set WS1 'of the secondary storage device 12 to the working set WS1 of the main storage device 11 (page-in).
And page writing (page out) from the working set WS1 of the main storage device 11 to the virtual working set WS1 ′ of the secondary storage device 12. The virtual memory management unit 13 controls such page replacement by page-in and page-out.

【0018】ジョブ2についても、ジョブ1と同様に、
仮想ワーキングセットWS2´に定義されたページP2
−1からページP2−nまでのnページ分の仮想アドレ
ス空間を利用することができ、それらnページの内で必
要なページが主記憶装置11上のワーキングセットWS
2に格納される。また、ジョブ3についても、仮想ワー
キングセットWS3´に定義されたページP3−1から
ページP3−nまでのnページ分の仮想アドレス空間を
利用することができ、それらnページの内で必要なペー
ジが主記憶装置11上のワーキングセットWS3に格納
される。
Also for job 2, as for job 1,
Page P2 defined in virtual working set WS2 '
It is possible to use the virtual address space for n pages from -1 to page P2-n, and the necessary page among these n pages is the working set WS on the main storage device 11.
Stored in 2. Also for job 3, n pages of virtual address space from page P3-1 to page P3-n defined in the virtual working set WS3 'can be used, and necessary pages among these n pages are available. Are stored in the working set WS3 on the main storage device 11.

【0019】ジョブ2、ジョブ3の各々においても、ペ
ージインおよびページアウトによるページの置き換えが
実行される。このページの置き換えは、仮想記憶管理部
13によって制御される。
In each of job 2 and job 3, page replacement by page-in and page-out is executed. This page replacement is controlled by the virtual memory management unit 13.

【0020】仮想記憶管理部13は、主記憶装置11上
のワーキングセットWS1〜WS3をページ単位で管理
し、ワーキングセットWS1〜WS3それぞれにおける
ページ書き替えを制御する。
The virtual storage management unit 13 manages the working sets WS1 to WS3 on the main storage device 11 in page units and controls page rewriting in each of the working sets WS1 to WS3.

【0021】このページ書き替え制御において、仮想記
憶管理部13は、ワーキングセットWS1〜WS3の中
に未使用ページが存在する場合には、2次記憶装置への
アクセスを極力少なくするために、その未使用ページを
利用することにより主記憶装置11上にキャッシュメモ
リ空間を動的に設定する。このキャッシュメモリ空間
は、2次記憶装置12へのページアウト対象のページを
一時的に保持するものである。仮想記憶管理部13によ
るキャッシュメモリ空間の設定は、次のように行われ
る。
In this page rewriting control, the virtual memory management unit 13 is configured to reduce access to the secondary storage device as much as possible when there are unused pages in the working sets WS1 to WS3. The cache memory space is dynamically set on the main storage device 11 by using the unused pages. This cache memory space temporarily holds a page-out target page to the secondary storage device 12. The setting of the cache memory space by the virtual memory management unit 13 is performed as follows.

【0022】例えば、図1に示されているように、ワー
キングセットWS1の4ページ分の格納領域にはページ
P1−1〜P1−4の4ページが格納され、その4ペー
ジ分の格納領域全てが使用中であり、ワーキングセット
WS2については4ページ分の格納領域の内の2ページ
だけが使用中で、残りの2ページについては未使用であ
る場合を想定する。
For example, as shown in FIG. 1, four pages of pages P1-1 to P1-4 are stored in the storage area of four pages of the working set WS1, and the storage area of all four pages is stored. Is used, only two pages of the storage area for four pages of the working set WS2 are in use, and the remaining two pages are unused.

【0023】この状況において、ジョブ1によって例え
ば第n番目のページP1−nの参照が要求されると、そ
のページP1−nはワーキングセットWS1に格納され
てないので、ページフォールトが発生する。ページフォ
ールトが発生すると、ページP1−nを2次記憶装置1
2からページインすることが必要となる。しかし、ワー
キングセットWS1には空き領域がないので、空き領域
を生成するために、ページP1−1〜P1−4の中で最
も使用されそうにないページ(例えば、ページP1−
1)をLRU等のアルゴリズムにしたがって選定し、そ
のページを2次記憶装置12にページアウトすることが
必要となる。通常であれば、そのページアウト対象のペ
ージP1−1は、他のワーキングセットWS2,WS3
における未使用ページの有無に拘らず、2次記憶装置1
2にページアウトされる。
In this situation, when the job 1 requests to refer to the n-th page P1-n, for example, a page fault occurs because the page P1-n is not stored in the working set WS1. When a page fault occurs, the page P1-n is transferred to the secondary storage device 1
It is necessary to page in from 2. However, since there is no free area in the working set WS1, in order to generate the free area, the page that is least likely to be used among the pages P1-1 to P1-4 (for example, page P1-
It is necessary to select 1) according to an algorithm such as LRU and page out the page to the secondary storage device 12. Normally, the page P1-1 targeted for page-out is the other working set WS2, WS3.
Secondary storage device 1 with or without unused pages in
Paged out to 2.

【0024】ところが、ここでは、ワーキングセットW
S2の未使用ページが存在するので、仮想記憶管理部1
3は、ページアウトの必要が生じてた時、そのページア
ウト対象のページP1−1をページアウトせずにそのま
ま主記憶装置11上にプールしておく。そして、仮想記
憶管理部13は、例えばワーキングセットWS2の4番
目のページP2−4に対応する記憶領域を、ページアウ
トが必要なワーキングセットWS1の空き領域として割
り当て、その空き領域にページP1−nをページインす
る。
However, here, the working set W
Since there is an unused page in S2, the virtual memory management unit 1
When the page-out is required, the page-out target page P1-1 is directly pooled in the main storage device 11 without being paged out. Then, the virtual memory management unit 13 allocates, for example, a storage area corresponding to the fourth page P2-4 of the working set WS2 as a free area of the working set WS1 that needs to be paged out, and the page P1-n is set in the free area. Page in.

【0025】この場合、仮想記憶管理部13は、ページ
P1−2、P1−3、P1−4、およびP2−4をワー
キングセットWS1のページとして管理する。したがっ
て、2次記憶装置12上のページP1−2,P1−3、
P1−4、P1−nの仮想アドレスは、仮想記憶管理部
13によってそれぞれ主記憶装置11上のページP1−
2,P1−3、P1−4、P2−4の実アドレスに変換
される。このため、ジョブ1は、ページP1−nを仮想
アドレスを指定することによって、主記憶装置11上の
ページP2−4を参照することができる。
In this case, the virtual memory management unit 13 manages the pages P1-2, P1-3, P1-4, and P2-4 as pages of the working set WS1. Therefore, pages P1-2 and P1-3 on the secondary storage device 12,
The virtual addresses of P1-4 and P1-n are respectively assigned to pages P1-
2, P1-3, P1-4, P2-4 are converted into real addresses. Therefore, the job 1 can refer to the page P2-4 on the main storage device 11 by designating the virtual address for the page P1-n.

【0026】また、ページアウト対象のページP1−1
は、仮想記憶管理部13によってキャッシュメモリ空間
として管理される。すなわち、ページインが必要な際に
は、キャッシュメモリとして管理されているページアウ
ト対象のページ群の中に該当するページが存在するか否
かが調べられ、存在する場合には、2次記憶装置12か
らページインを行わずに、そのページイン対象のページ
がキャッシュメモリ空間から取り出され、それがページ
インが必要なワーキングセットに割り当てる。
The page P1-1 to be paged out
Is managed as a cache memory space by the virtual memory management unit 13. That is, when page-in is required, it is checked whether or not the corresponding page exists in the page-out target page group managed as the cache memory, and if there is, the secondary storage device. The page to be paged in is fetched from the cache memory space without page-in from 12, and it is allocated to the working set which needs page-in.

【0027】さらに、仮想記憶管理部13は、主記憶装
置11上に設定したキャッシュメモリ空間を解放する機
能を有している。つまり、キャッシュメモリ空間は未使
用ページの存在を利用して設定されているので、主記憶
装置11上に未使用ページが無くなった時には、前記主
記憶装置上11にプールされているページアウト対象の
ページ群は2次記憶装置12にページアウトされる。例
えば、ワーキングセットWS2のページP2−3、P2
−4が他のワーキングセットに使用されている場合にお
いて、ジョブ2の要求によって新たなページのページイ
ンが必要とされた時には、ワーキングセットWS2の中
のページではなく、キャッシュメモリ空間として管理さ
れているページが優先してページアウトされ、その領域
がワーキングセットWS2の空き領域として設定され
る。これによって、キャッシュメモリ空間として利用さ
れていた記憶領域が各ワーキングセットに解放できるよ
うになり、使用できるページ数を全てのワーキングセッ
トについて均等に保証することができる。
Further, the virtual memory management unit 13 has a function of releasing the cache memory space set in the main memory device 11. That is, since the cache memory space is set by utilizing the existence of unused pages, when there are no unused pages in the main storage device 11, the page-out target pooled in the main storage device 11 is set. The page group is paged out to the secondary storage device 12. For example, pages P2-3 and P2 of working set WS2
-4 is used for another working set, when the page-in of a new page is required by the request of job 2, the page is not managed in the working set WS2 but is managed as the cache memory space. The existing page is preferentially paged out, and the area is set as an empty area of the working set WS2. As a result, the storage area used as the cache memory space can be released to each working set, and the number of usable pages can be equally guaranteed for all working sets.

【0028】図2には、仮想記憶管理部13の具体的な
構成の一例が示されている。図示のように、仮想記憶管
理部13は、キャッシュメモリ管理テーブル21、未使
用ページ管理テーブル22、ワーキングセットWS1用
管理テーブル23、ワーキングセットWS2用管理テー
ブル24、ワーキングセットWS3用管理テーブル25
を備えている。
FIG. 2 shows an example of a specific configuration of the virtual memory management unit 13. As illustrated, the virtual memory management unit 13 includes a cache memory management table 21, an unused page management table 22, a working set WS1 management table 23, a working set WS2 management table 24, and a working set WS3 management table 25.
Is equipped with.

【0029】キャッシュメモリ管理テーブル21は、キ
ャッシュメモリ空間として主記憶装置11にプールされ
ているページアウト対象のページ群についてその仮想ア
ドレスと実アドレスとの対応関係をページ単位で管理す
るためのものである。未使用ページ管理テーブル22
は、主記憶装置11上に割り当てられた全てのワーキン
グセットWS1〜WS3…における未使用ページについ
てその仮想アドレスと実アドレスとの対応関係をページ
単位で管理している。
The cache memory management table 21 is for managing the correspondence relationship between the virtual address and the real address for each page group targeted for page-out pooled in the main storage device 11 as a cache memory space in page units. is there. Unused page management table 22
Manages, in page units, the correspondence between virtual addresses and real addresses of unused pages in all working sets WS1 to WS3 ... Allocated on the main storage device 11.

【0030】ワーキングセットWS1用管理テーブル2
3、ワーキングセットWS2用管理テーブル24、およ
びワーキングセットWS3用管理テーブル25は、それ
ぞれ対応するワーキングセットについて使用可能な主記
憶装置11上の記憶容量(256Kバイト)と、実際に
使用中の記憶容量とを管理しており、使用中の記憶領域
についてはページ単位でその仮想アドレスと実アドレス
のを保持している。
Management table 2 for working set WS1
3, the working set WS2 management table 24, and the working set WS3 management table 25 have a storage capacity (256 Kbytes) in the main storage device 11 that can be used for each corresponding working set and a storage capacity that is actually being used. And the storage area in use holds the virtual address and the real address of each page.

【0031】ここでは、図1と同様に、ワーキングセッ
トWS1〜WS3の使用可能な記憶容量が4ページであ
り、ワーキングセットWS1についてはページP1−1
からP1−4までの4ページ全てが使用中であり、ワー
キングセットWS2についてはページP2−1、P2−
2が使用中で、残りのページP2−3、P2−4は未使
用である場合について考える。
Here, as in FIG. 1, the usable storage capacity of the working sets WS1 to WS3 is 4 pages, and the working set WS1 has page P1-1.
To P1-4 are all in use, and for working set WS2, pages P2-1, P2-
Consider the case where 2 is in use and the remaining pages P2-3 and P2-4 are unused.

【0032】この場合、ワーキングセットWS1用管理
テーブル23には使用中のページP1−1〜P1−4全
てについてのアドレスが管理され、ワーキングセットW
S2用管理テーブル24には使用中のページP2−1と
P2−2についてだけアドレスが管理され、未使用のペ
ージP2−3とP2−4のアドレスは未使用ページ管理
テーブル22で管理される。
In this case, the management table 23 for the working set WS1 manages the addresses of all the pages P1-1 to P1-4 in use, and the working set W1.
In the S2 management table 24, addresses are managed only for the pages P2-1 and P2-2 in use, and addresses of unused pages P2-3 and P2-4 are managed in the unused page management table 22.

【0033】この様な状況下で、ワーキングセットWS
1のページP1−1をページアウトする必要性が生じた
時、そのページアウト対象のページP1−1は、ワーキ
ングセットWS1用管理テーブル23からキャッシュメ
モリ管理テーブル21に管理が移され、キャッシュメモ
リ空間として管理される。また、未使用ページP2−4
は、未使用ページ管理テーブル22からワーキングセッ
トWS1用管理テーブル23に管理が移され、ワーキン
グセットWS1の記憶領域として管理される。
Under these circumstances, the working set WS
When it becomes necessary to page out page P1-1 of No. 1, the page out target page P1-1 is transferred from the working set WS1 management table 23 to the cache memory management table 21, and the cache memory space Managed as. Also, unused pages P2-4
Is transferred from the unused page management table 22 to the working set WS1 management table 23, and is managed as a storage area of the working set WS1.

【0034】図3には、図1の仮想記憶管理システムに
おける主記憶装置11の利用形態の一例が示されてい
る。図示のように、主記憶装置11には、ワーキングセ
ットWS1〜WS3、…が割り当て割れており、これら
ワーキングセットWS1〜WS3の中の未使用ページ
は、空き領域110として管理される。キャッシュメモ
リ空間111は、空き領域110の一部を利用している
ワーキングセットについてそのページアウト対象のペー
ジを一時的に保持する。
FIG. 3 shows an example of the usage pattern of the main storage device 11 in the virtual storage management system of FIG. As shown in the figure, the working sets WS1 to WS3, ... Are allotted to the main storage device 11, and unused pages in these working sets WS1 to WS3 are managed as free areas 110. The cache memory space 111 temporarily holds a page-out target page of a working set that uses a part of the free area 110.

【0035】ここでは、ワーキングセットWS2,WS
3の未使用ページから構成される空き領域110にペー
ジP1−nが格納されており、そのページP1−nをワ
ーキングセットWS1が利用している。そして、ワーキ
ングセットWS1のページアウト対象のページP1−1
は、キャッシュメモリ空間111に登録管理されてい
る。
Here, the working sets WS2, WS
The page P1-n is stored in the empty area 110 composed of three unused pages, and the page P1-n is used by the working set WS1. Then, the page P1-1 targeted for page-out of the working set WS1
Are registered and managed in the cache memory space 111.

【0036】このように、この仮想記憶管理システムに
おいては、主記憶装置11上の空き領域110を有効に
利用することによって、ページアウト対象のページを2
次記憶装置12に退避すること無く、それを主記憶装置
11上にプールしてキャッシュメモリ空間111として
管理することができる。
As described above, in this virtual memory management system, by effectively using the free area 110 on the main memory device 11, the page-out target page is set to two.
It is possible to manage it as a cache memory space 111 by pooling it in the main storage device 11 without saving it in the next storage device 12.

【0037】このため、ページアウトが必要な時であっ
ても、2次記憶装置12への退避が不要となる分だけ、
ページングによるオーバーヘッドを低減できる。また、
ページインが必要とされた時には、まず、キャッシュメ
モリ空間111にプールされているページアウト対象の
ページ群内に該当するページがあるか否か調べられ、あ
る場合には、2次記憶装置12からの呼び出しが不要と
なり、その分だけ、ページングによるオーバーヘッドを
低減できる。次に、図4乃至図6のフローチャートを参
照して、図1の仮想記憶管理部13による動作について
説明する。まず、図4のフローチャートを参照して、2
次記憶装置12へのページアウトが必要とされた時の動
作を説明する。
Therefore, even when page-out is required, saving to the secondary storage device 12 is unnecessary,
The overhead due to paging can be reduced. Also,
When page-in is required, it is first checked whether or not there is a corresponding page in the page-out target page group pooled in the cache memory space 111, and if there is, the secondary storage device 12 Is unnecessary and the paging overhead can be reduced accordingly. Next, the operation of the virtual memory management unit 13 of FIG. 1 will be described with reference to the flowcharts of FIGS. First, referring to the flowchart of FIG.
The operation when a page out to the next storage device 12 is required will be described.

【0038】例えば、ワーキングセットWS1について
ページアウトが必要とされた時、仮想記憶管理部13
は、未使用ページ管理テーブル22を参照して、他のワ
ーキングセットWS2,WS3に未使用ページが存在す
るか否かを調べる(ステップS11)。未使用ページが
ない場合には、ページアウト対象のページを2次記憶装
置12に退避し、これによつてワーキングセットWS1
に空き領域を生成する(ステップS12)。
For example, when a page out is required for the working set WS1, the virtual memory management unit 13
Refers to the unused page management table 22 to check whether unused pages exist in the other working sets WS2 and WS3 (step S11). If there is no unused page, the page to be paged out is saved in the secondary storage device 12, and the working set WS1
A free area is generated in the area (step S12).

【0039】一方、未使用ページが存在する場合には、
ページアウト対象のページをそのまま主記憶装置11上
にプールし、その管理をワーキングセットWS1用管理
テーブル23からキャッシュメモリ管理テーブル21に
移す(ステップS13)。そして、未使用ページをワー
キングセットWS1用管理テーブル23に登録すること
によって、その未使用ページをワーキングセットWS1
の新たなページとして割り当てる(ステップS14)。
次いで、図5のフローチャートを参照して、ページイン
が必要とされた時の動作を説明する。
On the other hand, when there is an unused page,
The pages to be paged out are directly pooled in the main storage device 11, and the management thereof is transferred from the working set WS1 management table 23 to the cache memory management table 21 (step S13). Then, by registering the unused page in the management table 23 for the working set WS1, the unused page is stored in the working set WS1.
Is assigned as a new page (step S14).
Next, the operation when page-in is required will be described with reference to the flowchart of FIG.

【0040】例えば、ワーキングセットWS1について
ページフォールトが発生した時、仮想記憶管理部13
は、キャッシュメモリ管理テーブル21を参照して、キ
ャッシュメモリ空間111上にページイン対象のページ
が存在するか否かを調べる(ステップS21)。ページ
イン対象のページが存在しない場合には、ページアウト
対象のページを2次記憶装置12から呼び込み、これを
ワーキングセットWS1にページインする(ステップS
22)。
For example, when a page fault occurs in the working set WS1, the virtual memory management unit 13
Refers to the cache memory management table 21 and checks whether or not a page-in target page exists in the cache memory space 111 (step S21). If the page-in target page does not exist, the page-out target page is called from the secondary storage device 12 and paged in to the working set WS1 (step S).
22).

【0041】一方、キャッシュメモリ空間111上にペ
ージイン対象のページが存在する場合には、そのページ
イン対象のページの管理をキャッシュメモリ管理テーブ
ル21からワーキングセットWS1用管理テーブル23
に移し、そのページイン対象のページをワーキングセッ
トWS1に割り当てる(ステップS23)。次に、図6
のフローチャートを参照して、主記憶装置11上に空き
領域が不足した場合の動作について説明する。
On the other hand, if a page-in target page exists in the cache memory space 111, the page-in target page is managed from the cache memory management table 21 to the working set WS1 management table 23.
The page to be paged in is assigned to the working set WS1 (step S23). Next, FIG.
The operation in the case where the free space in the main storage device 11 is insufficient will be described with reference to the flowchart of FIG.

【0042】キャッシュメモリ空間111として利用さ
れている記憶領域は、本来は、未使用ページを有してい
る他のワーキングセットの記憶領域である。このため、
空き領域が不足した場合には、キャッシュメモリ空間1
11として利用されている記憶領域を解放する必要があ
る。
The storage area used as the cache memory space 111 is originally a storage area of another working set having an unused page. For this reason,
If there is not enough free space, cache memory space 1
It is necessary to release the storage area used as 11.

【0043】したがって、空き領域が不足した場合に
は、仮想記憶管理部13は、まず、キャッシュメモリ管
理テーブル21を参照することによって、主記憶装置1
1上にキャッシュメモリ空間111として管理されてい
るページが存在するか否かを調べる(ステップS3
1)。キャッシュメモリ空間111として管理されてい
るページが存在する場合には、仮想記憶管理部13は、
そのページを2次記憶装置12に退避する(ステップS
32)。そして、仮想記憶管理部13は、キャッシュメ
モリ空間111として管理されているページの管理を、
キャッシュメモリ管理テーブル21から未使用ページ管
理テーブル22に移し、それを未使用ページとして割り
当てる(ステップS33)。
Therefore, when the free space is insufficient, the virtual memory management unit 13 first refers to the cache memory management table 21 to refer to the main memory device 1.
It is checked whether or not there is a page managed as the cache memory space 111 on 1 (step S3).
1). When there is a page managed as the cache memory space 111, the virtual memory management unit 13
The page is saved to the secondary storage device 12 (step S
32). Then, the virtual memory management unit 13 manages the pages managed as the cache memory space 111,
It moves from the cache memory management table 21 to the unused page management table 22 and allocates it as an unused page (step S33).

【0044】以上のように、この実施例においては、主
記憶装置11上の空き領域を利用してその主記憶装置1
1上にキャッシュメモリ空間111を動的に設定するこ
とが可能となり、ページアウト対象のページは、2次記
憶装置12に退避されること無く、そのまま主記憶装置
12上に蓄積される。そして、そのページアウト要求を
発行したワーキングセットには、その未使用ページが新
たに割り当てられる。したがって、ページアウトが必要
な時であっても、2次記憶装置12への退避が不要とな
る分だけ、ページングによるオーバーヘッドを低減でき
る。
As described above, in this embodiment, the free space on the main storage device 11 is utilized to make the main storage device 1
1, the cache memory space 111 can be dynamically set, and the page-out target page is directly stored in the main storage device 12 without being saved in the secondary storage device 12. Then, the unused page is newly allocated to the working set that issued the page-out request. Therefore, even when page-out is required, the overhead due to paging can be reduced as much as saving to the secondary storage device 12 is unnecessary.

【0045】また、ページインが必要とされた時には、
まず、主記憶装置上にキャッシュメモリ空間111とし
て蓄積されているページアウト対象のページ群内に該当
するページがあるか否か調べられ、ある場合には、2次
記憶装置12からページを呼び出すこと無く、そのペー
ジがページイン要求を発行したワーキングセットに割り
当てられる。したがって、ページインが必要な時におい
ても、そのページがページアウト対象のページ群にあれ
ば2次記憶装置12からの呼び出しが不要となり、その
分だけ、ページングによるオーバーヘッドを低減でき
る。
When page-in is required,
First, it is checked whether or not there is a corresponding page in the page-out target page group stored in the main storage device as the cache memory space 111, and if there is, the page is called from the secondary storage device 12. None, the page is assigned to the working set that issued the page-in request. Therefore, even when page-in is necessary, if the page is in the page-out target page group, the call from the secondary storage device 12 is unnecessary, and the overhead due to paging can be reduced accordingly.

【0046】[0046]

【発明の効果】以上のように、この発明によれば、主記
憶装置上の未使用ページを有効に利用できるようにな
り、ページの置き換えによるオーバーヘッドの低減を実
現できる。
As described above, according to the present invention, unused pages on the main storage device can be effectively used, and the overhead due to page replacement can be reduced.

【図面の簡単な説明】[Brief description of drawings]

【図1】この発明の一実施例に係わる仮想記憶管理シス
テムの構成を示すブロック図。
FIG. 1 is a block diagram showing the configuration of a virtual memory management system according to an embodiment of the present invention.

【図2】同実施例の仮想記憶管理システムに設けられて
いる仮想記憶管理部の具体的構成の一例を示すブロック
図。
FIG. 2 is a block diagram showing an example of a specific configuration of a virtual storage management unit provided in the virtual storage management system of the same embodiment.

【図3】同実施例の仮想記憶管理システムにおける主記
憶装置の利用形態の一例を示すブロック図。
FIG. 3 is an exemplary block diagram showing an example of a usage pattern of a main storage device in the virtual storage management system of the embodiment.

【図4】同実施例のページアウト必要時の動作を説明す
るフローチャート。
FIG. 4 is a flowchart illustrating an operation when a page-out is required in the embodiment.

【図5】同実施例のページイン必要時の動作を説明する
フローチャート。
FIG. 5 is a flowchart for explaining an operation when a page-in is required in the embodiment.

【図6】同実施例の未使用メモリ不足時の動作を説明す
るフローチャート。
FIG. 6 is a flowchart for explaining the operation when the unused memory is insufficient in the embodiment.

【符号の説明】[Explanation of symbols]

11…主記憶装置、12…2次記憶装置、13…仮想記
憶管理装置、21…キャッシュメモリ管理テーブル、2
2…未使用ページ管理テーブル、23〜25…ワーキン
グセット管理テーブル。
11 ... Main storage device, 12 ... Secondary storage device, 13 ... Virtual storage management device, 21 ... Cache memory management table, 2
2 ... Unused page management table, 23-25 ... Working set management table.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数のジョブにそれぞれ対応する複数の
ワーキングセットを主記憶装置上に割り当て、主記憶装
置と2次記憶装置との間でページ置き換えを行うワーキ
ングセット方式の仮想記憶管理システムにおいて、 ページアウト要求が発生した際、前記複数のワーキング
セット内に未使用ページが存在するか否かを検出し、未
使用ページの存在が検出された時には、そのページアウ
ト対象のページを前記主記憶装置上に蓄積すると共に、
検出した未使用ページをそのページアウト要求を発行し
たワーキングセットの一部として割り当てる手段と、 ページイン要求が発生した際、前記主記憶装置上に蓄積
されているページ内にページイン対象のページが存在す
るか否かを検出し、その存在が検出された時には、その
ページイン対象のページをページイン要求を発行したワ
ーキングセットの一部として割り当てる手段とを具備す
ることを特徴とする仮想記憶管理システム。
1. A working set type virtual storage management system for allocating a plurality of working sets respectively corresponding to a plurality of jobs to a main storage device and performing page replacement between a main storage device and a secondary storage device, When a page-out request occurs, it is detected whether or not an unused page exists in the plurality of working sets, and when the existence of an unused page is detected, the page-out target page is set to the main storage device. Accumulated on top of
A means for allocating the detected unused page as a part of the working set that issued the page-out request, and a page-in target page among the pages accumulated in the main memory when the page-in request occurs. Virtual memory management, comprising: means for detecting whether or not the page exists, and allocating the page-in target page as a part of the working set that issued the page-in request when the existence is detected. system.
【請求項2】 前記複数のワーキングセット内で未使用
ページが無くなった時、前記主記憶装置上に蓄積されて
いるページを前記2次記憶装置にページアウトする手段
をさらに具備することを特徴とする請求項1記載の仮想
記憶管理システム。
2. When the unused pages in the plurality of working sets are exhausted, a page is stored in the main storage device and is paged out to the secondary storage device. The virtual memory management system according to claim 1.
JP3172255A 1991-07-12 1991-07-12 Virtual storage management system Pending JPH0520201A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3172255A JPH0520201A (en) 1991-07-12 1991-07-12 Virtual storage management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3172255A JPH0520201A (en) 1991-07-12 1991-07-12 Virtual storage management system

Publications (1)

Publication Number Publication Date
JPH0520201A true JPH0520201A (en) 1993-01-29

Family

ID=15938504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3172255A Pending JPH0520201A (en) 1991-07-12 1991-07-12 Virtual storage management system

Country Status (1)

Country Link
JP (1) JPH0520201A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061220A (en) * 2008-09-01 2010-03-18 Sony Computer Entertainment Inc Data transfer apparatus, data transfer method and processor
JP2013033369A (en) * 2011-08-02 2013-02-14 Lenovo Singapore Pte Ltd Method to enlarge available memory amount of main memory, and computer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061220A (en) * 2008-09-01 2010-03-18 Sony Computer Entertainment Inc Data transfer apparatus, data transfer method and processor
JP2013033369A (en) * 2011-08-02 2013-02-14 Lenovo Singapore Pte Ltd Method to enlarge available memory amount of main memory, and computer
US9021243B2 (en) 2011-08-02 2015-04-28 Lenovo (Singapore) Pte. Ltd. Method for increasing free memory amount of main memory and computer therefore

Similar Documents

Publication Publication Date Title
US6591355B2 (en) Distributed shared memory system with variable granularity
US6026475A (en) Method for dynamically remapping a virtual address to a physical address to maintain an even distribution of cache page addresses in a virtual address space
KR101893451B1 (en) Memory management method and device
EP0557050B1 (en) Apparatus and method for executing processes in a multiprocessor system
US5802341A (en) Method for the dynamic allocation of page sizes in virtual memory
JP4160255B2 (en) Application programming interface that controls the allocation of physical memory in a virtual storage system by an application program
US5897660A (en) Method for managing free physical pages that reduces trashing to improve system performance
US5860144A (en) Addressing method and system for providing access of a very large size physical memory buffer to a number of processes
EP2266040A2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
US6629111B1 (en) Memory allocation system
US10942683B2 (en) Reducing page invalidation broadcasts
US5394539A (en) Method and apparatus for rapid data copying using reassigned backing pages
US5996055A (en) Method for reclaiming physical pages of memory while maintaining an even distribution of cache page addresses within an address space
US6016529A (en) Memory allocation technique for maintaining an even distribution of cache page addresses within a data structure
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
JP3295436B2 (en) Microprocessor cache consistency
JP2000250814A (en) Dynamic memory allocation method for maintaining uniform distribution of cache page address in address space
JPH0520201A (en) Virtual storage management system
US20060168419A1 (en) Method for updating entries of address conversion buffers in a multi-processor computer system
US20080270676A1 (en) Data Processing System and Method for Memory Defragmentation
JP3456727B2 (en) Data processing device
JP7102482B2 (en) Memory system and control method
JPH1091527A (en) Storage device and storage medium
EP0919928A2 (en) Memory allocation method and apparatus with an even distribution of cache page addresses within virtual memory regions
JPS6043756A (en) Memory control system