JP3431936B2 - Memory management method and device - Google Patents

Memory management method and device

Info

Publication number
JP3431936B2
JP3431936B2 JP32426792A JP32426792A JP3431936B2 JP 3431936 B2 JP3431936 B2 JP 3431936B2 JP 32426792 A JP32426792 A JP 32426792A JP 32426792 A JP32426792 A JP 32426792A JP 3431936 B2 JP3431936 B2 JP 3431936B2
Authority
JP
Japan
Prior art keywords
page
priority
pages
replacement
target
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
JP32426792A
Other languages
Japanese (ja)
Other versions
JPH06175927A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP32426792A priority Critical patent/JP3431936B2/en
Publication of JPH06175927A publication Critical patent/JPH06175927A/en
Application granted granted Critical
Publication of JP3431936B2 publication Critical patent/JP3431936B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、仮想記憶を用いた情報
処理装置等におけるメモリ管理方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory management method and device in an information processing device or the like using virtual memory.

【0002】[0002]

【従来の技術】従来、仮想記憶によるメモリ管理を用い
た情報処理装置のオペレーティング・システムにおいて
は、デマンド・ページング方法によって実行ファイルの
ローディングを行なっていた。その場合、ページング中
にページ・フォールトが発生した場合、ページ・フォー
ルトが発生したページに対して1ページをページインす
ることは、ページ・フォールトの数を増やし情報処理装
置の処理能力を低下させるので、ページをまとめてペー
ジインしてしまう方法が提案されている。その中で、デ
マンド・ページングに付加する形で、プリページングを
行なうデマンド・プリページング方法は効率のよいペー
ジング方法である。このデマンド・プリページング方法
のうちで代表的なものに4.3BSDやOSF/1など
で採用されているクラスタリングと呼ばれるページフォ
ールトの発生したページの前後のページを一度にページ
クラスタとしてローディングしてくる方法と、単にペー
ジフォールトの発生したページの先のページをローディ
ングしてくる単純なプリページング方法がある。クラス
タリング方法では、図18に示すようにページフォール
トを起こしたページを含むクラスタ(図の場合は4ページ
が1ページクラスタとなっている)が一度にローディング
される。単純なプリページング方法では図19に示すよ
うにページフォールトを起こしたページから後の数ペー
ジ(図の場合には3ページ)がそのページフォールトを
起こしたページと共にローディングされる。
2. Description of the Related Art Conventionally, in an operating system of an information processing apparatus using memory management by virtual memory, an execution file is loaded by a demand paging method. In that case, if a page fault occurs during paging, paging in one page for the page in which the page fault occurred increases the number of page faults and reduces the processing capability of the information processing device. , The method of putting pages in collectively is proposed. Among them, the demand pre-paging method of performing pre-paging in addition to demand paging is an efficient paging method. A typical one of the demand pre-paging methods is to load pages before and after a page having a page fault called clustering, which is adopted in 4.3BSD and OSF / 1, as a page cluster at a time. There is a method, and there is a simple pre-paging method that simply loads the page beyond the page where the page fault occurred. In the clustering method, as shown in FIG. 18, a cluster including a page in which a page fault has occurred (in the figure, 4 pages are 1 page clusters) is loaded at one time. In the simple pre-paging method, as shown in FIG. 19, several pages (three pages in the figure) after the page faulted are loaded together with the page faulted page.

【0003】また、ページフォールトの処理時に空きペ
ージが存在しない時に行われるページ置換を行う場合、
ページ置換の対象になりページアウトするページを2次
記憶装置に書き込む処理と主記憶から置換されたページ
の再利用時に2次記憶装置やネットワークで接続された
情報処理装置から転送する際の処理とにかかる時間を考
慮せずに、ページ置換の対象となるページをそのページ
の過去の使用履歴情報から選択していた。つまり、ペー
ジ置換の対象となるページはLRU(Least Re
cently Used)と呼ばれる方法の近似に従っ
て選択される。このLRUはもっとも最近参照されたペ
ージは主記憶に残し、もっとも長く参照されていないペ
ージをページ置換の対象とするものであり、全てのペー
ジが平等に扱われていた。
In addition, when page replacement is performed when there is no empty page at the time of processing a page fault,
A process of writing a page to be paged out and a page out to a secondary storage device, and a process of transferring a page replaced from the main storage from a secondary storage device or an information processing device connected by a network. The page to be replaced is selected from the past usage history information of the page without considering the time required for the page replacement. That is, the page that is the target of page replacement is the LRU (Last Res
It is selected according to an approximation of the method called "cently Used". This LRU leaves the most recently referenced page in main memory and targets the page that has not been referenced for the longest time as a page replacement target, and all pages are treated equally.

【0004】[0004]

【発明が解決しようとする課題】上述のように、デマン
ド・プリページング方法を採用している場合には、単純
に1ページ毎にページインしてくる方法を採用している
場合と比較して、多くのページを早く消費してしまう。
さらに、プリページングやクラスタリングによってペー
ジインしてきたページのうち実際にページフォールトの
起こったページ以外のページは、すぐに参照されるとい
う保証はなく、結果的に無駄なページのローディングを
行なったことになる。従って、フリーなページ数が減少
してきた場合や、システム全体の負荷が重くなってきた
場合に、デマンド・プリページング方法を行なっている
と、情報処理装置の処理能力が低下してしまうという欠
点があった。
As described above, when the demand pre-paging method is adopted, compared with the case where the method of simply page-in every page is adopted. , Consumes many pages quickly.
Furthermore, there is no guarantee that pages other than the page that actually caused the page fault among the pages that have been paged in by pre-paging or clustering will be referenced immediately, and as a result, unnecessary page loading was performed. Become. Therefore, when the demand pre-paging method is used when the number of free pages decreases or the load of the entire system becomes heavy, the processing capacity of the information processing device decreases. there were.

【0005】また、全てのページを平等にページ置換選
択の対象とするページ置換方法をもつ情報処理装置で
は、2次記憶装置に書き込まなくてはならないページを
ページ置換してしまう場合は、書き換えられていないペ
ージをページ置換してしまう場合よりも、2次記憶装置
に書き戻すだけ処理がかかる。また、再読み込みに時間
のかかる2次記憶装置や遅いネットワークで接続された
情報処理装置にデータの存在するページをページ置換し
てしまった場合には、速度の比較的はやい2次記憶装置
にデータの存在するページよりも、再びそのページを利
用しなければならなくなった場合に再読み込みの時の時
間がかかってしまう。このために、情報処理装置全体の
ページ置換のページアウトの処理とページインの処理に
時間がかかってしまうという欠点があった。
Further, in an information processing apparatus having a page replacement method in which all pages are equally selected for page replacement selection, if pages that must be written in the secondary storage device are replaced, they are rewritten. It takes more processing to write back to the secondary storage device than to replace a page that is not stored. Also, if a page that has data is replaced in a secondary storage device that takes time to reload or an information processing device connected by a slow network, the data is stored in the secondary storage device that is relatively fast. It takes more time than reloading the existing page if you have to use the page again. For this reason, there is a disadvantage that the page-out process for page replacement and the page-in process for the entire information processing apparatus take time.

【0006】[0006]

【課題を解決するための手段】本発明のメモリ管理方法
は、仮想記憶を用いた情報処理装置のメモリ管理方法に
おいて、各ページにページ置換時の処理コストに応じた
優先度を設定する設定工程と、ページ置換が必要な数を
求める置換対象数設定工程と、前記置換対象数設定工程
で求めた数に応じて、各優先度毎にページ置換する数を
それぞれ求める優先度毎対象数設定工程と、前記優先度
毎対象数設定工程で求めた数に基づき、ページ置換の対
象とするページを選択する選択工程とを有する。
A memory management method of the present invention is a memory management method for an information processing apparatus using virtual memory, wherein a setting step of setting a priority corresponding to a processing cost at the time of page replacement for each page. And a replacement target number setting step of determining the number of page replacements required, and a priority target number setting step of determining the number of page replacements for each priority according to the number determined in the replacement target number setting step. And a selection step of selecting a page to be a page replacement target based on the number obtained in the priority-based target number setting step.

【0007】また、本発明のメモリ管理装置は、仮想記
憶を用いた情報処理装置のメモリ管理装置において、各
ページにページ置換時の処理コストに応じた優先度を設
定する設定手段と、ページ置換が必要な数を求める置換
対象数設定手段と、前記置換対象数設定手段で求めた数
に応じて、各優先度毎にページ置換する数をそれぞれ求
める優先度毎対象数設定手段と、前記優先度毎対象数設
定手段で求めた数に基づき、ページ置換の対象とするペ
ージを選択する選択手段とを有する。
Further, the memory management device of the present invention is a memory management device of an information processing device using virtual memory, and a setting means for setting priority to each page according to a processing cost at the time of page replacement, and page replacement. A target number setting means for determining the required number, a target number setting means for each priority for determining the number of page replacements for each priority according to the number calculated by the number setting target for replacement, and the priority And a selection unit for selecting a page to be replaced with a page based on the number obtained by the target number setting unit for each time.

【0008】[0008]

【0009】[0009]

【実施例】【Example】

(実施例1)以下図面を参照して本発明の一実施例を詳
細に説明する。
(Embodiment 1) An embodiment of the present invention will be described in detail below with reference to the drawings.

【0010】図1は、本発明の一実施例に係る情報処理
装置のブロック図である。図において、1はCPUであ
り、本装置の制御を司る。2は、主メモリであり、RO
M201とRAM202とから成る。ROM201はC
PU1で実行される各種のプログラムや本発明を実現す
る処理が格納されている。RAM202は、2次記憶装
置3からロードされた各種情報やプログラム、CPU1
のワークエリアとして用いられる。3は2次記憶装置で
あり、種々のデータやプログラム等が格納されている。
4は入力装置としてのキーボードであり、種々のデータ
等が入力される。5は表示装置であり、CPU1で処理
した結果等が表示される。6はネットワークであり、I
/Oインターフェース(不図示)を介してCPU1と接
続されている。
FIG. 1 is a block diagram of an information processing apparatus according to an embodiment of the present invention. In the figure, reference numeral 1 is a CPU, which controls the apparatus. 2 is a main memory, RO
It consists of M201 and RAM202. ROM201 is C
It stores various programs executed by the PU 1 and processes for implementing the present invention. The RAM 202 stores various information and programs loaded from the secondary storage device 3, the CPU 1
Used as a work area. A secondary storage device 3 stores various data, programs, and the like.
A keyboard 4 as an input device is used to input various data and the like. Reference numeral 5 denotes a display device on which a result processed by the CPU 1 and the like are displayed. 6 is a network, I
It is connected to the CPU 1 via an / O interface (not shown).

【0011】図2、本発明の実施例1の処理動作を示す
フローチャートである。図において、まず、情報処理装
置全体の負荷を検出する(S21)。この情報処理装置
全体の負荷の検出には、例えば、ロードアベレージ、フ
リーなページ数、アクティブなプロセス数、ディスクの
読み出し頻度等の数値から求める。更に、このような数
値を複数組み合わせて求めても良い。
FIG. 2 is a flowchart showing the processing operation of the first embodiment of the present invention. In the figure, first, the load of the entire information processing apparatus is detected (S21). In order to detect the load of the entire information processing apparatus, for example, a load average, the number of free pages, the number of active processes, the frequency of reading the disk, and the like are obtained. Further, a plurality of such numerical values may be combined and obtained.

【0012】S21で求めた、負荷に応じてプリページ
を行なうページの数を設定する(S22)。S22で設
定したページの数に応じてページのローディングを実行
する(S23)。
The number of pages to be pre-paged is set according to the load obtained in S21 (S22). The page loading is executed according to the number of pages set in S22 (S23).

【0013】図3は、情報処理装置全体の負荷の検出
し、プリページ数の設定する処理のフローチャートであ
る。図において、システム全体の負荷をロードアベレー
ジとフリーなページ数で検出し(S31、S32)、ロ
ードアベレージとフリーなページ数とをそれぞれ閾値と
比較する(S33)。ロードアベレージがある閾値(L
thresh)以上の時やフリーなページ数がある閾値
(Pthresh)以下の時には、プリページングを停
止し(S34、S36)、そうでなければNページのプ
リページを行なう(S35、S36)。
FIG. 3 is a flowchart of a process for detecting the load on the entire information processing apparatus and setting the number of prepages. In the figure, the load of the entire system is detected by the load average and the number of free pages (S31, S32), and the load average and the number of free pages are respectively compared with the threshold (S33). Threshold with load average (L
When the number of pages is equal to or more than thresh) or the number of free pages is equal to or less than a certain threshold value (Pthresh), pre-paging is stopped (S34, S36), and if not, N pages are pre-paged (S35, S36).

【0014】ここで、プリページの数Nを固定の数値で
なく、図4に示すようにある関数(ここでは、アクティ
ブなプロセス数に基づいている)にしたがって、プリペ
ージ数を変化させてもよい。つまり、図4においては、
アクティブなプロセス数が1個の時にプリページ数は6ペ
ージ、アクティブなプロセス数が1個より多く3個以下の
時にプリページ数は4ページ、アクティブなプロセス数
が3個より多く6個以下の時にプリページ数は2ページ、
アクティブなプロセス数が6個より多く10個以下の時に
プリページ数は1ページ、アクティブなプロセス数が10
個より多い場合にはデマンド・プリページを行なわない
とする。これによって、アクティブなプロセスが多く存
在している場合に、一度に大きなデータをローディング
することによってシステム全体の処理能力が低下するこ
とを防止することができる。
Here, even if the number N of prepages is not a fixed numerical value, but the number of prepages is changed according to a function (here, it is based on the number of active processes) as shown in FIG. Good. That is, in FIG.
When the number of active processes is 1, the number of pre-pages is 6 pages, when the number of active processes is more than 1 and less than 3, the number of pre-pages is 4, the number of active processes is more than 3 and less than 6 Sometimes the number of pre-pages is 2,
When the number of active processes is more than 6 and less than 10, the number of pre-pages is 1 page and the number of active processes is 10.
If the number is larger than the number, it is assumed that the demand prepage is not performed. As a result, when a large number of active processes exist, it is possible to prevent the processing capacity of the entire system from being lowered by loading a large amount of data at one time.

【0015】また、システム内の負荷を検出するだけで
はなく、接続されていてその影響を受けてしまうような
ネットワークの負荷を検出することによって、ネットワ
ークに対する無駄な転送を要求しなくさせてもよい。例
えば、ほとんどのファイルをネットワークによって接続
された情報処理装置によって提供されているようなシス
テムにとっては、そのようなネットワークの負荷情報は
重要である。ネットワークの負荷情報の取得は、例え
ば、過去のデータ要求のレスポンスタイムをRAM20
2内に格納し手置くことにより実現することができる。
さらに、上述のようなシステム内の負荷情報とネットワ
ーク等の付加情報とを組み合わせて使用しても良い。
Further, not only the load in the system is detected, but also the load of the network which is connected and is affected by the load may be detected so that the unnecessary transfer to the network is not required. . For example, in a system in which most files are provided by an information processing device connected by a network, such network load information is important. For obtaining the load information of the network, for example, the response time of the past data request is stored in the RAM 20.
It can be realized by storing in 2 and placing it by hand.
Further, the load information in the system as described above and the additional information such as the network may be used in combination.

【0016】(実施例2)次に、本発明の実施例2を説
明する。
(Second Embodiment) Next, a second embodiment of the present invention will be described.

【0017】図5は、本発明の実施例2の動作を示すフ
ローチャートである。図において、まず、ページアウト
の優先度を設定する(S51)。設定に応じて、ページ
を使用する(S52)。優先度を設定する場合、ページ
が置換対象となった時に、2次記憶装置に書き込まなく
てはならないかどうかと、そのページが保持している内
容を再利用する時にどの位の時間がかかるかを優先度に
反映する。
FIG. 5 is a flow chart showing the operation of the second embodiment of the present invention. In the figure, first, the priority of page-out is set (S51). The page is used according to the setting (S52). When setting a priority, whether a page must be written to secondary storage when it becomes a replacement target, and how long it takes to reuse the contents held by that page Is reflected in the priority.

【0018】図6は、優先度の設定の1例を示す図であ
る。図において、最もページ置換の対象として優先度が
高いものはローカルディスク上のファイルを保持するペ
ージで書き込みなしのものであり、次に優先度の高いも
のはローカルディスク上のファイルを保持するページで
書き込みがあるものであり、次にネットワーク上に接続
されたサーバ上のファイルを保持するページで書き込み
なしのものであり、最も優先度の低いものはネットワー
ク上のファイルを保持するページで書き込みがあるもの
である。
FIG. 6 is a diagram showing an example of priority setting. In the figure, the page replacement with the highest priority is the page that holds the file on the local disk without writing, and the second highest priority is the page that holds the file on the local disk. a write also Nodea is, then is of no write on the page that holds a file on a server connected on the network, the lowest-priority write a page that holds the file on the network There is something.

【0019】この優先度の設定は、ページの割当時に行
なう必要はなく、ページ置換の対象を設定する時や、プ
ログラムの実行時に動的に設定してもよい。
This priority setting need not be performed at the time of page allocation, but may be dynamically set at the time of setting the page replacement target or at the time of executing the program.

【0020】図5において、ページに設定されている優
先度に応じてページ置換の対象を選択する(S53)。
図7は、ページに設定されている優先度に従ってページ
置換の対象を選択する処理(図5におけるS53)を示
すフローチャートである。図において、優先度の高いペ
ージが1ページ以上あれば、そのページをページ置換の
対象とする(S71〜S74)。S71〜S74におい
て、優先度の高いページからページ置換の対象を選択す
る。次に、設定された優先度が等しいページが複数存在
する場合には、それらのページから従来のページ置換の
選択方法(LURの近似など)にしたがって対象を選択
する。
In FIG. 5, the page replacement target is selected according to the priority set for the page (S53).
FIG. 7 is a flowchart showing a process (S53 in FIG. 5) of selecting a page replacement target according to the priority set for a page. In the figure, if there is one or more high priority pages, the page is targeted for page replacement (S71 to S74). In S71 to S74, the page replacement target is selected from the pages with high priority. Next, when there are a plurality of pages with the same set priority, the target is selected from those pages according to the conventional page replacement selection method (such as approximation of LUR).

【0021】また、優先度の設定として、図8に示すよ
うに2次記憶装置の種類によってページの優先度を設定
してもよい。図において、2次記憶装置としてラムディ
スク、ハードディスク、光磁気ディスク、フレキシブル
ディスクが存在している場合に、それらのアクセス時間
を考慮して、ラムディスク上のファイルを保持するペー
ジの優先度を最も高くし、次にハードディスク上のファ
イルを保持するページの優先度を高く、次に光磁気ディ
スク上のファイルを保持するページの優先度を高くす
る。フレキシブルディスク上のファイルを保持するペー
ジの優先度が最も低い。
As the priority setting, as shown in FIG. 8, the page priority may be set according to the type of the secondary storage device. In the figure, when a ram disk, a hard disk, a magneto-optical disk, and a flexible disk are present as secondary storage devices, the access time of them is taken into consideration and the priority of the page holding the file on the ram disk is the highest. Then, the page holding the file on the hard disk is given a higher priority, and the page holding the file on the magneto-optical disk is given a higher priority next. The page holding the file on the flexible disk has the lowest priority.

【0022】また、優先度に応じてページ置換対象とな
る数を変化させてもよい。図9は優先度に応じてページ
置換対象となる数を変化させる処理を示すフローチャー
トである。図において、まず、システム全体で必要な、
ページ置換の数を検出する(S91)。それによって優
先度1のページから置換すべき数を、優先度2のページ
から置換すべき数を、優先度3のページから置換すべき
数を、優先度4のページから置換すべき数をと設定する
(S92)。このように設定した数のページを、同じ優
先度のページの中からLRUの近似などの方法によって
選び出す。従って、優先度の高いページほどページ置換
されやすくなるし、優先度の低いページでもほとんど使
用されないものはページ置換の対象となり、処理コスト
と使用頻度という2つの点から有利なページ置換が行わ
れる(S93)。
Further, the number of pages to be replaced may be changed according to the priority. FIG. 9 is a flowchart showing a process of changing the number of pages to be replaced according to the priority. In the figure, first,
The number of page replacements is detected (S91). Accordingly, the number of pages to be replaced from the page of priority 1, the number of pages to be replaced from the page of priority 2, the number to be replaced from the page of priority 3, and the number to be replaced from the page of priority 4 are determined. Set (S92). The number of pages set in this way is selected from pages of the same priority by a method such as LRU approximation. Therefore, pages with higher priority are more likely to be replaced with pages, and pages with low priority that are rarely used are subject to page replacement, and page replacement advantageous in terms of processing cost and frequency of use is performed ( S93).

【0023】また、一度ローディングしてきたページデ
ータは必ずローカルなディスクに書き出すシステム
(4.3BSD Unixなど)に対して、次のように
適用できる。このようなシステムの場合には、そのペー
ジが置換されてしまったあとで再び利用する場合のロー
ディングの時間は、どのページに対しても同じである。
しかし、一度ローカルなディスクに書き込まれたことの
あるページが、主記憶中で書き換えられなかった場合
に、そのページをページ置換の対象にすればローカルな
ディスクに書き戻る必要はない。つまり、このようなシ
ステムの場合には、1度ローカルなディスクに書き込ま
れていて、かつ書き換えられていないページの優先度を
高くすることによって、システムの処理能力の低下を防
止する効果が得られる。
Further, the following can be applied to a system (4.3 BSD Unix, etc.) in which page data once loaded is always written to a local disk. In such a system, the loading time when the page is replaced and then reused is the same for any page.
However, if a page once written to the local disk is not rewritten in the main memory, it is not necessary to write it back to the local disk if the page is targeted for page replacement. That is, in the case of such a system, by increasing the priority of pages that have been once written to the local disk and have not been rewritten, it is possible to obtain an effect of preventing a decrease in the processing capacity of the system. .

【0024】このように、ページアウトの処理コストと
再利用時のローディングの処理コストのどちらか一方を
考慮して優先度を設定してもよく、両方を考慮して優先
度を設定してもよい。
As described above, the priority may be set in consideration of either the processing cost of page-out or the processing cost of loading at the time of reuse, or the priority may be set in consideration of both of them. Good.

【0025】また、2次記憶装置上にあるファイルを主
記憶上にローディングしてきた場合に、それらには全く
書換えを許さないシステム、例えばMach等(カーネ
ビギメロン大学)の場合については、以下のように優先
度の設定を行う。2次記憶装置上のファイルに対して
は、全く書換えが起こらないために、それらはページア
ウトによって書き戻す必要はない。つまり、ファイルの
内容を保持しているページについては、その内容を再び
ローディングする場合の処理コストを考慮するだけで良
い。また、実行プログラム内の動的に割り当てられるデ
ータ領域用(スタック領域を含む)のページなどは、ロ
ーカルな2次記憶装置上にページアウトしなければなら
ない。以上の2種類の処理コストを考慮した上で、図1
0に示すように、再ローディングの際の処理コストにし
たがってページの優先度を考え、更にページアウトの必
要なページ(データ、スタック領域)については、その
ローカルな2次記憶装置に対する要求の度合を検出して
上で、優先度を動的に図10の1の位置や2の位置など
にかえてもよい。
Further, in the case of a system in which files on the secondary storage device are loaded on the main storage and no rewriting is allowed in them, for example, in the case of Mach or the like (Carnebigy Mellon University), Set the priority as follows. For files on secondary storage, they do not need to be paged out because no rewriting occurs. In other words, for the page that holds the contents of the file, it is only necessary to consider the processing cost when reloading the contents. Also, pages etc. for data areas (including stack areas) that are dynamically allocated in the execution program must be paged out to the local secondary storage device. Considering the above two types of processing costs, FIG.
As shown in 0, the priority of the page is considered according to the processing cost at the time of reloading, and for pages (data, stack area) that need to be paged out, the degree of request to the local secondary storage device is set. Upon detection, the priority may be dynamically changed to the position 1 or the position 2 in FIG.

【0026】(実施例3)次に、本発明の実施例3を説
明する。
(Third Embodiment) Next, a third embodiment of the present invention will be described.

【0027】図11は、実施例3の優先度設定の処理を
示すフローチャートである。図において、まず、ページ
が置換対象となった場合に、2次記憶装置に書き込まな
くてはならないかどうかと、そのページが保持している
内容を再利用する場合にどの位の時間がかかるかを考慮
して優先度を設定する(S111)。そして、優先度に
従って、ページをactiveキューに入れる(S11
2)。
FIG. 11 is a flow chart showing the priority setting process of the third embodiment. In the figure, first, if a page is to be replaced, whether it must be written to the secondary storage device, and how long it takes to reuse the content held by the page The priority is set in consideration of (S111). Then, the page is put into the active queue according to the priority (S11).
2).

【0028】図13に、その優先度の設定例を示す。図
において、最もページ置換の対象としての優先度が高い
ものはローカルディスク上のファイルを保持するページ
で書き換えなしのものであり、次に優先度の高いものは
ネットワーク上に接続されたリモートディスク上のファ
イルを保持するページで書き換えなしのもの、次にロー
カルディスク上のファイルを保持するページで書き換え
可能なもの、最も優先度の低いものはネットワーク上に
接続されたリモートディスク上のファイルを保持するペ
ージで書き換えがあるものである。これらは、使用する
ネットワークやローカルに接続されている2次記憶装置
に従ってさまざまなパターンが考えられる。また、この
優先度の設定は、ページの割当時に行なう必要はなく、
ページ置換の対象を設定する時や、プログラムの実行時
に動的に設定してもよい。
FIG. 13 shows an example of setting the priority. In the figure, the highest priority for page replacement is the page that holds the file on the local disk and is not rewritten, and the second highest priority is for the remote disk connected to the network. Pages that hold files on the local disk that are not rewritten, then pages that hold files on the local disk that can be rewritten, and the lowest priority page that holds files on remote disks connected to the network There is rewriting on the page. Various patterns can be considered for these depending on the network used and the secondary storage device connected locally. Also, it is not necessary to set this priority when allocating pages,
It may be set dynamically when the page replacement target is set or when the program is executed.

【0029】図12は、ページに設定されている優先度
に応じたページ置換の対象の選択時の処理を示すフロー
チャートである。図において、freeキューに接続さ
れたページが少なくなったか否かを判断する(S12
1)。freeキューに接続されたページが少なくなっ
た場合には、ページ置換を行ってfreeにするページ
数(N)を設定し(S122)、inactiveキュ
ーからページを取り出す(S123)。次に、取り出し
たページの参照ビットがオンになっているか否かを判断
する(S124)。その参照ビットがオンになっていな
ければそのページを置換対象とし、ページ置換を行う
(S126)。参照ビットがオンになっている場合は、
activeキューに戻す(S125)。Nページの置
換が行われたかを判断し(S127)、行われていない
場合は、S123以降を行う。Nページの置換が行われ
た場合は、inactiveキューがある定数値よりも
短くなったか否かを判断する(S128)。inact
iveキューがある定数値よりも短くなった場合には、
activeキューからinactiveキューにいれ
るページ数(M)を設定し(S129)、複数のact
iveキューからページを取り出しそのページの参照ビ
ットをクリアしてinactiveキューに入れる(S
130)。
FIG. 12 is a flow chart showing the process when selecting a page replacement target according to the priority set for a page. In the figure, it is determined whether the number of pages connected to the free queue has decreased (S12).
1). When there are few pages connected to the free queue, page replacement is performed to set the number of pages to be free (N) (S122), and pages are taken out from the inactive queue (S123). Next, it is determined whether or not the reference bit of the fetched page is turned on (S124). If the reference bit is not turned on, the page is replaced and page replacement is performed (S126). If the reference bit is on,
It is returned to the active queue (S125). It is determined whether N pages have been replaced (S127), and if not, S123 and subsequent steps are executed. When N pages have been replaced, it is determined whether the inactive queue has become shorter than a certain constant value (S128). inact
If the IVE queue becomes shorter than a certain constant value,
The number of pages (M) to be put from the active queue to the inactive queue is set (S129), and a plurality of act
A page is taken out of the Ive queue, the reference bit of the page is cleared, and the page is put in the inactive queue (S
130).

【0030】図14は、FIFO with seco
nd chanceで用いられる3つのキュー(act
ive、inactive、free)の関係を示す概
念図である。activeキューには現在実行中のプロ
グラムで使用されているページが接続されており、fr
eeキューにはオペレーティング・システムが即座に使
用可能なページが接続されている。inactiveキ
ューには現在実行中のプログラムで使用されているが、
ページ置換の対象として選択される候補ぺージが接続さ
れている。
FIG. 14 shows the FIFO with seco.
3 queues used in the end change (act
It is a conceptual diagram which shows the relationship of (active, inactive, free). A page used by the program currently being executed is connected to the active queue, and fr
Pages that are immediately available to the operating system are connected to the ee queue. The inactive queue is used by the program currently running,
A candidate page selected for page replacement is connected.

【0031】オペレーティング・システムがプログラム
にページを割り当てる場合に、freeキューからペー
ジを取り出す。取り出した後にfreeキューに接続さ
れたページが少なくなった場合には、inactive
キューからページを取り出し、その参照ビットがオンに
なっていなければそのページを置換対象とする。また、
ページ置換を行なった結果、inactiveキューが
ある定数値(主記憶全体のページ数の数%から数十%に
設定する)よりも短くなった場合には、複数のacti
veキューからページを取り出しそのページの参照ビッ
トをクリアしてinactiveキューに入れる。この
ように、inacctiveキューに接続されている間
にページが参照されていないページだけをページ置換す
ることにより、LRUアルゴリズムの近似を行う。
When the operating system allocates a page for a program, it retrieves the page from the free queue. Inactive when there are few pages connected to the free queue after fetching
Takes a page out of the queue and replaces it if the reference bit is not on. Also,
As a result of page replacement, if the inactive queue becomes shorter than a certain constant value (set from a few% to a few tens% of the total number of pages in main memory), a plurality of active
A page is taken from the ve queue, the reference bit of the page is cleared, and the page is put into the inactive queue. In this way, the LRU algorithm is approximated by page-replacing only the pages that are not referenced while connected to the inactive queue.

【0032】図15は、複数のactiveキューから
単一のinactiveキューにページを移動させる場
合のページ数の設定処理を示す概念図である。図におい
て、activeキューには、現在実行中のプログラム
で使用されているページが優先度毎に別々に接続されて
いる。freeキューに接続されているページが少なく
なった場合には、inactiveキューからページを
取りだし、そのページの参照ビットを見ることによって
ページ置換の対象とするかどうかを設定する。その設定
は、通常のFIFO with second cha
nceと同じであり、これによってLRUの近似が行え
る。さらに、inactiveキューがある定数値より
も短くなった場合には、複数のactiveキューから
ページを取りだしそのページの参照ビットをクリアして
inactiveキューに入れる。この時の、複数のa
ctiveキューにページを移動させる場合のページ数
の設定は、図16に示すようにして求める。このよう
に、activeキューの長さが、各優先度のキューに
よって異なっている場合に、優先度によって定められた
比率に従ってactiveキューから取り出すページの
キュー割合を変化させる。これにより、優先度の高いペ
ージはページ置換の対象となる確率が高くなり、かつF
IFO with second chanceと同様
にのLRUの近似が行える。また、inactiveキ
ューの最初の長さは、前述のように主記憶全体のページ
数を基に設定すれば良い。
FIG. 15 is a conceptual diagram showing a page number setting process when a page is moved from a plurality of active queues to a single inactive queue. In the figure, pages used in the program currently being executed are separately connected to the active queue for each priority. When the number of pages connected to the free queue becomes small, the page is taken out from the inactive queue and the reference bit of the page is checked to set whether or not the page is to be replaced. The setting is a normal FIFO with second cha
, which is the same as that of L.sub.nce, which allows the approximation of LRU. Further, when the inactive queue becomes shorter than a certain constant value, the page is taken out from a plurality of active queues, the reference bit of the page is cleared, and the page is put in the inactive queue. At this time, a plurality of a
The setting of the number of pages when moving a page to the ctive queue is obtained as shown in FIG. In this way, when the length of the active queue is different for each priority queue, the queue ratio of pages to be taken out from the active queue is changed according to the ratio determined by the priority. As a result, pages with high priority are more likely to be the target of page replacement, and F
Similar to the IFO with second change, the LRU can be approximated. The initial length of the inactive queue may be set based on the number of pages of the main memory as described above.

【0033】また、activeキューとinacti
veキューの組を優先度毎に用意してもよい。図17
に、activeキューとinactiveキューの組
を優先度毎に用意した場合の処理の概念図を示す。図に
おいて、inactiveキューが複数存在するので、
優先度の高いinactiveキューからページ置換の
対象を選択していく。この場合、それぞれのinact
iveキューの長さは、その優先度のページ数が一定で
ないことから、主記憶全体のページ数を基に設定するこ
とはできない。従って、現在のその優先度にあるページ
数を基に、その何%かがinactiveキューに存在
するように設定する。これらの割合は、すべての優先度
のキューで一定である必要はなく、優先度毎に設定して
もよい。
The active queue and inacti
A set of ve queues may be prepared for each priority. FIG. 17
FIG. 9 shows a conceptual diagram of processing when a set of active queue and inactive queue is prepared for each priority. In the figure, since there are multiple inactive queues,
The target of page replacement is selected from the inactive queue having a high priority. In this case, each inact
The length of the ive queue cannot be set based on the number of pages in the entire main memory because the number of pages with the priority is not constant. Therefore, based on the number of pages in that priority at present, it is set that some percentage thereof exists in the inactive queue. These ratios do not have to be constant in all priority queues, and may be set for each priority.

【0034】以上説明したように本実施例によれば、情
報処理装置がデマンド・プリページング方法によるペー
ジングを行なった場合に、その情報処理装置全体の負荷
を検出し、その負荷に応じてプリページ数を変化させた
り、プリページングを停止したりすることによって、負
荷が重い場合やフリーなページが少ない場合にそのシス
テム全体の処理能力が低下することを防ぐ効果がある。
また、ネットワークによって接続された情報処理装置か
らのページデータのローディングに関しても、ネットワ
ークの負荷も考慮に入れることによって、同様にネット
ワークの転送能力の低下を防ぐ効果がある。
As described above, according to the present embodiment, when the information processing apparatus performs paging by the demand pre-paging method, the load of the entire information processing apparatus is detected and the pre-page is detected according to the load. By changing the number or stopping pre-paging, it is possible to prevent the processing capacity of the entire system from being lowered when the load is heavy or the number of free pages is small.
Further, regarding the loading of page data from the information processing apparatus connected by the network, the load of the network is also taken into consideration, so that the transfer capacity of the network can be similarly prevented from lowering.

【0035】また、ページを置換する場合のページアウ
トにかかる処理と、そのページを再び利用する場合に読
み込む処理にかかる時間を小さくしたことによって、情
報処理装置上であるプログラムが実行される場合に、ペ
ージ置換とページインの処理にかかる全体の時間を低減
することが可能となり、情報処理装置の処理速度を上げ
る効果がある。
Further, by reducing the time required for page-out processing when replacing a page and reading processing when the page is reused, when a program on the information processing apparatus is executed. It is possible to reduce the total time required for page replacement and page-in processing, which has the effect of increasing the processing speed of the information processing apparatus.

【0036】また、ページ置換時のページアウトの優先
度を2次記憶装置の処理速度に応じて設定することによ
り、ページ置換とページインの処理にかかる全体の時間
を低減する効果がある。
Further, by setting the priority of page-out at the time of page replacement according to the processing speed of the secondary storage device, there is an effect that the total time required for page replacement and page-in processing is reduced.

【0037】また、ネットワークによって接続される情
報処理装置上に記録されているページデータに対する優
先度を低く設定することによって、ネットーワークの負
荷を低減する効果や、ネットワークによって接続される
情報処理装置に対する負荷を低減する効果がある。
Further, by setting a low priority for page data recorded on the information processing apparatus connected by the network, the effect of reducing the load on the network and the information processing apparatus connected by the network can be obtained. It has the effect of reducing the load.

【0038】また、ページを置換する場合のページ退避
にかかる処理と、そのページを再び利用する場合に読み
込む処理の処理コストを考慮して、これらの処理コスト
が小さいページを優先的にページ置換の対象とすること
によって、情報処理装置上においてあるプログラムが実
行される場合に、情報処理装置全体のページ置換処理と
ページの再ローディングの処理にかかる時間を低減する
ことが可能であり、加えて、優先度の高いページのみが
ページ置換の対象として選択されることを防ぐことで
き、情報処理装置の処理効率を上げる効果がある。
Considering the processing cost of page saving when replacing a page and the processing cost of reading the page again, pages with lower processing costs are preferentially replaced. By targeting, when a certain program is executed on the information processing device, it is possible to reduce the time required for the page replacement process and the page reloading process of the entire information processing device. Only a page with a high priority can be prevented from being selected as a target for page replacement, which has the effect of improving the processing efficiency of the information processing device.

【0039】また、ページを置換する場合のページ退避
にかかる処理と、そのページを再び利用する場合に読み
込む処理の処理コストを考慮して、これらの処理コスト
が小さいページを優先的にページ置換の対象とすること
によって、情報処理装置上においてあるプログラムが実
行される場合に、情報処理装置全体のページ置換処理と
ページの再ローディングの処理にかかる時間を低減する
ことができ、加えて、優先度の等しいページの中からの
置換するページの選択においては、LRUの近似が行な
われ、アプリケーションプログラムの時間的局所性を生
かすことができ、ページフォールト率が低減しその結果
情報処理装置全体の処理効率が上げられる。
Considering the processing cost of page saving when replacing a page and the processing of reading when reusing the page, pages with lower processing cost are preferentially replaced. By targeting, when a certain program is executed on the information processing apparatus, it is possible to reduce the time required for the page replacement processing and the page reloading processing of the entire information processing apparatus. In selecting a page to be replaced from among pages having the same number, the LRU approximation is performed, the time locality of the application program can be utilized, the page fault rate is reduced, and as a result, the processing efficiency of the entire information processing apparatus is reduced. Can be raised.

【0040】[0040]

【発明の効果】以上説明のように、本発明は、ページ置
換が必要な数に応じて、各優先度毎にページ置換する数
をそれぞれ求めることにより、優先度の高いほどページ
置換されやすく、優先度の低いページでもほとんど使用
していないものはページ置換の対象となり、処理コスト
と使用頻度という2つの点から有利なページ置換を行な
うことができる。
As described above, according to the present invention, as the number of page replacements is calculated for each priority according to the number of page replacements required, the higher the priority, the easier the page replacement becomes. Pages that are rarely used even if they have a low priority are subject to page replacement, and page replacement that is advantageous in terms of processing cost and frequency of use can be performed.

【0041】[0041]

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

【図1】本発明の一実施例に係る情報処理装置のブロッ
ク図。
FIG. 1 is a block diagram of an information processing apparatus according to an embodiment of the present invention.

【図2】本発明の実施例1の動作を示すフローチャー
ト。
FIG. 2 is a flowchart showing the operation of the first embodiment of the present invention.

【図3】情報処理装置全体の負荷の検出し、プリページ
数の設定する処理のフローチャート。
FIG. 3 is a flowchart of processing for detecting the load on the entire information processing apparatus and setting the number of prepages.

【図4】アクティブなプロセス数とプリッページの数の
関係を示す図。
FIG. 4 is a diagram showing a relationship between the number of active processes and the number of preppages.

【図5】本発明の実施例2の動作を示すフローチャー
ト。
FIG. 5 is a flowchart showing the operation of the second embodiment of the present invention.

【図6】優先度の設定例を示す図。FIG. 6 is a diagram showing an example of priority setting.

【図7】ページ置換対象を選択する処理を示すフローチ
ャート。
FIG. 7 is a flowchart showing a process of selecting a page replacement target.

【図8】2次記憶装置の種類によって設定した優先度を
示す図。
FIG. 8 is a diagram showing priorities set according to the type of secondary storage device.

【図9】優先度に応じてページ置換対象となる数を変化
させる処理を示すフローチャートである。
FIG. 9 is a flowchart showing a process of changing the number of pages to be replaced according to the priority.

【図10】処理コストに応じて、優先度の変更を示す概
念図。
FIG. 10 is a conceptual diagram showing a change in priority according to a processing cost.

【図11】本発明の実施例3の優先度設定処理を示すフ
ローチャート。
FIG. 11 is a flowchart showing priority setting processing according to the third embodiment of the present invention.

【図12】本発明の実施例3の優先度に応じたページ置
換の対象選択時の処理を示すフローチャート。
FIG. 12 is a flowchart showing processing when selecting a target of page replacement according to priority according to the third embodiment of the present invention.

【図13】半発明の実施例3における優先度設定例を示
す図。
FIG. 13 is a diagram showing a priority setting example according to the third embodiment of the semi-invention.

【図14】FIFO with second cha
nceで用いられる3つのキュー(active、in
active、free)の関係を示す概念図。
FIG. 14: FIFO with second cha
3 queues (active, in)
The conceptual diagram which shows the relationship of (active, free).

【図15】複数のactiveキューから単一のina
ctiveキューにページを移動させる場合のページ数
の設定処理を示す概念図。
FIG. 15: Single ina from multiple active queues
The conceptual diagram which shows the setting process of the page number at the time of moving a page to a ctive queue.

【図16】複数のactiveキューにページを移動さ
せる場合のページ数の設定の概念図。
FIG. 16 is a conceptual diagram of setting the number of pages when moving a page to a plurality of active queues.

【図17】activeキューとinactiveキュ
ーの組を優先度毎に用意した場合の処理の概念図。
FIG. 17 is a conceptual diagram of processing when a set of an active queue and an inactive queue is prepared for each priority.

【図18】プリページングを説明するための図。FIG. 18 is a diagram for explaining pre-paging.

【図19】プリページングを説明するための図。FIG. 19 is a diagram for explaining pre-paging.

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

1 CPU 2 主メモリ 3 2次記憶装置 4 キーボード 5 表示装置 6 ネットッワーク 201 ROM 202 RAM 1 CPU 2 main memory 3 Secondary storage 4 keyboard 5 Display device 6 network 201 ROM 202 RAM

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 ─────────────────────────────────────────────────── ─── Continuation of front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 12/08-12/12

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 仮想記憶を用いた情報処理装置のメモリ
管理方法において、 各ページにページ置換時の処理コストに応じた優先度を
設定する設定工程と、 ページ置換が必要な数を求める置換対象数設定工程と、 前記置換対象数設定工程で求めた数に応じて、各優先度
毎にページ置換する数をそれぞれ求める優先度毎対象数
設定工程と、 前記優先度毎対象数設定工程で求めた数に基づき、ペー
ジ置換の対象とするページを選択する選択工程とを有す
ることを特徴とするメモリ管理方法。
1. A memory management method for an information processing apparatus using virtual memory, wherein a setting step of setting a priority according to a processing cost at the time of page replacement for each page, and a replacement target for obtaining the number required for page replacement Number setting step, according to the number obtained in the replacement target number setting step, the priority target number setting step for determining the number of page replacement for each priority, and the priority target number setting step And a selection step of selecting a page to be a page replacement target based on the number of pages.
【請求項2】 仮想記憶を用いた情報処理装置のメモリ
管理装置において、 各ページにページ置換時の処理コストに応じた優先度を
設定する設定手段と、 ページ置換が必要な数を求める置換対象数設定手段と、 前記置換対象数設定手段で求めた数に応じて、各優先度
毎にページ置換する数をそれぞれ求める優先度毎対象数
設定手段と、 前記優先度毎対象数設定手段で求めた数に基づき、ペー
ジ置換の対象とするページを選択する選択手段とを有す
ることを特徴とするメモリ管理装置。
2. In a memory management device of an information processing device using virtual memory, a setting means for setting a priority for each page according to a processing cost at the time of page replacement, and a replacement target for obtaining a number required for page replacement. Number setting means, the target number setting means for each priority for obtaining the number of page replacement for each priority according to the number obtained by the number setting means for replacement, and the target number setting means for each priority And a selection unit that selects a page to be replaced based on the number of pages.
JP32426792A 1992-12-03 1992-12-03 Memory management method and device Expired - Fee Related JP3431936B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32426792A JP3431936B2 (en) 1992-12-03 1992-12-03 Memory management method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32426792A JP3431936B2 (en) 1992-12-03 1992-12-03 Memory management method and device

Publications (2)

Publication Number Publication Date
JPH06175927A JPH06175927A (en) 1994-06-24
JP3431936B2 true JP3431936B2 (en) 2003-07-28

Family

ID=18163904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32426792A Expired - Fee Related JP3431936B2 (en) 1992-12-03 1992-12-03 Memory management method and device

Country Status (1)

Country Link
JP (1) JP3431936B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004102401A1 (en) * 2003-05-13 2004-11-25 Fujitsu Limited I/o device, computer, computer system, i/o control program, os, page management program, and page management method
US7496722B2 (en) * 2005-04-26 2009-02-24 Hewlett-Packard Development Company, L.P. Memory mapped page priorities
JP5077209B2 (en) * 2008-12-03 2012-11-21 日本電気株式会社 Memory management device, memory management method and program
JP6157158B2 (en) * 2013-03-08 2017-07-05 キヤノン株式会社 Information processing apparatus, control method thereof, and program

Also Published As

Publication number Publication date
JPH06175927A (en) 1994-06-24

Similar Documents

Publication Publication Date Title
US6615318B2 (en) Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries
US5649156A (en) Cache management system utilizing a cache data replacer responsive to cache stress threshold value and the period of time a data element remains in cache
US7669026B2 (en) Systems and methods for memory migration
US5608890A (en) Data set level cache optimization
JP3810738B2 (en) Adaptive pre-fetching of data on disk
US9081702B2 (en) Working set swapping using a sequentially ordered swap file
JP3308554B2 (en) Control device and control method of control device
CN100458738C (en) Method and system for management of page replacement
US7831796B2 (en) Apparatus, system, and method for dynamically allocating main memory among a plurality of applications
US7617499B2 (en) Context switch instruction prefetching in multithreaded computer
US7552286B2 (en) Performance of a cache by detecting cache lines that have been reused
US8386708B2 (en) Method for coupling sub-LUN load measuring metadata size to storage tier utilization in dynamic storage tiering
US6119209A (en) Backup directory for a write cache
EP0109309B1 (en) Method of operating a computer system
US7552303B2 (en) Memory pacing
US20060129763A1 (en) Virtual cache for disk cache insertion and eviction policies and recovery from device errors
US6813684B2 (en) Disk drive system and method for controlling a cache memory
JPH0575134B2 (en)
EP0574692A1 (en) Allocation of dasd for storing computer data
JPS60140446A (en) Storage hierarchy control system
JP3444346B2 (en) Virtual memory management method
CN113377291A (en) Data processing method, device, equipment and medium of cache equipment
CN111427804B (en) Method for reducing missing page interruption times, storage medium and intelligent terminal
US7370217B2 (en) Regulating file system device access
JP3431936B2 (en) Memory management method and device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030506

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees