JPS6143743B2 - - Google Patents
Info
- Publication number
- JPS6143743B2 JPS6143743B2 JP56213577A JP21357781A JPS6143743B2 JP S6143743 B2 JPS6143743 B2 JP S6143743B2 JP 56213577 A JP56213577 A JP 56213577A JP 21357781 A JP21357781 A JP 21357781A JP S6143743 B2 JPS6143743 B2 JP S6143743B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- virtual space
- overlay
- load
- virtual
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
(1) 発明の技術分野
本発明は、多重仮想記憶方式を採用する計算機
システムにおいて、仮想空間の個別領域を他の仮
想空間から動的に共用できるようにし、その個別
領域をオーバレイ・ロードモジユールの退避用領
域として利用することにより、高速なオーバレイ
制御を可能にした仮想空間共用によるオーバレイ
制御方式に関するものである。[Detailed Description of the Invention] (1) Technical Field of the Invention The present invention enables individual areas of a virtual space to be dynamically shared with other virtual spaces in a computer system that employs a multiplexed virtual memory system. The present invention relates to an overlay control method based on virtual space sharing that enables high-speed overlay control by using an area as a save area for an overlay load module.
(2) 技術の背景
近年、主記憶容量の制限を徹廃すると共に、処
理効率の向上を図るために、多重仮想記憶方式を
採用する計算機システムが多くなつてきている。
多重仮想記憶方式においては、例えばあるまとま
つた処理を実行するジヨブ毎に仮想空間を割当
て、この仮想空間をアドレス変換テーブルである
セグメントテーブルおよびページテーブルによつ
て実空間に対応づけるようにされる。(2) Background of the technology In recent years, an increasing number of computer systems have adopted a multiple virtual memory method in order to eliminate limitations on main memory capacity and improve processing efficiency.
In the multiple virtual memory system, for example, a virtual space is allocated for each job that executes a certain set of processing, and this virtual space is made to correspond to the real space by a segment table and a page table, which are address translation tables.
仮想アドレスを例えば24ビツトで表わすとする
と、1つの仮想空間は16メガバイトの大きさを持
つ。一般に、この仮想空間は、例えばシステムの
核部分やシステム全体の制御にかかわる制御表等
の領域の各仮想空間に実質的に共通なシステム共
通領域と、各仮想空間毎に固有な内容をもつ個別
領域とを有する。特に大規模なシステムにおいて
は、システムの高機能化や制御の多様化のため
に、上記システム共通領域のサイズが増大し、そ
の分だけ上記個別領域を縮小することを余儀なく
されているが、一方、所望のサービスを実現する
ための巨大ジヨブは大きな個別領域を必要として
いる。 For example, if a virtual address is represented by 24 bits, one virtual space has a size of 16 megabytes. In general, this virtual space consists of a system common area that is substantially common to each virtual space, such as areas such as the core of the system and control tables involved in controlling the entire system, and an individual system area that has content unique to each virtual space. It has a region. Particularly in large-scale systems, the size of the system common area increases as the system becomes more sophisticated and control becomes more diverse, forcing the individual areas to be reduced accordingly. , large jobs require large individual areas to implement desired services.
(3) 従来技術と問題点
従来、システム共通領域についてのセグメント
テーブルおよびページテーブルは、例えばプロト
タイプをコピーまたはポイントするなどして各仮
想空間が共通となるようにされていたが、個別領
域についてはそれぞれ独自にページテーブルをも
つようにされ、従つて以下のような問題が生じて
いた。(3) Prior art and problems Conventionally, segment tables and page tables for system common areas were made common to each virtual space by copying or pointing to a prototype, but for individual areas, Each of them had its own page table, which caused the following problems.
個別領域を各仮想空間で共用できないために、
共通に使用できるロードモジユールであつても、
個別領域に対しては、各仮想空間ごとにそれぞれ
別々にローデイングする必要が生じ、そのためロ
ーデイングに要する入出力の負荷の比率が高まる
という問題があつた。もし、これらのロードモジ
ユールを上記システム共通領域にローテイングす
るとすれば、仮想アドレスを占有することとなる
ので、共用を必要としない空間に対しての個別領
域に無用の圧迫を加えることになる。 Because individual areas cannot be shared by each virtual space,
Even if it is a load module that can be used in common,
As for the individual areas, it is necessary to load each virtual space separately, which poses a problem in that the ratio of the input/output load required for loading increases. If these load modules are rotated to the system common area mentioned above, they will occupy virtual addresses, which will put unnecessary pressure on individual areas for spaces that do not need to be shared. .
このような領域に対する圧迫を少なくするため
に、1つの仮想空間において同一の仮想アドレス
を有し、かつ排他的に動作する複数のロードモジ
ユールを交互にロードするオーバレイ制御が用い
られている。このオーバレイ制御を行う場合、従
来、必ず磁気デイスク装置などへの入出力を必要
としていた。そのため、迅速な処理ができなくな
ると共に、入出力装置に対する負荷が増大すると
いう欠点があつた。従つて、特にシステム共通領
域で動作するシステム全体の制御処理を行うロー
ドモジユールでは、オーバレイを用いることは現
実的にできず、それがシステム共通領域を増大さ
せる原因となつたいた。 In order to reduce pressure on such an area, overlay control is used to alternately load a plurality of load modules that have the same virtual address and operate exclusively in one virtual space. Conventionally, when performing this overlay control, input/output to a magnetic disk device or the like has always been required. As a result, there are disadvantages in that quick processing is not possible and the load on the input/output device increases. Therefore, it is not practical to use an overlay, especially in a load module that performs control processing for the entire system that operates in a system common area, which causes an increase in the system common area.
(4) 発明の目的
本発明は上記問題点の解決を図り、仮想空間の
個別領域の動的共用を可能にして、その共用され
る仮想空間を利用することにより、オーバレイ制
御を迅速に行い得るようにすることを目的として
いる。(4) Purpose of the Invention The present invention aims to solve the above-mentioned problems, enables dynamic sharing of individual areas of a virtual space, and quickly performs overlay control by using the shared virtual space. The purpose is to do so.
(5) 発明の構成
本発明の仮想空間共用によるオーバレイ制御方
式は、各仮想空間に共通な内容を持つシステム共
通領域と、各仮想空間毎に固有な内容を持つ個別
領域とを備え、上記各仮想空間毎にアドレスをマ
ツピングするテーブルによつて実空間との対応を
とるようにされた仮想記憶制御を行うシステムで
あつて、仮想空間における指定されたオーバレイ
用領域に複数のロードモジユールを交互にロード
する制御を行うオーバレイ制御方式において、
上記個別領域が他の仮想空間と共用される共用
仮想空間上における当該個別領域に、オーバレ
イ・ロードモジユール退避用領域を設定する手段
と、ロードモジユールの上記オーバレイ用領域へ
のロード要求に対し、当該オーバレイ用領域が他
のロードモジユールによつて占められていると
き、当該他のロードモジユールを、上記アドレス
をマツピングするテーブルを更新することによ
り、上記オーバレイ・ロードモジユール退避用領
域に退避する手段と、
上記オーバレイ用領域に対し、ロード要求が出
されたロードモジユールが、上記オーバレイ・ロ
ードモジユール退避用領域に退避されている状態
にあるとき、上記アドレスをマツピングするテー
ブルを更新することにより、当該ロードモジユー
ルを上記オーバレイ用領域に用意する手段とを備
えたことを特徴としている。(5) Structure of the Invention The overlay control method based on virtual space sharing of the present invention includes a system common area that has content common to each virtual space, and an individual area that has content unique to each virtual space. A system that performs virtual memory control that corresponds to the real space using a table that maps addresses for each virtual space, and that alternately places multiple load modules in a designated overlay area in the virtual space. In an overlay control method for controlling loading into a shared virtual space where the individual area is shared with another virtual space, means for setting an overlay/load module evacuation area in the individual area on a shared virtual space; In response to a load request to the above overlay area, if the overlay area is occupied by another load module, the other load module is updated by updating the table that maps the above address. , means for saving to the overlay/load module saving area; and a means for saving the load module to the overlay/load module saving area for which a load request has been issued to the overlay/load module saving area. The present invention is characterized by comprising means for preparing the load module in the overlay area by updating the table mapping the addresses at some time.
(6) 発明の実施例 以下図面を参照しつつ説明する。(6) Examples of the invention This will be explained below with reference to the drawings.
第1図は本発明に関連する仮想空間の共用を説
明する図第2図は共用の仮想空間割当部の処理動
作説明図を示す。 FIG. 1 is a diagram illustrating the sharing of a virtual space related to the present invention. FIG. 2 is a diagram illustrating the processing operation of a shared virtual space allocating section.
本発明の一実施例であるオーバレイ制御方式を
説明する前に、まず、本発明に関連する仮想空間
の動的共用について、第1図および第2図に従つ
て説明する。第1図において1はデータ処理装
置、2は応用処理部、3はシステム制御部、4は
共用仮想空間割当部、5は多重仮想空間、6−0
は共用仮想空間、6−1ないし6−3は通常の仮
想空間、7−1ないし7−3はセグメントテーブ
ル(SGT)、8−0および8−1はページテーブ
ル(PGT)、9−0ないし9−3は領域、10は
実メモリ、11−0および11−1は実メモリ上
の領域、12は磁気デイスク、13はロードモジ
ユールライブラリを表わす。 Before explaining an overlay control method that is an embodiment of the present invention, first, dynamic sharing of a virtual space related to the present invention will be explained with reference to FIGS. 1 and 2. In FIG. 1, 1 is a data processing device, 2 is an application processing unit, 3 is a system control unit, 4 is a shared virtual space allocation unit, 5 is a multiple virtual space, and 6-0
is a shared virtual space, 6-1 to 6-3 are normal virtual spaces, 7-1 to 7-3 are segment tables (SGT), 8-0 and 8-1 are page tables (PGT), 9-0 to 9-3 is an area, 10 is a real memory, 11-0 and 11-1 are areas on the real memory, 12 is a magnetic disk, and 13 is a load module library.
データ処理装置1は、制御レジスタ(図示省
略)がポイントするセグメントテーブルおよびそ
のセグメントテーブルがポイントするページテー
ブルをもとに、仮想アドレスから実メモリ10上
の実アドレスへの動的アドレス変換を行い、遂次
命令をフエツチしては実行処理する。この動的ア
ドレス変換の機構については、周知の技術である
ので詳細な説明は省略する。 The data processing device 1 performs dynamic address conversion from a virtual address to a real address on the real memory 10 based on a segment table pointed to by a control register (not shown) and a page table pointed to by the segment table. The instructions are successively fetched and executed. Since this dynamic address translation mechanism is a well-known technology, a detailed explanation will be omitted.
応用処理部2は仮想空間6−1ないし6−3の
特に個別領域P1,P2,P3で動作し、利用者
の要求に対する処理を行うものである。システム
制御部3は各仮想空間6−1ないし6−3に共通
なシステム共通領域Cで動作し、応用処理部2の
処理のサポートを行うと共に、システム全体の制
御を行う。 The application processing unit 2 operates in the virtual spaces 6-1 to 6-3, particularly in the individual areas P1, P2, and P3, and performs processing in response to user requests. The system control unit 3 operates in a system common area C common to each of the virtual spaces 6-1 to 6-3, supports the processing of the application processing unit 2, and controls the entire system.
各仮想空間6−1ないし6−3は、例えば24ビ
ツトでアドレスが表現されるとすると、それぞれ
16メガバイトの大きさをもつ。例えば仮想空間6
−1上の領域B・9−1はセグメントテーブル7
−1および実ページアドレスが仮想ページアドレ
スに対応して格納されたページテーブル8−1に
よつて実メモリ10上の実アドレスに変換され、
実メモリ上の領域11−1に対応づけられる。従
来、個別領域P1,P2,P3については、上記
ページテーブル8−1等は独自にもつようにさ
れ、従つて例えば仮想空間6−2と仮想空間6−
3とは個別領域P2,P3において共通な領域を
持つことはできなかつた。そのため、例えば仮想
空間6−2と仮想空間6−3とでジヨブ間通信を
行うとか共通のロードモジユールを使用するとい
つた場合には、それに必要な領域をシステム共通
領域Cに設けなければならないこととなり、無関
係な仮想空間6−1に対しても影響を及ぼすこと
となる。 For example, if addresses are expressed in 24 bits, each virtual space 6-1 to 6-3 is
It has a size of 16 MB. For example, virtual space 6
Area B on -1 9-1 is segment table 7
-1 and the real page address are converted into a real address on the real memory 10 by the page table 8-1 stored in correspondence with the virtual page address,
It is associated with area 11-1 on real memory. Conventionally, the individual areas P1, P2, and P3 have their own page tables 8-1, and therefore, for example, the virtual space 6-2 and the virtual space 6-
3, it was not possible to have a common area in the individual areas P2 and P3. Therefore, for example, if you want to perform inter-job communication or use a common load module between virtual spaces 6-2 and 6-3, you must provide the necessary area in system common area C. This will also affect the unrelated virtual space 6-1.
この例においては、次のように解決される。個
別領域に仮想空間との共用領域を必要とする仮想
空間で動作する応用処理部2は、必要時に動的に
その領域を共用仮想空間割当部4に要求する。共
用仮想空間割当部4は共用仮想空間6−0を新た
に開設し、その個別領域P0上に領域9−0を確
保する。領域9−0を確保することによつてペー
ジテーブル8−0が作成され、その領域9−0の
仮想アドレスaと実アドレスr0とが対応づけら
れることになる。例えば要求元が仮想空間6−2
だとするとそのセグメントテーブル7−2から共
用仮想空間6−0のページテーブル8−0をポイ
ントするようにする。そうすれば仮想空間6−2
の領域9−2は実メモリ上の領域11−0に対応
づけられることになる。一方同じ領域について仮
想空間6−3からの共用要求が出されたとする。
共用仮想空間割当部4は、既にページテーブル8
−0が作成されているのでそのページテーブル8
−0をセグメントテーブル7−3からポイントす
るようにする。こうすることによつて、領域9−
3も実メモリ上の領域11−0に対応づけられ、
仮想空間6−2および6−3の個別領域P2,P
3上における領域共用が可能となる。この共用領
域に、例えば磁気デイスク装置12等の外部記憶
装置上のロードモジユールライブラリ13からロ
ードモジユールをローデイングすれば、そのロー
ドモジユールを共用することができ、メモリの節
約とローデイングのためI/O回数を減少させる
ことができる。なお、共用を望まない仮想空間6
−1は、独自のページテーブル8−1を有するの
で、上記共用領域に無関係に個別領域P1の全部
を使用することができる。 In this example, the solution is as follows. The application processing unit 2 operating in a virtual space that requires a shared area with the virtual space in an individual area dynamically requests that area from the shared virtual space allocation unit 4 when necessary. The shared virtual space allocation unit 4 newly opens a shared virtual space 6-0 and secures an area 9-0 on the individual area P0. By securing the area 9-0, the page table 8-0 is created, and the virtual address a of the area 9-0 is associated with the real address r0. For example, the request source is virtual space 6-2
If so, the segment table 7-2 points to the page table 8-0 of the shared virtual space 6-0. Then virtual space 6-2
The area 9-2 will be associated with the area 11-0 on the real memory. On the other hand, assume that a sharing request is issued from the virtual space 6-3 regarding the same area.
The shared virtual space allocation unit 4 has already created the page table 8.
-0 has been created, so that page table 8
-0 from the segment table 7-3. By doing this, area 9-
3 is also associated with area 11-0 on real memory,
Individual areas P2, P of virtual spaces 6-2 and 6-3
It becomes possible to share the area on 3. If a load module is loaded into this shared area from the load module library 13 on an external storage device such as the magnetic disk device 12, the load module can be shared, and the I/O can be used for memory saving and loading. /O frequency can be reduced. In addition, virtual space 6 that you do not want to share
-1 has its own page table 8-1, so it can use the entire individual area P1 regardless of the shared area.
次に、第2図に従つて共用仮想空間割当部4の
処理動作について説明する。共用仮想空間割当部
4は、共用要求に対し、まず機密保護のために共
用資格があるかどうかをチエツクする(第2図処
理)。共用資格がない場合には、エラーで返
す。次に、共用仮想空間が既に開設されているか
どうかを判定する(第2図処理)。まだ、開設
されていない場合には、共用仮想空間も開設する
(第2図処理)。すでに開設されているときに
は、その中に指定された領域が存在するかどうか
調べる(第2図処理)。共用仮想空間を新たに
開設した場合および既に開設されていても指定領
域が存在しない場合には、その共用仮想空間に領
域を確保し、ページテーブルを作成する(第2図
処理)。次に、共用仮想空間のページテーブル
の実アドレスを得て(第2図処理)、要求元仮
想空間のセグメントテーブルからポイントし(第
2図処理)、処理を終了する。 Next, the processing operation of the shared virtual space allocation unit 4 will be explained with reference to FIG. In response to a sharing request, the shared virtual space allocation unit 4 first checks whether there is a sharing qualification for security protection (processing in FIG. 2). If there is no shared qualification, an error is returned. Next, it is determined whether the shared virtual space has already been opened (processing in FIG. 2). If it has not been established yet, a shared virtual space is also established (processing in Figure 2). If it has already been opened, it is checked whether the specified area exists therein (processing in Figure 2). When a new shared virtual space is opened, or when a designated area does not exist even if it has already been opened, an area is secured in the shared virtual space and a page table is created (processing in FIG. 2). Next, the real address of the page table of the shared virtual space is obtained (processing in FIG. 2), and it is pointed from the segment table of the requesting virtual space (processing in FIG. 2), and the processing is ended.
第3図は本発明の一実施例構成、第4図は領域
管理テーブル説明図、第5図は応用処理部の処理
動作例、第6図は仮想ロード/ストア処理部の処
理動作説明図、第7図はシステム共通領域につい
てのオーバレイの例を示す。 FIG. 3 shows the configuration of an embodiment of the present invention, FIG. 4 is an explanatory diagram of an area management table, FIG. 5 is an example of the processing operation of the application processing section, and FIG. 6 is an explanatory diagram of the processing operation of the virtual load/store processing section. FIG. 7 shows an example of an overlay for the system common area.
図中、符号1ないし3,6−0ないし6−3,
7−1,8−0および8−1,10,12は第1
図に対応し、14は仮想ロード/ストア処理部、
15は領域管理テーブル、16はオーバレイ用領
域、17は退避用領域、18はロードモジユール
を表わす。 In the figure, codes 1 to 3, 6-0 to 6-3,
7-1, 8-0 and 8-1, 10, 12 are the first
Corresponding to the figure, 14 is a virtual load/store processing unit;
Reference numeral 15 represents an area management table, 16 an overlay area, 17 an evacuation area, and 18 a load module.
例えば、1つの仮想空間において、限られた領
域を有効に利用するために、排他的に動作する複
数のロードモジユールが交互にその領域を占有し
て使用するようなオーバレイが用いられている。
従来、オーバレイされているロードモジユールの
切替えには必ず磁気デイスク装置等へのI/Oを
必要とした。そのため、迅速な処理を行う場合に
は、オーバレイを用いることができなかつたが、
本発明によりオーバレイを用いても高速処理が可
能となる。 For example, in order to effectively utilize a limited area in one virtual space, an overlay is used in which a plurality of load modules that operate exclusively use the area alternately.
Conventionally, switching between overlaid load modules always required I/O to a magnetic disk device or the like. Therefore, when performing quick processing, overlays could not be used.
The present invention enables high-speed processing even when using an overlay.
第3図において、共用仮想空間6−0はオーバ
レイ退避用空間として用いられる。例えば、応用
処理部2が第5図図示の如く、モジユールM1と
モジユールM2とをオーバレイにより、領域Aに
交互にロードし実行させるとする。応用処理部2
は、まずオーバレイ用領域A・16を確保する。
ページテーブル8−1が作成され、領域A・16
の使用が可能となる。領域A・16の大きさは、
オーバレイの対象となるロードモジユール18の
サイズの最大のものに合わせるようにする。次に
仮想ロード/ストア処理部14を呼出して、モジ
ユールM1を磁気デイスク装置12から読出す。
モジユールM1の実行が終り、領域A・16をモ
ジユールM2に引き渡す場合、また仮想ロード/
ストア処理部14を呼出す。仮想ロード/ストア
処理部14は領域A・16のモジユールM1をモ
ジユールM2に置き換えるためにモジユールM1
を退避する。その退避領域として磁気デイスク装
置12ではなく、共用仮想空間6−0の退避用領
域17が用いられる。実際には、仮想空間6−1
の領域A・16についてのページテーブル8−1
へのセグメントテーブル7−1からのポインタ
を、共用仮想空間6−0のページテーブル8−0
へのポインタと張りかえることによつて行う。従
つて、データの転送はなされず、極めて高速に処
理される。この処理においての領域の管理は、領
域管理テーブル15によつて行われる。領域管理
テーブル15には、例えば第4図図示のような内
容、すなわち、領域名、先頭アドレス、領域の大
きさ、対象ロードモジユール名とその各種状態情
報等が格納され、仮想ロード/ストア処理部14
は領域管理テーブル15を参照、更新しつつ処理
を実行する。モジユールM2がローデイングさ
れ、実行されて、再びモジユールM1が呼び出さ
れる場合には、すでにモジユールM1は共用仮想
空間6−0上に退避されて存在するので、ページ
テーブル8−0とページテーブル8−1との交換
がなされるだけでよい。モジユールM1が領域
A・16に呼出されると同時に、モジユールM2
の退避用領域17へのストアが実行されることと
なる。上記の如く処理を繰返し、すべての処理が
終了した時点で応用処理部2は領域A・16を解
放する。領域管理テーブル15上の領域Aに関す
る情報も消去されることとなる。なお、上記処理
においてページテーブルへのポインタを張り換え
るかわりに、ページテーブル8−0およびページ
テーブル8−1の実アドレスの内容を更新しても
実質的に同じである。 In FIG. 3, a shared virtual space 6-0 is used as an overlay evacuation space. For example, assume that the application processing section 2 alternately loads and executes module M1 and module M2 into area A by overlaying them, as shown in FIG. Application processing section 2
First, secure the overlay area A.16.
Page table 8-1 is created and area A/16
It becomes possible to use The size of area A・16 is
The size is adjusted to match the largest size of the load module 18 to be overlayed. Next, the virtual load/store processing section 14 is called to read the module M1 from the magnetic disk device 12.
When module M1 finishes executing and transfers area A.16 to module M2, the virtual load/
The store processing unit 14 is called. The virtual load/store processing unit 14 replaces module M1 in area A 16 with module M2.
evacuate. As the evacuation area, the evacuation area 17 of the shared virtual space 6-0 is used instead of the magnetic disk device 12. Actually, virtual space 6-1
Page table 8-1 for area A-16 of
The pointer from the segment table 7-1 to the page table 8-0 of the shared virtual space 6-0
This is done by replacing it with a pointer to . Therefore, data is not transferred and is processed at extremely high speed. Area management in this process is performed by the area management table 15. The area management table 15 stores the contents as shown in FIG. 4, for example, the area name, start address, area size, target load module name and various status information, etc., and performs virtual load/store processing. Part 14
executes processing while referring to and updating the area management table 15. When module M2 is loaded and executed and module M1 is called again, since module M1 has already been saved and exists in the shared virtual space 6-0, page table 8-0 and page table 8-1 are All that is required is an exchange. At the same time that module M1 is called to area A.16, module M2
The storage to the save area 17 will be executed. The processing is repeated as described above, and when all the processing is completed, the application processing section 2 releases the area A 16. Information regarding area A on area management table 15 will also be deleted. Note that, in the above processing, the contents of the real addresses of the page tables 8-0 and 8-1 may be updated instead of changing the pointers to the page tables, which is substantially the same.
仮想ロード/ストア処理部14に対し、領域A
へのモジユールM1の仮想ロード要求が出された
場合、仮想ロード/ストア処理部14は第6図図
示の如く処理する。まず、領域AにモジユールM
1が存在するかどうかを領域管理テーブル15に
よつて調べる(第6図処理)。モジユールM1
が既に存在する場合には、処理要求が満されてい
るのでそのまま処理を終了する。次に領域Aが空
いているかどうかを調べる(第6図処理)。空
いている場合には、モジユールM1を磁気デイス
ク装置等からロードする(第6図処理)。例え
ば領域AにモジユールM2があり、空いていなか
つたとする。その場合には、まず退避用空間が開
設されているかどうかをチエツクする(第6図処
理)。開設されていないときには、退避用の仮
想空間を開設し(第6図処理)、モジユールM
2用の退避用領域を確保する(第6図処理)。
そして、セグメントテーブルのページテーブルへ
のポインタを交換し、モジユールM2を共用仮想
空間に退避して(第6図処理)、領域Aにモジ
ユールM1をロードし(第6図処理)、処理を
終了する。 For the virtual load/store processing unit 14, area A
When a virtual load request for module M1 is issued, the virtual load/store processing unit 14 processes as shown in FIG. First, module M is placed in area A.
1 exists using the area management table 15 (processing in FIG. 6). Module M1
If already exists, the processing request is satisfied and the processing is terminated. Next, it is checked whether area A is vacant (processing in FIG. 6). If the module M1 is vacant, the module M1 is loaded from a magnetic disk device or the like (processing in FIG. 6). For example, assume that module M2 exists in area A and is not vacant. In that case, it is first checked whether an evacuation space has been established (processing in FIG. 6). If it is not opened, a virtual space for evacuation is opened (processing in Figure 6), and module M
2 is secured (processing in FIG. 6).
Then, the pointer to the page table of the segment table is exchanged, module M2 is saved to the shared virtual space (processing in Figure 6), module M1 is loaded into area A (processing in Figure 6), and the process ends. .
上記処理におけるチエツクにおいて、退避用
空間が開設されていることが判明したならば、モ
ジユールM1がそこに退避されているかどうかを
調べる(第6図処理)。退避されていない場合
には、上記処理以降の処理を行い、退避されて
いるときには、ページテーブルへのポインタを交
換して(第6図処理)、モジユールM1を領域
Aに復帰させ処理を終了する。 If it is found in the check in the above process that an evacuation space has been opened, it is checked whether the module M1 is evacuation there (processing in FIG. 6). If it has not been evacuated, perform the processes after the above process, and if it has been evacuated, exchange the pointer to the page table (processing in FIG. 6), return module M1 to area A, and end the process. .
上記オーバレイ制御は、システム共通領域Cの
ロードモジユールに対しても適用することができ
る。従来、例えば第7図A図示の如く、それぞれ
排他的に動作するモジユールM1,M2,M3が
存在したとしても、処理スピードの点から、それ
ぞれ別個にシステム共通領域Cの領域を確保する
ようにされていた。本発明を適用して、第7図B
図示の如く、システム共通領域C上に領域Aを確
保し、かつ共用仮想空間6−0の個別領域P0に
各ロードモジユールM1,M2,M3の退避領域
を設けて、領域Aを交互に使用すれば、処理スピ
ードの問題は解決され、システム共通領域Cを縮
小させることができる。 The above overlay control can also be applied to the load module in the system common area C. Conventionally, even if there were modules M1, M2, and M3 that operated exclusively as shown in FIG. was. Applying the present invention, FIG. 7B
As shown in the figure, area A is secured on system common area C, and evacuation areas for each load module M1, M2, and M3 are provided in individual area P0 of shared virtual space 6-0, and area A is used alternately. This solves the problem of processing speed and allows the system common area C to be reduced.
第8図は共用仮想空間を利用した本発明とは別
発明の例を示す。第8図図示の如く、共用仮想空
間6−0を仮想入出力制御用(VIO)空間として
確保し、指定されたデータセツトを予め読み込ん
で、ページデータにセツトとして蓄える。このペ
ージデータセツトについてのページテーブル8−
0を他の仮想空間6−1,6−2等のセグメント
テーブル7−1,7−2等からポイントするよう
にすれば、各仮想空間の間で仮想入出力の対象と
なるページデータセツトを共有することができ、
効率のよいデータセツトへのアクセスが可能とな
る。 FIG. 8 shows an example of an invention different from the present invention that utilizes a shared virtual space. As shown in FIG. 8, a shared virtual space 6-0 is secured as a virtual input/output control (VIO) space, and a designated data set is read in advance and stored as a set in page data. Page table 8- for this page dataset
0 from the segment tables 7-1, 7-2, etc. of other virtual spaces 6-1, 6-2, etc., it is possible to specify page data sets that are subject to virtual input/output between each virtual space. can be shared,
Efficient access to data sets is possible.
上記処理をシステム内部で実行するようにすれ
ば、ユーザの処理モジユールを何んら変更する必
要なく、機能を拡張することができる。 If the above processing is executed within the system, the functionality can be expanded without any need to change the user's processing module.
(7) 発明の効果
以上説明した如く本発明によれば、共用仮想空
間上にオーバレイ・ロートモジユール退避用領域
を設け、オーバレイ対象となるロードモジユール
について、セグメント・テーブル、ページ・テー
ブル等を更新するだけで、オーバレイ用領域から
の退避およびオーバレイ用領域への復帰がなされ
るので、極めて高速なオーバレイ制御が可能にな
る。特に、オーバレイ制御に関連するCPU負荷
およびI/O負荷が少ないことから、システム共
通領域にロードされ、頻繁に実行されるロードモ
ジユールについても、オーバレイを導入しやすく
なり、システム共通領域を削減することも可能に
なる。(7) Effects of the Invention As explained above, according to the present invention, an overlay load module evacuation area is provided in a shared virtual space, and segment tables, page tables, etc. are saved for load modules to be overlayed. Just by updating, the data is evacuated from the overlay area and returned to the overlay area, making it possible to perform extremely high-speed overlay control. In particular, since the CPU load and I/O load associated with overlay control are small, it is easier to introduce overlays even for load modules that are loaded into the system common area and are executed frequently, reducing the system common area. It also becomes possible.
第1図は本発明に関連する仮想空間の共用を説
明する図、第2図は共用仮想空間割当部の処理動
作説明図、第3図は本発明の一実施例構成、第4
図は領域管理テーブル説明図、第5図は応用処理
部の処理動作例、第6図は仮想ロード/ストア処
理部の処理動作説明図、第7図はシステム共通領
域についてのオーバレイの例、第8図は共用仮想
空間を利用した本発明とは別発明の例を示す。
図中、1はデータ処理装置、2は応用処理部、
3はシステム制御部、4は共用仮想空間割当部、
5は多重仮想空間、6−0は共用仮想空間、6−
1ないし6−3は仮想空間、7−1ないし7−3
はセグメントテーブル、8−0および8−1はペ
ージテーブル、9−0ないし9−3は領域、10
は実メモリ、11−0および11−1は実メモリ
領域、12は磁気デイスク装置、13はロードモ
ジユールライブラリ、14は仮想ロード/ストア
処理部、15は領域管理テーブル、16はオーバ
レイ用領域、17は退避用領域、18はロードモ
ジユールを表わす。
FIG. 1 is a diagram explaining the sharing of a virtual space related to the present invention, FIG. 2 is a diagram explaining the processing operation of the shared virtual space allocation unit, FIG. 3 is a diagram illustrating the configuration of an embodiment of the present invention,
Figure 5 is an explanatory diagram of the area management table, Figure 5 is an example of the processing operation of the application processing unit, Figure 6 is an illustration of the processing operation of the virtual load/store processing unit, Figure 7 is an example of overlay for the system common area, FIG. 8 shows an example of an invention different from the present invention that utilizes a shared virtual space. In the figure, 1 is a data processing device, 2 is an application processing unit,
3 is a system control unit, 4 is a shared virtual space allocation unit,
5 is a multiple virtual space, 6-0 is a shared virtual space, 6-
1 to 6-3 are virtual spaces, 7-1 to 7-3
is a segment table, 8-0 and 8-1 are page tables, 9-0 to 9-3 are areas, 10
is real memory, 11-0 and 11-1 are real memory areas, 12 is a magnetic disk device, 13 is a load module library, 14 is a virtual load/store processing unit, 15 is an area management table, 16 is an overlay area, 17 represents an evacuation area, and 18 represents a load module.
Claims (1)
領域と、各仮想空間毎に固有な内容を持つ個別領
域とを備え、上記各仮想空間毎にアドレスをマツ
ピングするテーブルによつて実空間との対応をと
るようにされた仮想記憶制御を行うシステムであ
つて、仮想空間における指定されたオーバレイ用
領域に複数のロードモジユールを交互にロードす
る制御を行うオーバレイ制御方式において、 上記個別領域が他の仮想空間と共用される共用
仮想空間上における当該個別領域に、オーバレ
イ・ロードモジユール退避用領域を設定する手段
と、 ロードモジユールの上記オーバレイ用領域への
ロード要求に対し、当該オーバレイ用領域が他の
ロードモジユールによつて占められているとき、
当該他のロードモジユールを、上記アドレスをマ
ツピングするテーブルを更新することにより、上
記オーバレイ・ロードモジユール退避用領域に退
避する手段と、 上記オーバレイ用領域に対し、ロード要求が出
されたロードモジユールが、上記オーバレイ・ロ
ードモジユール退避用領域に退避されている状態
にあるとき、上記アドレスをマツピングするテー
ブルを更新することにより、当該ロードモジユー
ルを上記オーバレイ用領域に用意する手段とを備
えたことを特徴とする仮想空間共用によるオーバ
レイ制御方式。[Claims] 1. A system comprising a system common area having contents common to each virtual space and an individual area having contents unique to each virtual space, and using a table mapping addresses for each virtual space. In an overlay control system that performs virtual memory control that corresponds to a real space, the overlay control method performs control to alternately load a plurality of load modules into a designated overlay area in the virtual space. means for setting an overlay/load module save area in a shared virtual space in which the individual area is shared with other virtual spaces; , when the overlay area is occupied by another load module,
A means for saving the other load module to the overlay load module save area by updating a table that maps the above address; means for preparing the load module in the overlay area by updating the table mapping the address when the module is saved in the overlay/load module save area. This is an overlay control method based on virtual space sharing, which is characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56213577A JPS58118081A (en) | 1981-12-29 | 1981-12-29 | Virtual space sharing controlling system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56213577A JPS58118081A (en) | 1981-12-29 | 1981-12-29 | Virtual space sharing controlling system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58118081A JPS58118081A (en) | 1983-07-13 |
| JPS6143743B2 true JPS6143743B2 (en) | 1986-09-29 |
Family
ID=16641502
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56213577A Granted JPS58118081A (en) | 1981-12-29 | 1981-12-29 | Virtual space sharing controlling system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58118081A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63305443A (en) * | 1987-06-08 | 1988-12-13 | Hitachi Ltd | Virtual space group management method |
| JPH0254354A (en) * | 1988-08-19 | 1990-02-23 | Fujitsu Ltd | Generating method for shared area in multiple virtual space |
-
1981
- 1981-12-29 JP JP56213577A patent/JPS58118081A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58118081A (en) | 1983-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3515985B2 (en) | Method and system for temporarily setting a dedicated pipeline in a processor device | |
| US7478390B2 (en) | Task queue management of virtual devices using a plurality of processors | |
| CA2152752C (en) | Multiprocessor system for locally managing address translation table | |
| US8549521B2 (en) | Virtual devices using a plurality of processors | |
| JPS62165250A (en) | Virtual memory | |
| JPH09311839A (en) | Data sharing method | |
| US5640597A (en) | Method and apparatus for servicing simultaneously a plurality of requests for data streams | |
| JPS6143743B2 (en) | ||
| US5062046A (en) | Multiple processor system having a correspondence table for transferring processing control between instruction processors | |
| JPH0324644A (en) | Automatic expansion system for file in multivolume | |
| JPS62163154A (en) | Virtual logic volume system | |
| JPS61845A (en) | Virtual page reserving system | |
| JPS61204752A (en) | Address converting system | |
| JPS6345669A (en) | multiprocessor system | |
| JPH0740227B2 (en) | Data overlay segment allocation method | |
| JPH03182945A (en) | Transfer system for data in main storage | |
| JP3333527B2 (en) | Computer equipment | |
| JPS62107364A (en) | Computer network system | |
| JPS62160545A (en) | System for managing unused area of direct access storage device | |
| CN1037418A (en) | The information transferring method of virtual computer system | |
| JPS6345657A (en) | Virtual memory control system for virtual computer system | |
| JPH0666058B2 (en) | Channel processor | |
| JPH0477945B2 (en) | ||
| JPS6226550A (en) | Saving system to external storage device for program under execution | |
| JPH04336639A (en) | How to write data |