JPS60163148A - Segment en bloc load system - Google Patents

Segment en bloc load system

Info

Publication number
JPS60163148A
JPS60163148A JP59017735A JP1773584A JPS60163148A JP S60163148 A JPS60163148 A JP S60163148A JP 59017735 A JP59017735 A JP 59017735A JP 1773584 A JP1773584 A JP 1773584A JP S60163148 A JPS60163148 A JP S60163148A
Authority
JP
Japan
Prior art keywords
page
segment
frame
address
working set
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.)
Granted
Application number
JP59017735A
Other languages
Japanese (ja)
Other versions
JPH0521257B2 (en
Inventor
Naoya Ono
直哉 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP59017735A priority Critical patent/JPS60163148A/en
Publication of JPS60163148A publication Critical patent/JPS60163148A/en
Publication of JPH0521257B2 publication Critical patent/JPH0521257B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control

Abstract

PURPOSE:To improve the processing capability including information representing whether or not the information in a segment has mutual relation and whether or not it is to be loaded en bloc to a workig set frame in the virtual storage of the segmentation paging system. CONSTITUTION:A virtual address space is assigned to each process, and an identifier WSID of a working set frame to which the segment page to be belonged and an en bloc load designation bit of the segment are provided to a segment describer SDi at a location designated by a part (i) of a virtual address VA from a segment table ST designated by a process control block PCB. Moreover, a control bit representing whether or not en bloc load is to be conducted to the entry WSCB of the working set management table WSCT addressed by the working set frame identifier is stored in addition to the page frame number and an address of a page list. The en bloc load or the loading of the corresponding page is conducted by the designation bit and the control bit.

Description

【発明の詳細な説明】 (技術分野) 本発明は仮想記憶方式としてセグメンテーション・ペー
ジング方式を採用している計算機システムにおけるセグ
メント一括ロード方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (Technical Field) The present invention relates to a segment batch loading method in a computer system that employs a segmentation paging method as a virtual storage method.

(共通技術〉 セグメンテーション方式による仮想記憶方式においては
、プログラムの論理的なかたまりrセグメントとし、こ
れを単位としてプログラムの保護およびプログラムの主
記憶への割当て盆行っている。前述のようにセグメント
はプログラムの論理的なかたま!Jt単位としているの
で、その大きさくサイズノはプログラムに依存し、各セ
グメントにより異なっている。このため、セグメントの
主起1意への割当てに際しては、必要なセグメントのサ
イズ?満7こす主起はの空きエリアr見出す必要があシ
、さらに、そのサイズ’kAたす空きエリアが存在しな
い場合には、主記憶上での割当て済みのセグメントのサ
イズおよびその前後における空きエリア、あるいはセグ
メントのサイズ等?考慮して主記憶から追出すべきセグ
メントの決定7行う必要があるCと、さらに、時間が経
過するにつれて、小サイズのエリアが増大し、主起1意
の使用率が低下することケ防ぐために、ある時点で、主
記憶上でセグメント全配置し直す処理、いわゆるガーベ
ージコレクションが必要になる等の問題があった。
(Common technology) In a virtual storage system based on the segmentation method, a logical chunk of a program is defined as a segment, and this is used as a unit to protect the program and allocate the program to main memory.As mentioned above, a segment is a program Since it is a logical unit of Jt, its size depends on the program and differs for each segment.For this reason, when assigning a segment to a host, it is necessary to determine the size of the required segment. It is necessary to find the free area r of the main memory, and if there is no free area plus the size 'kA, then the size of the allocated segment on the main memory and the free area before and after it. , or the size of the segment, etc.?Determining which segments should be evicted from main memory by taking into account7C. Furthermore, as time passes, the small-sized area increases and the usage rate In order to prevent the performance from decreasing, there was a problem in that at some point, a process called garbage collection, which is a process of rearranging all the segments in main memory, was required.

一方、ページング方式においては、プログラム會その論
理的な構成にかかわジなく、一定のサイズのページに分
割する。主記憶も同じサイズのかたまt)(以後、 c
rurページフレームとよぶ)に分割し、ここに、ペー
ジ葡割当てるために、セグメンテーンヨン方式の場合の
ような空きスペースのサイズの考慮が不要となり5割当
ての管理が簡単化されるという長所がある。
On the other hand, in the paging method, a program is divided into pages of a fixed size, regardless of its logical structure. The main memory is also a block of the same size t) (hereinafter referred to as c
This has the advantage that it is not necessary to consider the size of free space as in the case of the segmentation method, which simplifies the management of allocation. .

セグメンテーンヨン拳ページング方式H,7’ログラム
の論理的なかyc i りであるセグメン)k、更に、
固定サイズのページに分割し、主記憶への割当ては、ペ
ージを単位として行うようにしたもので、これによ先情
報の保護等、論理的な管理に関してはセグメント単位に
、主記憶の割当てのような物理的な管理に関しては、ペ
ージ単位に行うことが可能となる。
Segment Yonfist paging method H, 7' is a logical version of the program (yc i ) k, and further,
It is divided into pages of a fixed size, and allocation to main memory is done in units of pages.This allows for logical management, such as protection of future information, to allocate main memory in units of segments. Such physical management can be performed on a page-by-page basis.

通常の仮想記憶方式においては、オンデマンド方式とよ
ばれる制御方式が一般に採用されている。
In normal virtual storage systems, a control system called an on-demand system is generally adopted.

Cれは、プログラムの天性において、必要な情報r含む
ページあるいは、セグメントが主起■上に存在しないこ
とが検出された時点で、必要なページあるいはセグメン
ト盆主記憶上にとり込む方式即ち、ベージング方式、あ
るいはセグメyチージョン・ベージング方式においては
、プログラムの実行中にページ不在が検出されると、こ
のページを割当てるための主記憶の”1Nページ7レー
ム奮さがしだし、もし空きページ7レームがない場合に
は、割当て済みのページフレームヶ取上げ空キヘージフ
レーム全作りだし窺うえでこのページフレーム?必要と
されるページに割当て、ここに必要なページ情報を転送
することによジ、そのページがアクセスできる状態とな
る。上述のようにオンデマンド方式においては、ページ
不在が発生した時点でページ不在処理により、必要なベ
ージ會主記憶にと9込んだ後処理を続行することになる
が、このときもし、このページと関連の強いページ全同
時に主記憶に取込んでおくことができ・れば、同時に取
込まれたページへのアクセスに際しては、ページ不在7
允生するOとなく処理が行えることになる。
This is due to the nature of the program, when it is detected that the page or segment containing the necessary information does not exist on the main memory, the page or segment that contains the necessary information is imported into the main memory, that is, the paging method. , or in the segmentation paging method, when a page absence is detected during program execution, a ``1N page 7 memory'' is searched for in the main memory to allocate this page, and if there is no free page 7 memory. To do this, pick up the assigned page frame, create an empty hage frame, and see if this page frame can be accessed by assigning it to the required page and transferring the required page information here. As mentioned above, in the on-demand method, when a page fault occurs, the page fault processing continues with the post-processing that stores the necessary page in the user's memory. , if all the pages that are strongly related to this page can be imported into main memory at the same time, when accessing the pages that were imported at the same time, page absence 7 will be displayed.
This means that processing can be carried out without generating O.

更に、各種制御テーブルの口y l、プロセスの状態管
理、ページノグI10の開始処理、終了処理等、−回の
ページ不在処理においては処理するページの数にかかわ
ジなく、必要な処理が多くの部分を占めている。従って
、複数個のページに対するページ不在処理荀複数ページ
分?まとめて1回で行りm場合には、1ページ毎に複数
回行う場合に比べて全体の処理時間?大幅に短縮するこ
とが可能である。
Furthermore, regardless of the number of pages to be processed, many parts of the necessary processing are required in the -times page absence processing, such as the entry of various control tables, process state management, page nog I10 start processing, end processing, etc. occupies . Therefore, how to handle page absence processing for multiple pages? Is the overall processing time longer if all the steps are done once, compared to when it is done multiple times for each page? It is possible to significantly shorten the time.

(従来技術) 前述のように、セグメンテーション勢ページング方式に
おいては、論理的に関連のあるかたまpとしてセグメン
トが識別できるので、ある時点でページ不在が発生した
場合には、これ忙含むセグメント全体ケ取込む、即ち、
一括ロードすることにより、ページ不在の発生を抑制し
ている。
(Prior art) As mentioned above, in the segmentation paging method, segments can be identified as logically related groups, so if a page failure occurs at a certain point, the entire segment including the page failure is take in, i.e.
Batch loading suppresses the occurrence of page failures.

しかしながら、このような従来のセグメント一括ロード
方式においては、セグメントのある部分がアクセスされ
た時点でそれにひき続く比較的短期間において他の部分
がアクセスされる可能性の高いもの、即ち、関連の強い
セグメントとそうでないセグメントとがあり、比較的関
連の低いセグメントについても一括ロードを行うことは
、主起はのページ?無駄に専有することになり、全体と
しての計算機システムの性能を低下させるという欠点が
ある。
However, in such a conventional segment bulk loading method, when a certain part of a segment is accessed, other parts are likely to be accessed in a relatively short period of time, i.e., there are highly related segments. There are segments and non-segments, and is it possible to bulk load even relatively unrelated segments? This has the disadvantage that it is used unnecessarily and the performance of the computer system as a whole is degraded.

iた、主記憶の空き状況によっても、一括ロード勿行う
べきか否かが影響rうける。即ち、主記憶負荷が高い場
合には、一括ロードによシ関連ページ?ロードすること
によジ得られる効果よりも一括ロードのスペースを空け
るために匣用中のページが退出されることによる悪影響
の方が犬となり、一括ロードは全体性能に悪影響を与え
ることになる場合が生ずるという欠点がある。
Additionally, whether or not bulk loading should be performed is also influenced by the free space of the main memory. In other words, if the main memory load is high, you may want to load related pages all at once. If the effect of loading is outweighed by the negative effect of pages being evicted to make room for bulk loading, bulk loading will have a negative impact on overall performance. There is a drawback that this occurs.

(発明の目的) 本発明の目的は、セグメントの属性として、このセグメ
ント内の情報が互に強い関連tもつか否かr指定できる
ようにし、これ會セグメント記述子上に置くとともに、
ワーキングセット枠に対しても、この枠に対して一括ロ
ードを行うかどうかt指定できるようにすることによシ
、ページ不在発生時に、そのページの含まれるセグメン
トおよび、そのセグメント内含まれるページの接続され
るべきワーキングセット枠の前記属性に応じて一括ロー
ド?行った夕、−ページのみのロード7行りたりするこ
とができるようにし、ページ不在の発生する頻度を少く
することかでさ、かつ主起1意の空き状態により効率的
にページ不在処理7行なうことができプログラムの実行
速度を増大させることがでさるとともに、ページ不在処
理のためのオーバヘッドを減少させることがでさ、計算
1幾システム全体としての処理能力を向上させるCとが
できるセグメント一括ロード方式金提供することにある
(Objective of the Invention) The object of the present invention is to enable specifying, as an attribute of a segment, whether or not information within this segment has a strong relationship with each other, and to place this on the segment descriptor.
By making it possible to specify whether or not to perform bulk loading for the working set frame, when a page failure occurs, the segment containing that page and the pages contained within that segment can be specified. Batch loading according to the above attributes of the working set frame to be connected? In the evening of the visit, it is possible to load only pages 7 and to reduce the frequency of occurrence of page absences, and to efficiently handle page absences 7 due to the unique free state of the user. It is possible to increase the execution speed of the program, reduce the overhead for handling page faults, and improve the processing power of the entire system. The loading method is to provide gold.

(発明の構成) 本発明の方式は、仮想起重方式としてセグメンテーショ
ン・ベージング方式?採用する計算機7ステムのセグメ
ント一括ロード方式において、セグメント情報として該
セグメントに属するページが接続管理されるべき上記は
のワーキングセット枠r指定するための情報と前記セグ
メントを一括ロードすべきか否か?示す第1の制御情報
とt保持し、ワーキングセット枠情報として該ワーキン
グセット枠に一括口、−ドすべきか否かを示す第2の制
御情報ケ保持し、前記主記憶においてページ不在発生時
に該ページに対応するセグメントの前−ド指定のときに
は該ページの含まれるセグメント全体を前記主記憶にロ
ードし前記第1および第2の制御情報のうちの少なくと
もいずれかが一括ロード指定でないときには該ページの
みt前記主記憶にロードして構成される。
(Structure of the Invention) Is the method of the present invention a segmentation/basing method as a virtual hoisting method? In the segment batch loading method of the computer 7 system to be adopted, should the segments be loaded together with the information for specifying the working set frame r of the above to which the pages belonging to the segment should be connected and managed as segment information? The first control information indicating whether or not the working set frame should be read or not is held as the working set frame information, and the second control information indicating whether or not the working set frame should be read or not is held as the working set frame information. When the front load of a segment corresponding to a page is specified, the entire segment including the page is loaded into the main memory, and when at least one of the first and second control information does not specify a bulk load, only the page is specified. t Loaded into the main memory and configured.

(実施例) 次に、本発明の一実施例について図面を参照して詳細に
説明する。第1図F3)、 tb)および第2図(a)
(Example) Next, an example of the present invention will be described in detail with reference to the drawings. Figure 1 F3), tb) and Figure 2 (a)
.

tb)、 tc)、 ld)、 [e)に1本実施例に
おけるアドレス変換のための制御テーブル、主記憶の管
理のための制御テーブルの構成?示す。
tb), tc), ld), [e) 1. Configuration of control table for address translation and control table for main memory management in this embodiment? show.

本実施例においては、各プロセスに対して仮想アドレス
空間が与えられているものとしており、仮想アドレスV
Aは32ビツトからなり、各々上位からlOビットのセ
グメントアドレスSA。
In this embodiment, it is assumed that a virtual address space is given to each process, and the virtual address V
A is a segment address SA consisting of 32 bits, each consisting of 10 bits from the most significant.

lOビットのセグメント内ページアドレスPA。Intra-segment page address PA of lO bits.

12ビツトのページ内相対アドレスP几Aから構成され
るものとしている。プロセス制御ブロックP CB (
p)は、アドレス空間指定語ASWkもつ。
It is assumed that it is composed of a 12-bit in-page relative address P-A. Process control block P CB (
p) has an address space specification word ASWk.

アドレス空間指定語ASWは、セグメントテーブルST
のサイズ5TSZとセグメントテーブル8Tへのポイン
タ5TP7もつ。セグメントテーブルへのポインタST
Pで指定されるセグメントテーブル5TfiS’l’5
Z((Hのセグメント記述子SDから構成され、各セグ
メント記述子SDは、第2図[a)に示すように、セグ
メントの状態情報SST。
The address space specification word ASW is the segment table ST
It has a size 5TSZ and a pointer 5TP7 to the segment table 8T. Pointer to segment table ST
Segment table 5TfiS'l'5 specified by P
Z(((H) segment descriptors SD, each segment descriptor SD contains segment state information SST, as shown in FIG. 2 [a).

属性情報SAT、セグメントのサイズ(ページ数)PN
、ページテーブルPTへのポインタP’f’Pa−もつ
。セグメントの属性情報SATとしては、保護情報PR
Tに加えて、このセグメントのページの属すべ@、ワー
キングセット枠の識別子WSIDおよびこのセグメント
の一括ロード指定ビットLlが設けられる。
Attribute information SAT, segment size (number of pages) PN
, has a pointer P'f'Pa- to the page table PT. As attribute information SAT of the segment, protection information PR
In addition to T, @ to which the page of this segment belongs, a working set frame identifier WSID, and a batch load designation bit Ll of this segment are provided.

セグメント記述子SDのページテーブルPTへのポイン
タFTPでアドレスされるページテーブルPTは、セグ
メント記述子SD上のセグメントのサイズPNで指定さ
れる個数のページ記述子PDから構成される。各ぴ−ジ
記述子PDは、第2図(I))に示すように、ページの
状態情報としてこのページが主起は上にあるかどうか?
示すビy)P。
The page table PT addressed by the pointer FTP to the page table PT of the segment descriptor SD is composed of the number of page descriptors PD specified by the size PN of the segment on the segment descriptor SD. As shown in FIG. 2 (I), each page descriptor PD provides page status information such as whether this page is on top or not.
Show biy)P.

このページが有効であるかどうかt示すビン)A。A bin that indicates whether this page is valid.

このページに対する書込み、アクセスの肴無盆示すビッ
トW、、U、および実ページアドレスRPA全もつ。天
ベージアドレス几PAは、Pビ、ソトが“l“のとき、
即ち、このページが上記IJiMM上にある場合には、
上記厖アドレス?、Pビットが“O“の場合にはバッキ
ングストアBKSTの7)”レス會示している。
It has bits W, , U, which indicate whether there is any write or access to this page, and a real page address RPA. When the top page address 几PA is P Bi and Soto is “l”,
That is, if this page is on the above IJiMM,
The above address? , when the P bit is "O", it indicates the response of the backing store BKST.

実メモリの管理のために第1図(b)に示す次のテーブ
ルが設けられる。
The following table shown in FIG. 1(b) is provided for real memory management.

プール制御ブロックPLCM、、空きページ?管理する
丸めの制御ブロックで、第2図(C)に示すように空き
ページフレーム数PI、CNT、および空さページフレ
ームのリストの最初のページおよび最後のページのアド
レスを示すボイ/りPLTPTRおよびPLLPTR7
もつ。
Pool control block PLCM, free page? In the rounding control block for managing, as shown in FIG. 2(C), the number of free page frames PI, CNT, and the addresses of the first page and last page of the list of free page frames, PLTPTR and PLLPTR7
Motsu.

ワーキングセット管理テーブルWSCTは、ワーキング
セット枠識別子WS I Dによりアドレスされるテー
ブルで各エン) 1)WSCBは、第2図(d)に示す
ように対応するツーキングセ・y)枠(以後WS枠と略
する)に属するページフレーム数WSCNT。
The working set management table WSCT is a table addressed by the working set frame identifier WSID.1) WSCB is a table addressed by the working set frame identifier WSID. The number of page frames belonging to (abbreviated) WSCNT.

このWS粋に属するページのリストの先頭および末尾の
ページのアドレスを示すポインタW8TPTl−1゜W
8LPT几、このW8枠に対して一括ロード7行うかど
うかr示す制御ビットL 2.その他の情報rもつ。
Pointer indicating the address of the first and last page of the list of pages belonging to this WS class W8TPTl-1゜W
8LPT 几, control bit L indicating whether to perform bulk loading 7 for this W8 frame 2. Also includes other information.

メモリマツプテーブルMMTは王妃は上の各ページフレ
ームに対応したエントリtもち、各メモリマツプテーブ
ルエントリMMEは第2図(eJに示すように、このペ
ージフレームの状態清報F’ST。
The memory map table MMT has an entry t corresponding to each page frame above, and each memory map table entry MME is a state information F'ST of this page frame, as shown in FIG. 2 (eJ).

関用状況情報FUS、このページフレーム、CのWS粋
に接続されているページフレーム数のリストr管理する
ための前方向および逆方向へのポインタFPおよびBP
、この実ページが割当てられている仮想アドレスr示す
ためのdfvt報t、AD几S。
Related status information FUS, this page frame, a list of the number of page frames that are connected to the WS of C; forward and backward pointers FP and BP for management;
, dfvt information to indicate the virtual address r to which this real page is assigned, AD 几S.

この実ページに対応するバッキングストアアドレスBS
ADR8が保持されている。
Backing store address BS corresponding to this real page
ADR8 is retained.

本実施例においては、実ページ(ここでは、これtペー
ジフレームと工ぶ〕は、プール枠、あるいはワーキング
セット枠(WS枠)のいずれかに接続され、管理される
In this embodiment, a real page (here, referred to as a t-page frame) is connected to either a pool frame or a working set frame (WS frame) and managed.

未1更用の全ページ7レームは、第3図tag、 (b
)に示すように、各ページ7レームに対応するメモリマ
ツプテーブルエントリMMEの順方向および逆方向のポ
インタFP、BPKエク、リスト状に連結され、その先
頭ボイyfPLTPTRおよび末尾ポインタPLLPT
几、およびこのリストに接続されているページの数、即
ち、窒キベージフレーム数PLCNTがプール枠制御ブ
ロックPLCBに登録されている。
The 7 frames of all pages that have not been updated are shown in Figure 3, tag, (b
), the forward and backward pointers FP and BPK EX of the memory map table entry MME corresponding to each page 7 frames are connected in a list, and its first pointer yfPLTPTR and end pointer PLLPT are connected in a list.
几 and the number of pages connected to this list, ie, the number of available frames PLCNT, are registered in the pool frame control block PLCB.

空ページフレームの場合と同様に、匣用中のベージ7レ
ームは、いずれかのツーキングセット枠に接続され管理
される。各ページの属すべさツーキングセット枠にその
ページの属するセグメントに対応するセグメント記述子
8Dに指定されている。
As in the case of empty page frames, the page 7 frames in use are connected to and managed by any of the working set frames. The belonging of each page is specified in the segment descriptor 8D corresponding to the segment to which the page belongs in the tooling set frame.

ワーキングセット枠、プール枠へのページフレームの接
続、切離しは、WS制御ブロックWSCBあるいはプー
ル枠制御ブロックPL、CBのページ数WSCNTま之
はPI、CNT先頭ポインタWSTPT几。
Connection and disconnection of page frames to the working set frame and pool frame are performed using the WS control block WSCB or the pool frame control block PL, the number of pages in the CB WSCNT, the PI, and the CNT start pointer WSTPT.

PLTPTRおよび末尾ポインタWSLPTR,PLL
PT几、メモリマツブチニブルエントリMMEのポイン
タFP、BP’r更新することにより行われる。
PLTPTR and tail pointer WSLPTR, PLL
This is done by updating the pointers FP and BP'r of the memory entry MME.

WS枠、プール枠へのページフレームの接続は。How to connect page frame to WS frame and pool frame.

ページリストの先頭に追加するという形で行われる(第
3図th)参照す。プール枠からのページ7レームの切
離しは、ページリストの末尾から行われる。WS枠から
のページ7レームの切離しは、ページフレームの使用状
況等により決定されタリスト上の任意の位置のページフ
レームに対して行われる。
This is done by adding it to the top of the page list (see Figure 3th). The page 7 frame is separated from the pool frame starting from the end of the page list. The separation of the page 7 frame from the WS frame is determined based on the usage status of the page frame, etc., and is performed for the page frame at an arbitrary position on the talist.

上記厖へのアクセスに際しての、仮想アドレスから実ア
ドレスへの変換は次のように行われる。
When accessing the above address, conversion from a virtual address to a real address is performed as follows.

ここでは仮想アドレスは、セグメントアドレスSAとし
て1直1、ページアドレスPA!:l、て呟j。
Here, the virtual address is 1 division 1 as segment address SA, page address PA! :l, mutter j.

ページ内アドレスPlIIAとして値に?]l″もつと
する。
Value as intra-page address PlIIA? ]l″.

まず、現在実行中のプロセス(pJのプロセス制御ブロ
ックPCB(p)のアドレス空間指定語ASWによp1
セグメントテーブルSTの主記憶上の開始番地?知り、
この第1番目のセグメント記述子5D11fr、読出す
。セグメント記述子SD1の状態清報SST、アクセス
保護情報PRT等rチェ、ツクし正当なアクセスならば
、セグメント記述子SDi上のページテーブルFTへの
ボインクPTPによりセグメントlに対応するページテ
ーブルPTiの開始番地全知り、この第j番目のページ
記述子PD日?続出す。Pビットが“1“ならば、必要
とされるページは、主記憶上に存在することになり、ペ
ージ記述子PDij上の災アドレス几PAにより、主記
憶上のページアドレスを知g s コn ト仮想アドレ
スのページ内アドレスkにより、央アドレスを得ること
がでさる5P=“0”の場合。
First, the address space specification word ASW of the process control block PCB (p) of the currently executing process (p1
Starting address in main memory of segment table ST? know,
This first segment descriptor 5D11fr is read. Checks the status information SST of segment descriptor SD1, access protection information PRT, etc., and if the access is valid, starts page table PTi corresponding to segment l by boinking PTP to page table FT on segment descriptor SDi. Full address knowledge, this jth page descriptor PD date? One after another. If the P bit is "1", the required page exists on the main memory, and the page address on the main memory is known from the address address PA on the page descriptor PDij. When 5P="0", the central address can be obtained from the in-page address k of the virtual address.

即ち、ページ不在の場合には次に示すようなべ一ジ不在
処理が必要となう。
That is, in the case of page absence, the following page absence processing is required.

次に、第4図によジ本実施例におけるページ不在処理の
説明7行う。
Next, referring to FIG. 4, a seventh explanation of page absence processing in this embodiment will be provided.

プログラムの実行に際して、ページ不在が発生したと@
、即ち、仮想アドレスVA(SA二i。
When the program is executed, a page fault occurs @
, that is, the virtual address VA(SA2i.

PA=j、P几A=にとする)から実アドレスへの変換
に際して、仮想アドレスVAで指定される仮想ページに
対応するページ記述子PDljのPビットが0“であっ
た場合には、ページ不在処理として次の処理が行われる
。まず、ページ不在ケ発生させたプロセスの状態?実行
不能の状態とする(ステップ101 )。
PA=j, P几A=) to a real address, if the P bit of the page descriptor PDlj corresponding to the virtual page specified by the virtual address VA is 0, the page The following processing is performed as the absence processing: First, the state of the process that caused the page absence is set to an unexecutable state (step 101).

次に、このページを含むセグメントiに対応するセグメ
ント記述子8Di2読出し、その一括ロード指定ビット
Llk調べる(ステップ1027゜一括ロード指定ビッ
トL1が“0“のとき、即ち、一括ロード指定でない場
合には必要ページ数ケlとして次の処理に移る(ステッ
プ1o3)。
Next, read the segment descriptor 8Di2 corresponding to the segment i that includes this page, and check its batch load designation bit Llk (step 1027゜When the batch load designation bit L1 is "0", that is, if the batch load is not specified, The required number of pages is set to 1 and the process moves to the next step (step 1o3).

一括ロード指定ビットLlが“工″のと@、即ち、一括
ロード指定の場合には対応するセグメント記述子SD4
のワーキングセット枠識別子WSIDで指定される。ワ
ーキングセント枠制御ブロックW80Hの制御ピッ1−
L2’r調べ(ステップ104ハ これが0”の場合に
は、即ち、一括ロード指定でない場合には、必要ページ
数’klとして次の処理に移る(ステップ1037゜制
御ピッ)L2がlのとき、即ち、一括ロード指定の場合
には%SDi上のセグメントサイズPNからこのセグメ
ントのページ数七得て、これ會必要ページ数とする(ス
テップ105)。
If the batch load designation bit Ll is “engine”, @, that is, if the batch load designation is specified, the corresponding segment descriptor SD4
is specified by the working set frame identifier WSID. Control pin 1- of working cent frame control block W80H
Check L2'r (step 104c) If this is 0'', that is, if the batch load is not specified, set the required number of pages as 'kl' and proceed to the next process (step 1037° control pitch) When L2 is l, That is, in the case of batch loading designation, the number of pages of this segment is obtained from the segment size PN on %SDi, and is set as the number of pages required for this meeting (step 105).

次に、プール枠制御ブロックの空ベージ7レーム数PL
CNTk読出し必要ページ数の空きページ7レームがあ
るかどうか調べる(ステップ106)。
Next, the number of empty pages 7 frames PL of the pool frame control block
It is checked whether there are seven free pages, the number of pages required for CNTk reading (step 106).

必要と烙れるページフレームがある場合には次の処理に
移る。必要ページ数がない場合には、不足ページ数分の
空きページフレームを作成するために、ページ迫出し処
理を行い(ステップ107)、必要な数の′g!、@ベ
ージ7レームの作成が完了した後ページフレームのつな
ぎかえの1ζめに次の処理に移る。
If there is a page frame that is deemed necessary, the process moves to the next step. If there is not the required number of pages, page extrusion processing is performed to create empty page frames for the number of missing pages (step 107), and the required number of 'g'! , @Bage 7 After the frame creation is completed, the process moves to the next step at the 1ζ step of reconnecting the page frames.

すなわち、必要数のページフレームtプール枠から取ジ
はすし対応するWS枠(セグメント記述子8Diのワー
キングセット枠識別子WSII)で指定されるWS枠に
接続する(ステップ108)。
That is, the necessary number of page frames are taken from the t-pool frame and connected to the WS frame specified by the corresponding WS frame (working set frame identifier WSII of segment descriptor 8Di) (step 108).

次に新たに対応するWS枠に接続されにページフレーム
に対応するメモリマツプテーブルエンドljMMHの仮
想アドレス情報LAD几Sに対応するページの仮想アド
レスを誓込む。即ち、L1=″θ″′の場合には、ペー
ジ不在音発生したページの仮想アドレス?、L1−“l
“の場合には、ページ不在上発生したページ?含むセグ
メントの全ページの仮想アドレスを各メモリマツプテー
ブルエントリMMEに順次設定する。仮想アドレスとし
ては、ページ不在ケ発生したプロセスの識別名ip)お
よび、セグメントアドレスSA、 ページアドレスPA
が書込まれる(ステップ109)。
Next, the virtual address of the page that is newly connected to the corresponding WS frame and corresponds to the virtual address information LAD S of the memory map table end ljMMH corresponding to the page frame is pledged. That is, in the case of L1 = ``θ''', is the virtual address of the page where the page not present sound occurred? , L1-“l
", the virtual addresses of all pages in the segment containing the page that occurred due to the page fault are sequentially set in each memory map table entry MME. The virtual addresses include the identification name (ip) of the process that caused the page fault, and , segment address SA, page address PA
is written (step 109).

次につなぎかえ70ベージ7レームがページ不&処理中
であるOとt示すために、メモリマツプテーブルエンi
JMMEにつなぎかえ処理中であるという状態tセント
する(ステップ110)。
Next, reconnect the memory map table entry i to indicate that the page 70 page 7 frame is not paged & being processed.
A state indicating that the process of reconnecting to JMME is in progress is entered (step 110).

この後、バンキングストアBKSTから、新たに割当て
られに王妃i意ページ7レームへの情報の転送上行うた
めに次の処理を行う。転送すべきべ一ジ(一括ロードで
ない場合は、ページ不在を発生させたページ、一括ロー
ドの場合は、ページ不在音発生させ九ページ金含むセグ
メントに含まれる全ページフに対応するページ記述子F
D=に読出し、その実アドレス部几PAにより、転送す
べきページの格納されているバッキングストアアドレス
を得る。このバッキングストアアドレスを読出しのバッ
キングストアアドレスとし、先に割当てられたページ7
レーム番号を瞥込みアドレスとしてチャネルプログラム
フ作成する。1ページロードの場合には、lページの転
送のためのチャネルプログラムが、一括ロードの場合に
はセグメントの全ページ分?転送するチャネルプログラ
ムが作成される(ステップ111)。
Thereafter, the following process is performed to transfer information from the banking store BKST to the newly allocated queen i-page 7 frame. The page to be transferred (if it is not a batch load, the page that caused the page fault; if it is a batch load, the page descriptor F that corresponds to all the pages included in the segment that causes the page fault sound to be generated and includes the nine-page charge)
D=, and the backing store address where the page to be transferred is stored is obtained from the real address part PA. This backing store address is used as the backing store address for reading, and the previously allocated page 7
Create a channel program using the frame number as the glance address. In the case of a single page load, the channel program is for transferring one page, and in the case of a bulk load, the channel program is for transferring all pages of the segment? A channel program to be transferred is created (step 111).

次に、このチャネルプログラムにより、 I/U會起動
しくステップ112 )、バッキングストアI10の完
了を待ちおわぜる(ステップ113.l。
This channel program then starts the I/U meeting (step 112) and waits for the completion of the backing store I10 (step 113.l).

バッキングストアI10が完了した時点で、完了処理の
ために次に移る。
Once backing store I10 is complete, we move on for completion processing.

すなわち、バッキングストアI/(Jが完了し、ページ
が使用可能な状態になったことt反映するために次の処
理r行う。対象ページフレームに対応するメモリマツプ
テーブルエフトリMMEの状態tページ不在処理が完了
した状態にセットする(ステップ115 )。この後、
対応するページ記述子PDのPビットt″l“とロ、使
用可能な状態とする(ステップ116J。このあと、ペ
ージ不在音発生したプロセスの状態を実行可能な状態と
し、処理?完了する(ステップ117)。
In other words, the following process is performed to reflect that the backing store I/(J has been completed and the page is now available. The state of the memory map table efficiency MME corresponding to the target page frame is page absent. The process is set to a completed state (step 115).After this,
The P bit t″l” of the corresponding page descriptor PD is set to a usable state (step 116J. After this, the state of the process that generated the page not-available sound is set to an executable state, and the process is completed (step 116J). 117).

これによジ、セグメント記述子SDおよび対応するワー
キングセット枠で、ともに一括ロード指定があった場合
にはセグメント全体が一括ロードされ、1吏用可能な状
態となり、−f:うでない場合には、ページ不在ケ発生
したページだけがロードされ、部用可能な状態となる。
As a result, if there is a batch load specification in both the segment descriptor SD and the corresponding working set frame, the entire segment will be loaded at once and become ready for one use. , only the page where the page error occurred is loaded and becomes available for copying.

以上、本発明の一実施例について説明したが、本実施例
は、セグメントにおける各ページ間でのアクセスの関連
性が強いかどうか【示す情報tセグメントにもたせると
ともに、ワーキングセット枠に対しても一括ロードr適
用するか否かt示す情報tもだせ、ページ不在の処理に
際してこの情報に従い、関連性が強いという指定があり
、かつ。
An embodiment of the present invention has been described above.In this embodiment, information indicating whether there is a strong access relationship between each page in a segment is stored in the t-segment, and also in the working set frame. It also outputs information t indicating whether or not to apply the load r, and this information is used when processing page absences, and there is a designation that there is strong relevance.

対応するワーキングセット枠でも一括ロード【行うこと
ができるという指定があった場合には、ページ不在を発
生させたページを含むセグメント全棒金一括ロードし、
以後の同一セグメントの他ページに対するアクセスに際
してはページ不在処理7行うことなく処理を行えるよう
にすることによLプログラムの実行ケ高速に行なうこと
ができ、更には、ページ不在処理の必要な回数?少くし
、システムオーバヘッドを減少させることにより1全体
としての処理能力?向上させることができる。
Batch loading also in the corresponding working set frame [If it is specified that it can be done, load all the segments including the page that caused the page failure at once,
When accessing other pages in the same segment thereafter, the process can be performed without performing the page-absence process 7, thereby making it possible to execute the L program at high speed. 1 overall processing power by reducing system overhead? can be improved.

仮想アドレス空間におけるセグメント数、最大セグメン
トサイズ、ページサイズ等は本実施例の値に限られるも
のではなく、[飢 セグメントアドレス部會2段変換す
ることも可能である。
The number of segments, maximum segment size, page size, etc. in the virtual address space are not limited to the values in this embodiment, and two-stage conversion is also possible.

tyc、本実施例においては、説明を簡単にするために
本発明と直接の関係がない部分については各制御テーブ
ルの構成について詳しい説明は省略しであるが、たとえ
ば、WS粋については、実際には説明におけるフィール
ド以外にWS粋につなぐことのでさる最大ページ数、最
小ページ数、ワーキングセットの期待直等、ツーキング
セヴトの適切な管理の1こめの種々のフィールドを追加
するCとが可能である。また、本実施例の説明において
は、ページ不在に際してプール枠に必要なページ数が存
在しなかった場合の処理の詳細についてはふれていない
が、これについても従来性われている空きページ作成の
ための種々の手法が適用可能である。
tyc. In this embodiment, in order to simplify the explanation, a detailed explanation of the structure of each control table is omitted for parts that are not directly related to the present invention. In addition to the fields in the description, it is possible to add various fields such as the maximum number of pages, minimum number of pages, expected value of the working set, etc. that can be connected to the WS in order to properly manage the tool. Furthermore, in the explanation of this embodiment, the details of the process when the required number of pages does not exist in the pool frame in the event of a page absence are not mentioned, but this is also due to the conventional method of creating empty pages. Various methods can be applied.

また本実施例においては、ふれてはいないが。Also, in this embodiment, this is not mentioned.

ワーキングセット枠に対する一括ロード適用に関する制
御情報は、たとえば上記臆の各ワーキングセット粋筋の
負荷状況に応じて設定することが可能である。
The control information regarding the application of batch loading to the working set frame can be set, for example, according to the load status of each of the above-mentioned working set muscles.

(発明の効果〕 本発明にはセグメント情報とワーキングセット枠情報と
にそれぞれセグメントを一括ロードすべきか否かの制御
情報r保持せしめることによ、!7、ページ不在処理の
回数を少なくしてオーバヘソドを減少せしめ、また主記
憶の空き状態によシ効率的にページ不在処理を行なうこ
とができプログラムの央行速度盆増大することができる
という効果がある。
(Effects of the Invention) The present invention has the following advantages: By retaining control information on whether or not segments should be loaded at once in the segment information and working set frame information, !7. This method has the effect that it is possible to efficiently perform page fault processing based on the free state of the main memory, and to increase the central processing speed of the program.

【図面の簡単な説明】 第1図(aJ (bJは、本発明の一実施例における制
御テーブルの全体の構成を示す図、第2図(alはセグ
メント記述子SD、(b)はページ記述子PD、(C)
はプール枠制御ブロックPLCB、(d)はツーキング
セ・ソト枠制御ブロックW80B、(e)はメモリ7.
ツブエンijMMEの構成を示す図、第3図はプール枠
の構成紫示す図で、(a)はページ接続前の状態髪。 tb)は接続後の状態ケ各々示す図、および第4図は本
実施例における動作の概要勿示−j70−チャートであ
る。 VA・・・・・・仮想アドレス、8人・・・・・・セグ
メントテーブル、PA・・・・・・セグメント内ページ
アドレス、Pi’LA・・・・・・ページ内相対アドレ
ス、PCB[pl・・・・・・プロセス1lilJ M
ブロック、ASW・・・・・・アドレス空間指定語、5
TSZ・・・・・・セグメントテーブルサイズ、ST・
・・・・・セグメントテーブル、STP・・・・・・セ
グメントテーブルへのポインタ、8D・・・・・・セグ
メント記述子、SST・・・・・・セグメント状態情報
、SAT・・・・・・セグメント属性情報、PN・・・
・・・セグメントのサイズ、FTP・・・・・・ページ
テーブルへのポインタ。 P几T・・・・・・セグメント保護情報、WSID・・
・・・・ワーキングセット枠識別子、Ll・・・・・・
一括ロード指定ヒツト、PIJ・−・・・・ページ記述
子、 fLPA・旧・・実ページアドレス、BK8T・
・・・・・バッキングストア、PL、CB・・・・・・
プール枠制御ブロック、PLCNT・・・・・・空ペー
ジ7レームlfi、 PLTJ’TR・・・・・・空ペ
ージ7レームリストの最初のページアドレスポインタ、
PLLPT几・・・・・・空ベージ7レームリストの末
尾のページアドレスポインタ、WSCT・旧・・ワーキ
ングセント管理テーブル、WSCB・・・・・・ワーキ
ングセット管理テーブルのエントリ、WSCNT・・・
・・・ツーキングセットに属するページ7レーム数、W
STPT几・・・・・・ワーキングセットに属する最初
のページアドレスポインタ、WSLPTR・・・・・・
ツーキングセットに属する末尾のページアドレスボイ/
り、L2・・・・・・制御ビット、MMT・旧・・メモ
リマツプテープに、MME・・・・・・メモリマツプテ
ーブルエンド1ハFST・・・・・・ページフレームの
状態情報、FUS・・・・・・ページ7レームの使用状
況清報、FP・・・・・・前方向ポインタ、BP・・・
・・・逆方向ポインタ、LAI)R8・・・・・・実ペ
ージの割当てられている仮想アドレスを示す情報、BS
AD几S・・・・・・実ページの割当てられティるバッ
キングストアアドレス情報。 (レノ (d) (C) 半Z訂 (ρ) v3ヅ
[Brief Description of the Drawings] Figure 1 (aJ (bJ is a diagram showing the overall structure of the control table in an embodiment of the present invention), Figure 2 (al is a segment descriptor SD, (b) is a page description Child PD, (C)
is the pool frame control block PLCB, (d) is the Zukingse-Soto frame control block W80B, and (e) is the memory 7.
A diagram showing the configuration of Tsubuen ijMME, FIG. 3 is a diagram showing the configuration of the pool frame (purple), and (a) is the state before page connection. tb) is a diagram showing the state after connection, and FIG. 4 is a chart outlining the operation in this embodiment. VA...Virtual address, 8 people...Segment table, PA...Page address within segment, Pi'LA...Relative address within page, PCB [pl・・・・・・Process 1lilJ M
Block, ASW・・・Address space specification word, 5
TSZ・・・・・・Segment table size, ST・
... Segment table, STP ... Pointer to segment table, 8D ... Segment descriptor, SST ... Segment status information, SAT ...... Segment attribute information, PN...
... Segment size, FTP ... Pointer to page table. P-T...Segment protection information, WSID...
...Working set frame identifier, Ll...
Batch load specification hit, PIJ...Page descriptor, fLPA/Old...Real page address, BK8T...
...Backing store, PL, CB...
Pool frame control block, PLCNT... Empty page 7 frame lfi, PLTJ'TR... First page address pointer of empty page 7 frame list,
PLLPT 几・・・Page address pointer at the end of empty page 7 frame list, WSCT・Old・Working set management table, WSCB・・・Working set management table entry, WSCNT・・・
...Number of page 7 frames belonging to the tooling set, W
STPT 几・・・First page address pointer belonging to the working set, WSLPTR・・・・・・
The last page address belonging to the tooling set/
L2...control bit, MMT/old...memory map tape, MME...memory map table end 1FST...page frame status information, FUS... ...Page 7 frame usage status report, FP...forward pointer, BP...
...Reverse direction pointer, LAI) R8... Information indicating the virtual address allocated to the real page, BS
AD 几S...Backing store address information to which the actual page is allocated. (Reno (d) (C) Half-Z revision (ρ) v3ㅅ

Claims (1)

【特許請求の範囲】 板層1己憶方式としてセグメンテーション・ベージング
方式?採用する計算機システムのセグメント一括ロード
方式において、 セグメント清報として該セグメントに属するページが接
続管理されるべき主記憶のワーキングセット枠を指定す
るための情報と前記セグメント荀一括ロードすべきか否
か?示す第1の制御情報と?保持し。 ワーキングセット枠情報として該ワーキングセット枠に
一括ロードすべきか否か金示す第2の制御情報を保持し
。 前記主記憶においてページ不在発生時に該ページに対応
するセグメントの前記第1の制御情報と該ページの接続
されるべきワーキングセット枠の前記第A制御情報とが
一括ロード指定のときには該ページの含まれるセグメン
ト全体を前記主記憶にロードし前記第1および第2の制
御情報のうちの少なくともいずれかが一括ロード指定で
ないときには該ページのみr前記主記憶にロードするC
とt特徴とするセグメント一括ロード方式。
[Claims] Segmentation/basing method as one-layer self-memory method? In the segment bulk loading method of the computer system to be adopted, should information for specifying the working set frame of the main memory to which pages belonging to the segment are to be connected and managed be loaded as segment information and the segment information in bulk? The first control information shown? hold. As working set frame information, second control information indicating whether or not to collectively load the working set frame is held. When a page absence occurs in the main memory, when the first control information of the segment corresponding to the page and the A-th control information of the working set frame to which the page is to be connected are specified for bulk loading, the page is included. Load the entire segment into the main memory, and when at least one of the first and second control information does not specify a batch load, only the page is loaded into the main memory.
A segment batch loading method featuring t.
JP59017735A 1984-02-03 1984-02-03 Segment en bloc load system Granted JPS60163148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59017735A JPS60163148A (en) 1984-02-03 1984-02-03 Segment en bloc load system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59017735A JPS60163148A (en) 1984-02-03 1984-02-03 Segment en bloc load system

Publications (2)

Publication Number Publication Date
JPS60163148A true JPS60163148A (en) 1985-08-26
JPH0521257B2 JPH0521257B2 (en) 1993-03-23

Family

ID=11951999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59017735A Granted JPS60163148A (en) 1984-02-03 1984-02-03 Segment en bloc load system

Country Status (1)

Country Link
JP (1) JPS60163148A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0517383A2 (en) * 1991-05-31 1992-12-09 International Business Machines Corporation Image compression and storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0517383A2 (en) * 1991-05-31 1992-12-09 International Business Machines Corporation Image compression and storage

Also Published As

Publication number Publication date
JPH0521257B2 (en) 1993-03-23

Similar Documents

Publication Publication Date Title
US5724538A (en) Computer memory address control apparatus utilizing hashed address tags in page tables which are compared to a combined address tag and index which are longer than the basic data width of the associated computer
CN110442560B (en) Log replay method, device, server and storage medium
EP3726364A1 (en) Data write-in method and solid-state drive array
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
US7392357B2 (en) Snapshot format conversion method and apparatus
US20070078901A1 (en) Hierarchical storage system, and control method and program therefor
US20020049871A1 (en) Method and system for virtual memory compression in an embedded system
CN108132890B (en) Garbage recycling method, device and equipment for memory chip and storage medium
EP0149389A2 (en) Address translation control system
US8024524B2 (en) Method, system, and program for an adaptor to read and write to system memory
JPH06139120A (en) File updating system
CN111061752B (en) Data processing method and device and electronic equipment
US10430292B2 (en) Snapshot deletion in a distributed storage system
JP2007535241A (en) System and method for conditionally reducing executable modules
US7272698B2 (en) Heap memory management
WO2000048078A1 (en) A paged memory management system within a run-time environment
CN116257460B (en) Trim command processing method based on solid state disk and solid state disk
US20190187907A1 (en) Implementing A Hybrid Storage Node In A Distributed Storage System
US9798793B1 (en) Method for recovering an index on a deduplicated storage system
US9535796B2 (en) Method, apparatus and computer for data operation
CN111694806A (en) Transaction log caching method, device, equipment and storage medium
JPS60163148A (en) Segment en bloc load system
US10204002B1 (en) Method for maintaining a cache index on a deduplicated storage system
US6829693B2 (en) Auxiliary storage slot scavenger
JPS6336538B2 (en)