JPS6149703B2 - - Google Patents
Info
- Publication number
- JPS6149703B2 JPS6149703B2 JP55036724A JP3672480A JPS6149703B2 JP S6149703 B2 JPS6149703 B2 JP S6149703B2 JP 55036724 A JP55036724 A JP 55036724A JP 3672480 A JP3672480 A JP 3672480A JP S6149703 B2 JPS6149703 B2 JP S6149703B2
- Authority
- JP
- Japan
- Prior art keywords
- real
- page
- area
- virtual
- memory
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明は、仮想記憶制御方式の計算機、特に仮
想アドレス・モードと実アドレス・モードの2つ
のモードで動作する計算機において、仮想アドレ
スに一切対応しない実アドレス領域を設けること
により、この実アドレス領域を保護すると共にア
ドレス変換による時間損失をなくするようにした
高速処理の記憶制御方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention provides a real address area that does not correspond to any virtual address in a computer using a virtual memory control system, especially a computer that operates in two modes: virtual address mode and real address mode. This invention relates to a high-speed processing storage control system that protects this real address area and eliminates time loss due to address conversion.
従来の仮想記憶制御方式の計算機においては、
実記憶のすべては仮想記憶に対応しており、そし
て制御プログラムの中核をなす中核プログラムは
実記憶に固定化されている。この中核プログラム
格納域には、セグメント・テーブル、ページ・テ
ーブル、ページ枠テーブルなどの各種の制御テー
ブル類などの各種の制御テーブル類なども設けら
れている。従来のこの種の計算機においては、種
種の記憶保護機能が設けられていても、プログラ
ムが暴走したような場合、仮想アドレス・モード
で動作するプログラムによつて上述の各種の制御
テーブル類が破壊されることがあり、また、仮想
アドレス・モードでのアクセスに際してTLBフ
オルトによる時間損失が生ずるという欠点が存在
する。一般に仮想記憶は複数のセグメントに分割
され、各セグメントは複数のページに分割されて
いるが、従来のこの種の計算機においてはペー
ジ・テーブルは、仮想記憶に不使用領域が存在す
るか否かにかゝわらず、全ページに対応する個数
のページ・テーブル要素を有しており、ページ・
テーブルが大きくなり、実際にユーザ・プログラ
ムに対して使用できる実記憶のページ枠が少なく
なるという欠点がある。例えば、仮想記憶が16メ
ガ・バイトであり、ページ・サイズが512バイト
とすると、従来のこの種の計算機ではページ・テ
ーブルのために64Kバイトの領域を必要とする。 In computers with conventional virtual memory control method,
All real memory corresponds to virtual memory, and the core program that forms the core of the control program is fixed in real memory. This core program storage area is also provided with various control tables such as segment tables, page tables, page frame tables, and the like. In conventional computers of this kind, even if various memory protection functions are provided, if a program goes out of control, the various control tables mentioned above can be destroyed by a program running in virtual address mode. There is also the disadvantage of time loss due to TLB faults when accessing in virtual address mode. Generally, virtual memory is divided into multiple segments, and each segment is divided into multiple pages, but in conventional computers of this type, page tables are used to determine whether there is unused space in virtual memory. Regardless, it has the number of page table elements corresponding to all pages, and the number of page table elements corresponds to all pages.
The disadvantage is that the table becomes larger and fewer real memory page slots are actually available for user programs. For example, if the virtual memory is 16 megabytes and the page size is 512 bytes, a conventional computer of this type would require 64K bytes of space for the page table.
本発明は、上記の欠点を除去するものであつ
て、本発明の第1の目的は仮想アドレスと対応し
ない実アドレス領域にテーブル類を集め、この実
アドレス領域を実アドレス・モードによりアクセ
スすることにより、アドレス変換による時間損失
をなくすると共に仮想アドレス・モードによるア
クセスから保護する記憶制御方式を提供すること
にある。また、本発明の第2の目的は、ページ・
テーブルの大きさを状況に応じて増減し、これに
より実記憶を効率的に使用できるようにした記憶
制御方式を提供することを目的としている。そし
てそのため、本発明の情報処理システムにおける
記憶制御方式は、仮想アドレス・モードと実アド
レス・モードの2つのモードで動作し、仮想記憶
を備えた情報処理システムにおいて、実記憶を、
中核プログラムが格納される中核プログラム域、
仮想アドレスを実アドレスに変換するページ・テ
ーブル上に存在しない非変換実記憶域及びページ
ング可能なプログラムが格納されるページング域
に分割し、上記非変換実記憶域にページ・テーブ
ルを含む各種の制御テーブル類を格納し、仮想記
憶に新たに使用領域が生成されたとき当該使用領
域に対応するページ・テーブルを構成するための
実ページ枠を上記実記憶のページング領域より獲
得して上記非変換実記憶域に付加し、仮想記憶の
使用領域が不使用領域となつたとき当該不使用領
域に対応するページ・テーブルを構成するための
非変換実記憶域の実ページ枠を上記実記憶のペー
ジング領域に解放し、更に上記非変換実記憶域
を、ページ・フオルト発生時におけるページング
の対象としないようにしたことを特徴とするもの
である。以下、本発明を図面を参照しつつ説明す
る。 The present invention is intended to eliminate the above-mentioned drawbacks, and the first object of the present invention is to collect tables in a real address area that does not correspond to virtual addresses, and to access this real address area in real address mode. The object of the present invention is to provide a storage control method that eliminates time loss due to address translation and protects against access in virtual address mode. In addition, the second object of the present invention is to
The purpose of this invention is to provide a storage control method that increases or decreases the size of a table depending on the situation, thereby making it possible to use real storage efficiently. Therefore, the storage control method in the information processing system of the present invention operates in two modes, virtual address mode and real address mode, and in an information processing system equipped with virtual memory, real memory is
a core program area where core programs are stored;
Divided into a non-converted real storage area that does not exist on the page table that converts virtual addresses to real addresses, and a paging area where pageable programs are stored, and various controls including the page table in the above-mentioned non-converted real storage area. When tables are stored and a new used area is generated in virtual memory, a real page frame for configuring a page table corresponding to the used area is acquired from the paging area of the real memory and the non-converted execution is executed. When the used area of virtual memory becomes an unused area, the real page frame of the non-converted real storage area is added to the paging area of the real storage area for configuring the page table corresponding to the unused area. Furthermore, the unconverted real storage area is not targeted for paging when a page fault occurs. Hereinafter, the present invention will be explained with reference to the drawings.
第1図は本発明による仮想記憶管理の概要を説
明するための図、第2図はページ・テーブルの要
素の構成を示す図、第3図はセグメント・テーブ
ルの要素の構成を示す図、第4図は仮想記憶制御
ブロツク・ポインタ・テーブルの要素の構成を示
す図、第5図はページ枠テーブルの要素の構成を
示す図、第6図はページ枠テーブルの要素の連鎖
構造を示す図、第7図は実記憶制御ブロツクの管
理構造を説明する図、第8図はページ枠テーブル
の要素の移動を説明する図である。 FIG. 1 is a diagram for explaining an overview of virtual memory management according to the present invention, FIG. 2 is a diagram showing the configuration of elements of a page table, FIG. 3 is a diagram showing the configuration of elements of a segment table, 4 is a diagram showing the configuration of the elements of the virtual memory control block pointer table, FIG. 5 is a diagram showing the configuration of the elements of the page frame table, and FIG. 6 is a diagram showing the chain structure of the elements of the page frame table. FIG. 7 is a diagram for explaining the management structure of the real storage control block, and FIG. 8 is a diagram for explaining the movement of elements of the page frame table.
第1図において、PTはページ・テーブル、
SGTはセグメント・テーブル、VSは仮想記憶、
VSBPTは仮想記憶制御ブロツク・ポインタ・テ
ーブル、VSCBは仮想記憶制御ブロツク、RSCB
は実記憶制御ブロツク、PFTはページ枠テーブ
ル、RSは実記憶、NUCは制御プログラムの中核
をなす中核プログラムをそれぞれ示している。 In Figure 1, PT is a page table,
SGT is segment table, VS is virtual memory,
VSBPT is virtual storage control block pointer table, VSCB is virtual storage control block, RSCB
indicates the real memory control block, PFT indicates the page frame table, RS indicates the real memory, and NUC indicates the core program that forms the core of the control program.
ページ・テーブルPTは、使用中のセグメント
に対応して設けられるものであり、不使用のセグ
メントに対してはページ・テーブルPTは設けら
れない。ページ・テーブルPTの各要素は第2図
に示すような構成を有しており、要素には無効フ
ラグ(Invalid Flag)Iと実ページ番号が記入さ
れる。この無効フラグが論理「1」のときにはこ
の要素は無効であり、この無効フラグが論理
「0」のときにはこの要素は有効である。セグメ
ント・テーブルSGTは仮想記憶VSの各セグメン
トと1対1の対応をなす要素を有しており、各要
素は対応するページ・テーブルPTの先頭アドレ
スを示している。セグメント・テーブルSGTの
要素には、第3図に示すように無効フラグIと
PTアドレスが記入されている。この無効フラグ
Iもページ・テーブルPTの無効フラグIと同様
な機能(セグメント・テーブル要素の有効/無効
を示す機能)をもつている。仮想記憶VSは複数
のセグメントに分割され、また、各セグメントは
複数のページに分割されている。1ページは例え
ば512バイトであり、1セグメントは例えば128ペ
ージである。中核プログラムの格納される仮想記
憶上の領域はページング不可能域とされ、他の領
域はページング域、すなわちページング可能域と
される。仮想記憶制御ブロツク・ポインタ・テー
ブルVSBPTは、セグメントに1対1の対応をな
す複数の要素を有しており、各要素はセグメント
番号の順序にしたがつて配置されている。仮想記
憶制御ブロツク・ポインタ・テーブルVSBPTの
各要素には、第4図に示すように仮想記憶制御ブ
ロツクVSCBの先頭アドレスが記入されている。
仮想記憶制御ブロツクVSCBは仮想記憶VSのペ
ージング領域に存在するページング可能なプログ
ラムの個数だけ存在するものであり、例えばジヨ
ブ1用のプログラムとジヨブ2用のプログラムが
仮想記憶VSのページング領域に存在する場合
は、2個の仮想記憶制御ブロツクVSCBが存在す
る。図示の例は、ジヨブ1用プログラムのみが仮
想記憶VSのページング領域にある場合を示して
いる。仮想記憶制御ブロツクVSCBには図示のよ
うに実記憶制御ブロツクRSCBのアドレスが記入
され、図示しないがその外に、対応する仮想記憶
上の区画に対して割当てられているDASDの記憶
域を指定するための制御情報(例えばデイスク番
号、装置タイプ、アドレス等)も記入されてい
る。実記憶制御ブロツクRSCBのそれぞれは対応
する実記憶RS上のブロツク域を管理するもので
ある。実記憶制御ブロツクRSCB0は、実記憶
RS上の非変換実記憶領域を管理する。図示の例
は、ジヨブ1用のプログラムのみが仮想記憶VS
のペーシング領域上に存在している場合を想定し
ているので、実記憶RSのNUC領域および非変換
実記憶域を除くページング可能領域はすべてジヨ
ブ1用プログラムに割当てられ、そして実記憶制
御ブロツクRSCB1は全ページング領域を管理す
る。実記憶制御ブロツクRSCB0は、非変換実記
憶域として割当てられたページ枠を指示するため
のページ枠テーブルの先頭のページ枠テーブル要
素をポイントする。また、実記憶制御ブロツク
RSCB1は、実記憶RSのページング領域として
割当てられたページ枠を指示するためのページ枠
テーブルの先頭ページ枠テーブル要素をポイント
する。実記憶制御ブロツクRSCBには、管理する
ページ枠テーブル要素の個数も記入される。ペー
ジ枠テーブルPFTは、中核プログラムを格納す
るNUC領域を構成するページ枠を指示するNUC
用ページ枠テーブルと、非変換実記憶域を構成す
るページ枠を指示する非変換ページ枠テーブル
と、ページング領域を構成するページ枠を指示す
るページング用ページ枠テーブルとから構成され
ている。第5図はページ枠テーブル要素の構成を
示すものであり、ページ枠テーブル要素は、順方
向ポインタ、逆方向ポインタ、仮想ページ番号お
よび制御情報を有している。この制御情報は、
LOCKカウンタや実記憶制御ブロツク番号、各種
フラグ類から構成されている。LOCKとは仮想記
憶VS上の内容を実記憶RSに常駐化することであ
る。LOCKカウンタとはこの常駐化が要求された
回数を示すものである。関連するページ枠テーブ
ル要素は、第6図に示すように連鎖されており、
また、第7図に示すように先頭のページ枠テーブ
ル要素は対応する実記憶制御ブロツクRSCBによ
つてポイントされている。図示されていないが、
非変換ページ枠テーブルには、不要になつた場合
に解放されるユーザ・ページ・テーブル用のペー
ジ枠テーブルと、一切解放されないページ枠テー
ブルとがあり、これらの先頭のページ枠テーブル
要素は実記憶制御ブロツクRSCB0でポイントさ
れている。また、ページング用ページ枠テーブル
には、空きページを指示する空きページ枠テーブ
ルと、ページング用ページを指示するページ枠テ
ーブルと、ロツク(Lock)されたページを指示
するためのページ枠テーブルがあり、これら3種
のページ枠テーブルの先頭は、対応する実記憶制
御ブロツクRSCB1、RSCB2……………又は
RSCBnでポイントされている。実記憶RSは、中
核プログラムを格納するNUC領域、非変換実記
憶域およびページング領域に分割されている。
NUC領域の内容は常に実記憶RSに固定化され、
非変換実記憶領域の内容はジヨブが終了するまで
の間は固定されている。これらのNUC領域およ
び非変換実記憶領域は、ページングの対象とはさ
れない。ページング領域は、ページング可能なプ
ログラムのための記憶域であつて、例えばジヨブ
1用プログラムとジヨブ2用プログラムが仮想記
憶VSのページング領域に存在する場合には、実
記憶RSのページング領域は2分されて、それぞ
れジヨブ1用プログラムおよびジヨブ2用プログ
ラムに割当てられる。非変換実記憶域は、仮想記
憶VSと対応しない領域であり、したがつて非変
換実記憶領域に対応するセグメント・テーブル要
素およびページ・テーブルは存在しない。したが
つて、この非変換実記憶域は、PSW(プログラ
ム状態語)が実アドレス・モードを指定している
場合にのみアクセスすることが出来る。この非変
換実記憶域に、ページ・テーブルPT、セグメン
ト・テーブルSGT、仮想記憶制御ブロツク・ポ
インタ・テーブルVSBPT、仮想制御ブロツク
VSCB、実記憶制御ブロツクRSCBおよびページ
枠テーブルPFTが形成されている。 A page table PT is provided corresponding to a segment in use, and a page table PT is not provided for an unused segment. Each element of the page table PT has a configuration as shown in FIG. 2, and an invalid flag I and an actual page number are written in each element. When this invalid flag is logical "1", this element is invalid, and when this invalid flag is logical "0", this element is valid. The segment table SGT has elements in one-to-one correspondence with each segment of the virtual memory VS, and each element indicates the start address of the corresponding page table PT. The elements of segment table SGT are marked with invalid flag I as shown in Figure 3.
PT address is entered. This invalid flag I also has the same function as the invalid flag I of the page table PT (a function indicating validity/invalidity of the segment table element). The virtual memory VS is divided into multiple segments, and each segment is divided into multiple pages. One page is, for example, 512 bytes, and one segment is, for example, 128 pages. The area on the virtual memory where the core program is stored is a non-pageable area, and the other areas are paging areas, that is, pageable areas. The virtual storage control block pointer table VSBPT has a plurality of elements in one-to-one correspondence with segments, and each element is arranged in the order of segment numbers. In each element of the virtual storage control block pointer table VSBPT, the starting address of the virtual storage control block VSCB is written, as shown in FIG.
The virtual memory control block VSCB exists for the same number of pageable programs that exist in the paging area of the virtual memory VS. For example, a program for job 1 and a program for job 2 exist in the paging area of the virtual memory VS. In this case, there are two virtual storage control blocks VSCB. The illustrated example shows a case where only the job 1 program is in the paging area of the virtual storage VS. As shown in the figure, the address of the real memory control block RSCB is entered in the virtual memory control block VSCB, and in addition to that (not shown), the DASD storage area allocated to the corresponding virtual memory partition is specified. Control information (for example, disk number, device type, address, etc.) is also entered. Each real storage control block RSCB manages a block area on the corresponding real storage RS. The real memory control block RSCB0 is the real memory control block RSCB0.
Manage unconverted real storage area on RS. In the illustrated example, only the program for job 1 is stored in virtual memory VS.
Therefore, all pageable areas except the NUC area of the real storage RS and the non-converted real storage area are allocated to the program for job 1, and the real storage control block RSCB1 is allocated to the program for job 1. manages all paging areas. The real storage control block RSCB0 points to the first page frame table element of the page frame table for indicating the page frame allocated as the non-converted real storage area. In addition, the real memory control block
RSCB1 points to the first page frame table element of the page frame table for indicating the page frame allocated as the paging area of the real storage RS. The number of page frame table elements to be managed is also entered in the real storage control block RSCB. The page frame table PFT is a NUC that indicates the page frames that make up the NUC area that stores the core program.
a non-conversion page frame table that specifies page frames that make up the non-conversion real storage area, and a page frame table for paging that specifies page frames that make up the paging area. FIG. 5 shows the configuration of a page frame table element, and the page frame table element has a forward pointer, a backward pointer, a virtual page number, and control information. This control information is
It consists of a LOCK counter, real memory control block number, and various flags. LOCK means to make the contents on the virtual memory VS resident in the real memory RS. The LOCK counter indicates the number of times this residency has been requested. Related page frame table elements are chained as shown in Figure 6.
Further, as shown in FIG. 7, the first page frame table element is pointed to by the corresponding real storage control block RSCB. Although not shown,
The non-converted page frame table includes a page frame table for user page tables that is released when it is no longer needed, and a page frame table that is never released, and the first page frame table elements of these are stored in real memory. It is pointed to by control block RSCB0. In addition, the page frame table for paging includes an empty page frame table that specifies empty pages, a page frame table that specifies paging pages, and a page frame table that specifies locked pages. The beginning of these three types of page frame tables is the corresponding real storage control block RSCB1, RSCB2...... or
Pointed to by RSCBn. The real storage RS is divided into a NUC area for storing core programs, a non-conversion real storage area, and a paging area.
The contents of the NUC area are always fixed in the real memory RS,
The contents of the non-converted real storage area are fixed until the job ends. These NUC areas and unconverted real storage areas are not subject to paging. The paging area is a storage area for pageable programs. For example, if a program for job 1 and a program for job 2 exist in the paging area of the virtual memory VS, the paging area of the real memory RS is divided into two parts. and assigned to the job 1 program and the job 2 program, respectively. The non-converted real storage area is an area that does not correspond to the virtual storage VS, and therefore there are no segment table elements and page tables that correspond to the non-converted real storage area. Therefore, this untranslated real storage can only be accessed if the PSW (Program Status Word) specifies real address mode. This unconverted real storage includes the page table PT, segment table SGT, virtual storage control block pointer table VSBPT, virtual control block
VSCB, real storage control block RSCB, and page frame table PFT are formed.
セグメント対応に設けられるページ・テーブル
PTは、そのセグメントが使用されるときに獲得
され、セグメントが不使用となつたときに解放さ
れる。上述のようにページ・テーブルPTは非変
換実記憶域に形成される。ページ・テーブルが解
放された時点でこのページ・テーブルに割当てら
れていた実ページ枠を非変換実記憶域からページ
ング領域に解放する。逆にページ・テーブルが必
要となつた時点で、ページング領域の適当な実ペ
ージ枠を非変換実記憶域に追加してページ・テー
ブルとして使用する。 Page table set up for segment
PTs are acquired when the segment is used and released when the segment is no longer in use. As mentioned above, page table PT is created in non-translated real storage. Frees the real page frames allocated to the page table from unconverted real storage to the paging area at the time the page table was freed. Conversely, when a page table is needed, an appropriate real page frame in the paging area is added to the non-converted real storage area and used as a page table.
第8図はページ枠テーブル要素の移動を説明す
るものである。なおPFTEはページ枠テーブル要
素を示している。一般に実ページ枠の移動は、該
当するページ枠テーブル要素PFTEの連鎖を切離
し、管理元の実記憶制御ブロツクRSCBの管理ペ
ージ枠テーブル要素の個数を“1”だけ減らし、
そして移動させた記憶領域のページ枠テーブル要
素PFTEのグループに、切離したページ枠テーブ
ル要素PFTEを連鎖させ、これと同時に管理元の
実記憶制御ブロツクRSCBの管理ページ枠テーブ
ル要素の個数を“1”だけ増やすことにより行わ
れる。 FIG. 8 explains the movement of page frame table elements. Note that PFTE indicates a page frame table element. Generally, when moving a real page frame, the chain of the corresponding page frame table element PFTE is disconnected, and the number of management page frame table elements in the real storage control block RSCB of the management source is reduced by "1".
Then, chain the detached page frame table element PFTE to the group of page frame table elements PFTE in the moved storage area, and at the same time set the number of managed page frame table elements in the real storage control block RSCB of the management source to "1". This is done by increasing only
次にページ・フオルト処理について説明する。
ページ・フオルトはPSWが仮想アドレス・モー
ドを指定しているときに発生する。PSWには、
仮想アドレス・モードと実アドレス・モードの指
定がある。仮想アドレス・モード指定の場合には
中央処理装置は動的アドレス変換機構によるアド
レツシングを行う。一方、実アドレス・モードの
場合には、アドレスはすべて実アドレスとみなし
て動的アドレス変換機構を通さずに実記憶RSへ
のアドレツシングを行う。ページ・フオルトが発
生すると、プログラム割込みが生じ、プログラム
割込みハンドラ(処理ルーチン)が実行される。
プログラム割込みハンドラは、ページ・フオルト
であることが判るとページ・フオルト・アドレス
を調べ、ページ・フオルトが発生したことをペー
ジ管理プログラムへ通知する。ページ・フオルト
が通知されると、ページ管理プログラムは下記の
ような処理を行う。なお、ページ管理プログラム
は実アドレス・モードで動作するものである。 Next, page fault processing will be explained.
A page fault occurs when the PSW specifies virtual address mode. PSW has
There are virtual address mode and real address mode specifications. In the case of virtual address mode specification, the central processing unit performs addressing using a dynamic address translation mechanism. On the other hand, in the real address mode, all addresses are regarded as real addresses and addressing to the real memory RS is performed without passing through the dynamic address translation mechanism. When a page fault occurs, a program interrupt occurs and a program interrupt handler (processing routine) is executed.
When the program interrupt handler determines that there is a page fault, it checks the page fault address and notifies the page management program that a page fault has occurred. When a page fault is notified, the page management program performs the following processing. Note that the page management program operates in real address mode.
ページ・フオルト・アドレスからセグメント
番号を求め、このセグメント番号を用い仮想記
憶制御ブロツク・ポインタ・テーブルVSBPT
より該当する仮想記憶制御ブロツクVSCBのア
ドレスを求める。 Determine the segment number from the page fault address and use this segment number to create the virtual memory control block pointer table VSBPT.
Find the address of the corresponding virtual memory control block VSCB.
該当する仮想記憶制御ブロツクVSCBから該
当する実記憶制御ブロツクRSCBを求め、この
実記憶制御ブロツクRSCBの管理下にある適当
な置換対象実ページ枠を見付ける。 The corresponding real storage control block RSCB is obtained from the corresponding virtual storage control block VSCB, and an appropriate replacement target real page frame under the control of this real storage control block RSCB is found.
置換対象実ページ枠に現在対応しているペー
ジ・テーブル要素の無効フラグIを「1」とす
る。 The invalid flag I of the page table element currently corresponding to the real page frame to be replaced is set to "1".
置換対象実ページ枠のデータが変更されてい
るか否かを調べ、変更されていれば、対応する
DASD上のページ・データ・セツトに書込む。
なお、仮想記憶制御ブロツクVSCBには、仮想
アドレスと対応するページ・データ・セツトの
物理アドレスを計算するための定数が記入され
ている。 Check whether the data of the real page frame to be replaced has been changed, and if so, take the corresponding action.
Write to a page data set on DASD.
Note that constants for calculating the physical address of the page data set corresponding to the virtual address are written in the virtual storage control block VSCB.
ページ・フオルト・アドレスから該当するペ
ージ・データ・セツトが格納されているDASD
上の物理アドレスを求め、DASD上の該当する
ページ・データ・セツトを置換対象実ページ枠
に書込む。また、上述の書込みと読込みは1回
のスタートI/Oで行われる。 DASD containing the appropriate page data set from the page fault address
Find the physical address above and write the corresponding page data set on DASD to the real page frame to be replaced. Furthermore, the above-mentioned writing and reading are performed in one start I/O.
セグメント・テーブルSGTおよびページ・
テーブルPTからページ・フオルト・アドレス
に対応するページ・テーブル要素を求め、この
ページ・テーブル要素に新しく対応させた実ペ
ージ番号を記入すると共に、無効フラグIを
「0」にする。 Segment table SGT and page
The page table element corresponding to the page fault address is obtained from the table PT, the new corresponding real page number is written in this page table element, and the invalid flag I is set to "0".
置換対象実ページ枠に対応するページ枠テー
ブル要素に仮想ページ番号を記入する。 Enter the virtual page number in the page frame table element corresponding to the real page frame to be replaced.
非変換実記憶域を構成する実ページ枠を指定す
るページ枠テーブルを管理する実記憶制御ブロツ
クRSCB0は、いずれの仮想記憶制御ブロツク
VSCBからも選択されない。これは、非変換実記
憶域が仮想アドレスと置換されないことを意味し
ている。つまり、仮想アドレス・モードでは本領
域への一切のアクセスは禁止される。 The real storage control block RSCB0, which manages the page frame table that specifies the real page frames that make up the non-converted real storage area, is connected to any virtual memory control block.
It is not selected from VSCB either. This means that untranslated real storage is not replaced with virtual addresses. In other words, in virtual address mode, any access to this area is prohibited.
以上の説明から明らかなように、本発明によれ
ば、
(a) 仮想アドレス・モードのアクセスから保護さ
れる非変換実記憶域を得ることが出来る。 As is clear from the above description, according to the present invention, (a) an untranslated real storage area that is protected from virtual address mode access can be obtained;
(b) 非変換実記憶域をアクセスできるのは実アド
レス・モードの場合のみであり、この場合には
TLBフオルトによる時間損失が生じない。(b) Untranslated real storage can only be accessed in real address mode, in which case
No time loss due to TLB faults.
(c) 非変換実記憶域に対応する領域が仮想記憶上
で不要となるので、実質的に仮想アドレス空間
が拡張される。(c) Since the area corresponding to the unconverted real storage area is no longer needed in virtual storage, the virtual address space is effectively expanded.
(d) 非変換実記憶域の動的獲得/解放ができるの
で、実記憶の利用効率が向上する。(d) Since non-conversion real storage areas can be dynamically acquired/released, real storage usage efficiency is improved.
などの利点が得られる。Benefits such as:
第1図は本発明による仮想記憶管理の概要を説
明するための図、第2図はページ・テーブルの要
素の構成を示す図、第3図はセグメント・テーブ
ルの要素の構成を示す図、第4図は仮想記憶制御
ブロツク・ポインタの要素の構成を示す図、第5
図はページ枠テーブルの要素の構成を示す図、第
6図はページ枠テーブルの要素の連鎖構造を示す
図、第7図は実記憶制御ブロツクの管理構造を説
明する図、第8図はページ枠テーブルの要素の移
動を説明する図である。
PT……ページ・テーブル、SGT……セグメン
ト・テーブル、VS……仮想記憶、VSBPT……仮
想記憶制御ブロツク・ポインタ・テーブル、
VSCB……仮想記憶制御ブロツク、RSCB……実
記憶制御ブロツク、PFT……ページ枠テーブ
ル、RS……実記憶、NUC……制御プログラムの
中核をなす中核プログラム。
FIG. 1 is a diagram for explaining an overview of virtual memory management according to the present invention, FIG. 2 is a diagram showing the configuration of elements of a page table, FIG. 3 is a diagram showing the configuration of elements of a segment table, and FIG. Figure 4 shows the configuration of elements of the virtual memory control block pointer.
The figure shows the configuration of the elements of the page frame table, Figure 6 shows the chain structure of the elements of the page frame table, Figure 7 explains the management structure of the real memory control block, and Figure 8 shows the page frame table. It is a figure explaining the movement of the element of a frame table. PT...page table, SGT...segment table, VS...virtual memory, VSBPT...virtual memory control block pointer table,
VSCB: Virtual memory control block, RSCB: Real memory control block, PFT: Page frame table, RS: Real memory, NUC: Core program that forms the core of the control program.
Claims (1)
の2つのモードで動作し、仮想記憶を備えた情報
処理システムにおいて、実記憶を、中該プログラ
ムが格納される中該プログラム域、仮想アドレス
を実アドレスに変換するページ・テーブル上に存
在しない非変換実記憶域及びページング可能なプ
ログラムが格納されるページング域に分割し、上
記非変換実記憶域にページ・テーブルを含む各種
の制御テーブル類を格納し、仮想記憶に新たに使
用領域が生成されたとき当該使用領域に対応する
ページ・テーブルを構成するための実ページ枠を
上記実記憶のページング領域より獲得して上記非
変換実記憶域に付加し、仮想記憶の使用領域が不
使用領域となつたとき当該不使用領域に対応する
ページ・テーブルを構成するための非変換実記憶
域の実ページ枠を上記実記憶のページング領域に
解放し、更に上記非変換実記憶域を、ページ・フ
オルト発生時におけるページングの対象としない
ようにしたことを特徴とする情報処理システムに
おける記憶制御方式。1 In an information processing system that operates in two modes, a virtual address mode and a real address mode, and is equipped with virtual memory, the real memory is the program area in which the program is stored, and the virtual address is converted into a real address. Divide into a non-conversion real storage area that does not exist on the page table to be converted and a paging area where pageable programs are stored, store various control tables including the page table in the non-conversion real storage area, When a new used area is generated in the virtual memory, a real page frame for configuring a page table corresponding to the used area is acquired from the paging area of the real memory and added to the unconverted real storage area; When the used area of virtual memory becomes an unused area, the real page frame of the non-converted real storage area for configuring the page table corresponding to the unused area is released to the paging area of the real storage, and A storage control method in an information processing system, characterized in that a non-converted real storage area is not targeted for paging when a page fault occurs.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3672480A JPS56134382A (en) | 1980-03-21 | 1980-03-21 | Memory control system of computer on virtual memory control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3672480A JPS56134382A (en) | 1980-03-21 | 1980-03-21 | Memory control system of computer on virtual memory control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS56134382A JPS56134382A (en) | 1981-10-21 |
| JPS6149703B2 true JPS6149703B2 (en) | 1986-10-30 |
Family
ID=12477687
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3672480A Granted JPS56134382A (en) | 1980-03-21 | 1980-03-21 | Memory control system of computer on virtual memory control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS56134382A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63180605U (en) * | 1987-05-12 | 1988-11-22 | ||
| JPH04125207U (en) * | 1991-05-01 | 1992-11-16 | 義則 伊藤 | dust container |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5938991A (en) * | 1982-08-27 | 1984-03-03 | Hitachi Ltd | Management system of virtual storage |
| US7302546B2 (en) | 2004-01-09 | 2007-11-27 | International Business Machines Corporation | Method, system, and article of manufacture for reserving memory |
-
1980
- 1980-03-21 JP JP3672480A patent/JPS56134382A/en active Granted
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63180605U (en) * | 1987-05-12 | 1988-11-22 | ||
| JPH04125207U (en) * | 1991-05-01 | 1992-11-16 | 義則 伊藤 | dust container |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS56134382A (en) | 1981-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20200242046A1 (en) | Method, system, and apparatus for page sizing extension | |
| US5893166A (en) | Addressing method and system for sharing a large memory address space using a system space global memory section | |
| US5182805A (en) | Method and system for determining copy-on-write condition | |
| US6061773A (en) | Virtual memory system with page table space separating a private space and a shared space in a virtual memory | |
| JP2635058B2 (en) | Address translation method | |
| US5852738A (en) | Method and apparatus for dynamically controlling address space allocation | |
| US5978892A (en) | Virtual memory allocation in a virtual address space having an inaccessible gap | |
| EP0238158B1 (en) | Copy-on-write segment sharing in a virtual memory, virtual machine data processing system | |
| KR101563659B1 (en) | Extended page size using aggregated small pages | |
| US5835961A (en) | System for non-current page table structure access | |
| US5873127A (en) | Universal PTE backlinks for page table accesses | |
| US7039769B2 (en) | Direct addressed shared compressed memory system | |
| US5765201A (en) | Changing page size in storage media of computer system | |
| JPH1091525A (en) | Translation lookaside buffer and memory management system | |
| US4991082A (en) | Virtual storage system and method permitting setting of the boundary between a common area and a private area at a page boundary | |
| US5873120A (en) | Variable split virtual address space allocation with multi-system compatibility | |
| JPH0814803B2 (en) | Address translation method | |
| US5875487A (en) | System and method for providing efficient shared memory in a virtual memory system | |
| JP3629507B2 (en) | System and method for providing shared memory using shared virtual segment identification in a computer system | |
| US6289431B1 (en) | Method and apparatus for accessing more than 4 Gigabytes of physical memory with 4-byte table entries | |
| JP3808058B2 (en) | Apparatus for allowing a plurality of hosts to share a set of memory sectors storing compressed data | |
| JPS6149703B2 (en) | ||
| JPS6184755A (en) | Data processing system | |
| US5479631A (en) | System for designating real main storage addresses in instructions while dynamic address translation is on | |
| JPH11242633A (en) | Memory protection method |