JPH0479019B2 - - Google Patents

Info

Publication number
JPH0479019B2
JPH0479019B2 JP57147650A JP14765082A JPH0479019B2 JP H0479019 B2 JPH0479019 B2 JP H0479019B2 JP 57147650 A JP57147650 A JP 57147650A JP 14765082 A JP14765082 A JP 14765082A JP H0479019 B2 JPH0479019 B2 JP H0479019B2
Authority
JP
Japan
Prior art keywords
area
address
program
real storage
storage area
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 - Lifetime
Application number
JP57147650A
Other languages
Japanese (ja)
Other versions
JPS5938991A (en
Inventor
Keiichi Nakane
Tomoaki Nakamura
Hiroaki Nakanishi
Toshiro Jinnai
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP57147650A priority Critical patent/JPS5938991A/en
Publication of JPS5938991A publication Critical patent/JPS5938991A/en
Publication of JPH0479019B2 publication Critical patent/JPH0479019B2/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

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

【発明の詳細な説明】 本発明は、計算機システムにおける主記憶装置
の管理に係り、特に高速応答性が要求されるプロ
グラムと大記憶容量が要求されるプログラムを同
時に実行する場合に、好適な仮想記憶管理方式の
計算機システムに関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to the management of main storage in a computer system, and particularly relates to a virtual storage system suitable for executing programs requiring high-speed response and programs requiring large storage capacity at the same time. This invention relates to a computer system using a storage management method.

従来、計算機システムにおいては、最も高度な
記憶装置管理方式の一つとしてオンデマンドペー
ジスワツピング(略称:デマンドページング)法
による仮想記憶管理方式が知られている。
Conventionally, in computer systems, a virtual memory management method using on-demand page swapping (abbreviation: demand paging) is known as one of the most advanced storage device management methods.

仮想記憶管理方式は、計算機が実行の対象とす
るプログラム上では記憶装置のアドレスが実在す
る主記憶装置に付された実アドレスではなく、実
在せず、論理的な構成のみからなる仮想記憶領域
に付された仮想アドレスで記述されることに特徴
がある。従つて、仮想アドレスを実アドレスに対
応付けるためのハードウエア機構並びにソフトウ
エアプログラムが不可欠となる。この対応付けを
行うために必要なハードウエアとソフトウエアを
アドレス変換機構と呼ぶ。アドレス変換機構を実
現するための代表的手法として前記のデマンドペ
ージング法がある。以下にデマンドページング法
の概要を述べる。
In the virtual memory management method, the address of the storage device in the program that the computer executes is not a real address attached to the real main memory, but a virtual storage area that does not exist and consists only of a logical structure. It is characterized by being described using an attached virtual address. Therefore, a hardware mechanism and a software program for associating virtual addresses with real addresses are essential. The hardware and software required to make this association is called an address translation mechanism. The above-mentioned demand paging method is a typical method for realizing an address translation mechanism. An outline of the demand paging method is described below.

デマンドページング法では、仮想記憶領域を固
定長のページと呼ばれる小領域に分割し、主記憶
装置をページフレーム(以下PFと略す)と呼ば
れるページと同一長の小領域に予め分割しておく
るページとPFは共に0から順に番号付けされて
いる。プログラムは、1個或いは複数個の連続し
たページ上に他のプログラムが配置されているペ
ージと重ならぬように配置される。プログラムを
実行するために行うべき処理はデマンドページン
グ法では次のようになる。
In the demand paging method, the virtual storage area is divided into small areas called fixed-length pages, and the main memory is divided in advance into small areas of the same length as pages called page frames (hereinafter abbreviated as PF). Both PFs are numbered sequentially starting from 0. The programs are arranged on one or more consecutive pages so as not to overlap pages on which other programs are arranged. The processing that must be performed to execute a program in the demand paging method is as follows.

あるプログラムを実行中にPFと対応付けられ
ていないページ内の仮想アドレスを参照すること
(これをページフオールトと呼ぶ)が判ると、該
ページとPFの対応付けを行なう。即ち、前記ア
ドレス変換機構では、ページとPFの対応付けが
成されていない場合、未だどこにも対応付けられ
ていないPF(これを空きPFと呼ぶ)を該ページ
と対応付ける。空きPFが無い場合、ある決めら
れた規則に従い、既に対応付けられている別ペー
ジ(これを使用中ページと呼ぶ)とPFとの対応
を解除し、この操作により空きとなつたPFを前
記ページと対応付ける。プログラムの実行が終了
すると、そのプログラムが使用中であつたページ
は全てPFとの対応付けが解除され、それらのPF
は空きとなる。
When a program is executed and it is found that a virtual address in a page that is not associated with a PF is referenced (this is called a page fault), the page is associated with the PF. That is, in the address translation mechanism, if a page and a PF have not been associated with each other, a PF that has not yet been associated with any other place (this is called an empty PF) is associated with the page. If there is no free PF, the association between the PF and another page that has already been associated (this is called an in-use page) is canceled according to a certain rule, and the PF that has become free due to this operation is used as the page. Correlate with. When a program finishes executing, all pages that were in use by that program are unassociated with PFs and their PFs are
becomes vacant.

このデマンドページング法の利点は、(1)実行中
のページのみがPFと対応付けられていればよい
ため、プログラムの大きさが主記憶装置の容量に
よつて制約されず、仮想記憶領域の大きさには原
理的には制限がない、(2)一定時間内に参照、実行
の対象になるページは、プログラム全領域の内で
一部分に限られる性質があるため、稀にしか参照
や実行がされないページがPFを占有することも
稀であり、主記憶装置の利用効率が大きい、(3)以
上の点から、複数のプログラムを並行して実行す
る場合(これを多重プログラミングと呼ぶ)に、
使用中ページの総和は該プログラム群の総ページ
容量に比べて大巾に小さくすることが出来るた
め、限られた主記憶装置に入り得るプログラム数
は、総ページ容量で決まる数よりも大巾に多くな
り、多重プログラミングの多重度が大きくなる、
等がある。
The advantages of this demand paging method are (1) Only the page being executed needs to be associated with the PF, so the program size is not limited by the main storage capacity, and the virtual storage area is (2) Since the pages that can be referenced and executed within a certain period of time are limited to only a portion of the entire program area, pages that can be referenced and executed only rarely. It is rare for pages that are not programmed to occupy the PF, and the efficiency of main memory usage is high. (3) From the above points, when multiple programs are executed in parallel (this is called multiple programming),
Since the total number of pages in use can be made much smaller than the total page capacity of the program group, the number of programs that can fit into the limited main memory is much smaller than the number determined by the total page capacity. The number of programs increases, and the degree of multiplicity of multiple programming increases.
etc.

しかしながら、一方では欠点として、(1)プログ
ラムの実行中にページフオールトがある頻度をも
つて発生するため、ページ置換アルゴリズムを実
行する時間(これをOSオーバヘツドと呼ぶ)分
だけ本来のプログラム実行時間が長くなり、処理
性能が低下する、(2)むやみに多くのプログラムを
実行させると計算機時間の大部分がOSのオーバ
ヘツドに費される、所謂スラツシング現象が生
じ、計算機システムが事実上機能を果さなくなる
可能性がある、(3)アドレス変換機構を付加する分
だけ、計算機の価格が高くなる、等がある。この
内、(3)の点に関しては、近年のハードウエア・デ
バイス技術の進歩により比較的安価に実現できる
傾向にありさしたる問題ではなくなつてきている
が、(1)、(2)の点は本質的な問題であり、特にプラ
ント制御システム等のリアルタイム処理を行う場
合には致命的となる。
However, on the other hand, there are disadvantages: (1) Since page faults occur with a certain frequency during program execution, the original program execution time is reduced by the time required to execute the page replacement algorithm (this is called OS overhead). (2) When too many programs are run unnecessarily, a large portion of computer time is spent on OS overhead, a so-called thrashing phenomenon, which causes the computer system to effectively cease functioning. (3) The price of the computer increases by adding an address translation mechanism. Of these, point (3) has become less of a problem as it can be realized relatively inexpensively due to advances in hardware and device technology in recent years, but points (1) and (2) are This is an essential problem, and is especially fatal when performing real-time processing such as in a plant control system.

これらの問題点を解決し、従来のデマンドペー
シング法の利点である大容量プログラムを主記憶
容量に制約されずに実行できる点を生かしつつ、
更に高速応答処理を要求されるプログラムをも実
行可能にするためのハードウエア並びにソフトウ
エアを具備した仮想記憶管理方式が特願昭56−
200645にて提示されている。該発明の特徴は、ア
ドレス変換の対象となる仮想記憶領域を二分し、
一方は計算機システム構築(システムジエネレー
シヨン)時に、ページとPFとの対応付けを行う
アドレス変換固定領域(Fixed Area:以後FX領
域とよぶ)とし、他方はプログラム実行開始時
に、ページとPFとの対応付けを行い、プログラ
ム実行終了時に該対応付けを解除するアドレス変
換可変領域(Floating Area:以後FL領域と呼
ぶ)とすることとし、FX領域に高速応答性を要
求されるプログラムを配置し、FL領域に大容量
プログラムを配置することにある。
By solving these problems and taking advantage of the advantage of the conventional demand pacing method, which is that large-capacity programs can be executed without being restricted by main memory capacity,
In addition, a patent application filed in 1982 provides a virtual memory management system equipped with hardware and software that enables the execution of programs that require high-speed response processing.
Presented in 200645. The feature of the invention is that the virtual storage area to be subjected to address translation is divided into two,
One is an address conversion fixed area (hereinafter referred to as FX area) that associates pages and PFs during computer system construction (system generation), and the other is an address conversion fixed area (hereinafter referred to as FX area) that associates pages and PFs at the time of program execution. The address conversion variable area (Floating Area: hereinafter referred to as the FL area) is created, and programs that require high-speed response are placed in the FX area. The purpose is to place large-capacity programs in the FL area.

一方、従来の計算機システムにおいては、シス
テムの機能拡張や既存機能の仕様変更に伴い、プ
ログラムやデータの大きさに変更が生ずると、た
いていの場合は、主記憶上のプログラムやデータ
の配置形態(これをメモリマツプと呼ぶ)をすべ
ての領域にわたつて変更しなければならなかつ
た。リアルタイムシステムに於ては高速応答性を
保障するために、ほとんどのプログラムを主記憶
上の絶対アドレスを有するロードモジユールの形
式で計算機システム内にローデイングしている。
このため、メモリマツプを変更してしまうと、す
べてのプログラムを新しい主記憶上アドレスを考
慮したロードモジユールとしてもう一度作成し直
し、それらを計算機システム内に再ローデイング
し直さなければならず、多大な労力を費さなけれ
ばならない。この問題は主記憶容量が大きくなれ
ばなる程、再ローデイングまでの作業量は尨大と
なり、特に先に述べた仮想記憶制御方式において
はその影響は多大なものとなる。
On the other hand, in conventional computer systems, when the size of programs and data changes due to system function expansion or changes in the specifications of existing functions, the arrangement of programs and data in main memory ( (This is called a memory map) had to be changed across all areas. In real-time systems, in order to ensure high-speed response, most programs are loaded into the computer system in the form of load modules having absolute addresses in main memory.
Therefore, if the memory map is changed, all programs must be re-created as load modules that take new main memory addresses into account, and then reloaded into the computer system, which requires a great deal of effort. must be spent. The problem with this problem is that the larger the main memory capacity, the greater the amount of work required until reloading, and the effect of this problem is particularly great in the virtual memory control method described above.

本発明の目的は、メモリマツプの変更に伴うプ
ログラムの再ローデイング等の作業量を最小に
し、かつ仮想記憶領域ならびに主記憶装置の有効
利用を計ることを可能にするため、および大容量
プログラムを主記憶装置容量の制約を受けずに実
行でき、かつ高速応答性を要求されるプログラム
をも実行可能にするための、ハードウエアおよび
ソフトウエアを具備した仮想記憶管理方式を提供
することにある。
An object of the present invention is to minimize the amount of work such as reloading programs due to memory map changes, and to make it possible to effectively utilize virtual storage areas and main storage devices, and to store large-capacity programs in main memory. An object of the present invention is to provide a virtual memory management system equipped with hardware and software that can be executed without being constrained by device capacity and that can also execute programs that require high-speed response.

本発明の特徴は、前掲の特願昭56−200645に記
載の内容に加えて、仮想記憶領域の使用状況、す
なわちどの領域がどの様に使われているかの管
理、主記憶装置の各PFが使用中か否かの管理、
仮想記憶の各ページが主記憶装置のどのPFに対
応しているかの管理、およびFL領域に配置され
たプログラムの内の最大容量の管理を行ない、シ
ステムの機能拡張や仕様変更に伴うプログラムや
データの容量増加が生じた場合に、変更したプロ
グラムやデータをそれまでとは別な仮想記憶領域
に配置し、変更前まで使用していたPFとそれま
で未使用であつたPFとに該当ページを対応付け
ることにより、メモリマツプの変更を最小限にて
済ませ、かつメモリマツプ変更に伴うプログラム
やデータの再ローデイング等の作業量を必要部分
だけに限定することにある。
In addition to the content described in the above-mentioned Japanese Patent Application No. 56-200645, the present invention is characterized by the management of the usage status of virtual storage areas, that is, which areas are used and how, and the management of each PF of the main storage device. Management of whether or not it is in use,
It manages which PF of the main storage device each page of virtual memory corresponds to, and manages the maximum capacity of programs placed in the FL area, and protects programs and data as system functions are expanded or specifications changed. When the capacity of the program increases, the changed programs and data are placed in a different virtual storage area, and the corresponding pages are placed in the PF that was used before the change and the PF that was unused until then. The purpose of this association is to minimize changes to the memory map and to limit the amount of work involved in reloading programs and data due to changes in the memory map to only the necessary parts.

以下、本発明の一実施例を第1図〜第9図によ
り説明する。
An embodiment of the present invention will be described below with reference to FIGS. 1 to 9.

第1図Aは本発明に関する仮想記憶領域
(Virtual Storage:以後VSと略す)100、主
記憶装置(Main Storage:以後MSと略す)3
00、二次記憶装置(Secondary Storage:以後
SSと略す)400の配置内容とアドレス変更機
構200を含めた対応関係を示したものである。
VS100は、アドレス非変領域(以後V=R領
域と呼ぶ)とアドレス変換領域(以後V≠R領域
と呼ぶ)により構成され、図上にて左端を第0番
地として1バイト単位上昇順に仮想アドレスが割
当てられている。V=R領域はさらに、基本ソフ
トウエアプログラムを配置するOS(Operating
System)領域110と将来該OS領域の拡張領域
として使用するFU(Future Use)領域120よ
り構成される。また、V≠R領域はさらに、VS
とMSとの対応付けがシステム構築後は固定され
ているFX領域と、VSとMSとの対応付けがプロ
グラム実行開始時に行われ、プログラム実行終了
後には該対応付けを解除するFL領域より構成さ
れる。FX領域は、あるまとまつた機能を果し互
いに並行に動作し得る処理プログラムであるタス
ク(Task)150,160と、タスク間で共通
に使用するテーブルであるグローバルエリア
(GLB)130、及びタスクで共通に使用するサ
ブルーチン(RSUB)140より構成される。
FL領域もタスク170より構成される。
FIG. 1A shows a virtual storage area (hereinafter abbreviated as VS) 100 and a main storage device (hereinafter abbreviated as MS) 3 related to the present invention.
00, Secondary Storage (hereinafter referred to as
This figure shows the correspondence relationship between the arrangement contents of the SS (abbreviated as SS) 400 and the address change mechanism 200.
VS100 consists of an address unchanged area (hereinafter referred to as the V=R area) and an address translation area (hereinafter referred to as the V≠R area), and the left end in the figure is address 0 and the virtual addresses are arranged in ascending order of 1 byte. An address has been assigned. The V=R area further includes an OS (Operating System) where basic software programs are placed.
The system area 110 includes an FU (Future Use) area 120 that will be used as an expansion area of the OS area in the future. Furthermore, in the V≠R region, VS
It consists of the FX area, where the association between VS and MS is fixed after system construction, and the FL area, where the association between VS and MS is established at the start of program execution, and the association is canceled after program execution is completed. Ru. The FX area consists of tasks (Tasks) 150 and 160, which are processing programs that perform a certain set of functions and can operate in parallel with each other, a global area (GLB) 130, which is a table commonly used among tasks, and tasks. It is composed of commonly used subroutines (RSUB) 140.
The FL area also consists of tasks 170.

MSは、OS110,GLB130,RSUB14
0,RTASK150,NRTASK160のFX各
領域については、第1図A中に示したようにVS
と1対1に対応付けられている。FL領域につい
ては、VS上のFL領域よりは小さな領域がMS上
に配置されている。MSも左端を0として1バイ
ト単位上昇順に実アドレスが割当てられている。
またV≠R領域は、前記したページ180とPF
310の単位で分割されている。ページ180と
PF310も、それぞれ、VS、MSの左端のもの
を0として上昇順に番号付けされている。
MS is OS110, GLB130, RSUB14
For each FX area of 0, RTASK150, and NRTASK160, as shown in Figure 1A, VS
There is a one-to-one correspondence. Regarding the FL area, a smaller area is placed on the MS than the FL area on the VS. The MS is also assigned real addresses in increasing order of bytes, with the left end being 0.
In addition, the V≠R area is the page 180 mentioned above and the PF
It is divided into 310 units. page 180 and
The PFs 310 are also numbered in ascending order, starting with 0 for the leftmost VS and MS.

次にSS400、VS100のFU120を除く
全領域を格納する他、電源OFF時等、MS300
の内容が不定である状態から該MS上に前記各領
域の情報を作り出すプログラムである立上げプロ
グラムIPL(Initial Program Loader)410、
VS100にも入りきれない程大容量なフアイル
430やNRTASK160の退避領域420を保
持するための領域により構成されている。SS4
00も、左端を第0番地として512バイト単位上
昇順にアドレス付けされる。このアドレスをロジ
カルセクタアドレス(以後LSAと略す)と呼ぶ。
Next, in addition to storing all areas except FU120 of SS400 and VS100, when the power is turned off, etc., MS300
an initial program loader (IPL) 410, which is a program that creates information of each area on the MS from a state where the contents of the information are undefined;
It is composed of an area for holding a file 430 whose capacity is too large to fit even in the VS 100 and a save area 420 for the NRTASK 160. SS4
00 is also addressed in ascending order in units of 512 bytes, with the left end being address 0. This address is called a logical sector address (hereinafter abbreviated as LSA).

本実施例では、RTASKとNRTASKの2種の
エリアをタスクに割当てている。両者の相違は、
RTASKが、各タスクのプログラムが互いに重な
ることなくページを与えられる領域であり、該タ
スクは前記立上げ時にIPL410によつてSS40
0上からMS300上にロードされる(この意味
からRTASK上のタスクは常駐タスク(Resident
Task)と呼ばれる)のに対し、NRTASKは同
時に動作することの無いまたはしなくとも良い複
数のタスクのプログラムを同一のVSアドレスに
対応付けることにより、VSの有効利用を図つた
領域であり、タスク毎に持つている処理の優先レ
ベルにより、立上げ時ではなくタスク実行時に、
該領域の使用権の判定が行われ、該優先レベルの
劣るタスクは、SS400の前記退避エリア42
0に退避され、該優先レベルの高いタスクがSS
400上からMS300上にロードされる(この
意味からNRTASK上のタスクは非常駐タスク
(Non−Resident Task)と呼ばれる)点である。
In this embodiment, two types of areas, RTASK and NRTASK, are allocated to tasks. The difference between the two is
RTASK is an area to which pages are given to the programs of each task without overlapping each other, and the tasks are given SS40 by IPL410 at the time of startup.
0 onto the MS300 (in this sense, tasks on RTASK are resident tasks).
In contrast, NRTASK is an area that aims to make effective use of the VS by associating programs for multiple tasks that do not or do not need to run at the same time to the same VS address. Depending on the processing priority level that the
The right to use the area is determined, and tasks with lower priority levels are transferred to the evacuation area 42 of the SS 400.
0, and the task with the higher priority level becomes SS
400 onto the MS 300 (in this sense, tasks on NRTASK are called non-resident tasks).

従つて、VS100には、管理方法の異なる3
種のタスクが配置されうることになり、FX領域
のRTASK150は最もリアルタイム条件の厳し
い高速処理タスク用に、FL領域のNRTASK1
70はRTASK150やNRTASK160のサイ
ズを越える容量をもつタスク用に、またFX領域
のNRTASK160はリアルタイム性、容量とも
に、前二者の中間に位置するタスク用に使用する
こととする。
Therefore, VS100 has three different management methods.
RTASK150 in the FX area is used for high-speed processing tasks with the most severe real-time conditions, and NRTASK1 in the FL area
70 is used for tasks whose capacity exceeds the size of RTASK 150 or NRTASK 160, and NRTASK 160 in the FX area is used for tasks that are between the former two in terms of real-time performance and capacity.

ここで、VS上のメモリマツプの変更とそれに
伴うVSとMSとの対応付けの変化の様子を第1
図Bに示す。1はこれまでに説明したVSの標準
的なメモリマツプとVSとMSとの対応関係を示
す。VS100上のFX領域およびFL領域の各構
成領域GLB1 131,RSUB1 141,
RTASK1 151,NRTASKX161,
NRTASKL171には、将来の容量拡大に備え
て、それぞれFU(Future Use)領域121〜1
25を設けたメモリマツプとする。MS300と
の対応は、これらのFU領域を除いたVS100上
で有効な領域をMS上にFX領域、FL領域として
予め割当てておく領域にそれぞれ先頭から対応付
けるものとする。1のメモリマツプにおいて、
FX領域のFU領域121,123,124に新に
GLB2 132,RSUB2 142,RTASK15
2を登録すると2に示すようなメモリマツプにな
る。即ち、それまでのFU領域121,123,
124は、それまで空きであつたMS領域321
先頭から対応付けられる(332,342,35
2)。この2のメモリマツプにおいて、VS上の
RTASK1 151を拡張しようとすると、3に
示すようなメモリマツプになる。即ち、VS10
0上は、FX領域としてのFU領域124には新し
いRTASK1は収容しきれいために、FL領域とし
て確保してあつたFU領域125の一部を改めて
FX領域とし、そこをRTASK1 153とし、そ
れまでのRTASK1 151はFU領域126とす
る。また、MS300との対応付けは、それまで
のRTASK1に対応付けられていたMS領域353
とFX領域として割当てられていたMS領域でそ
れまで空きであつた領域354、およびFL領域
として割当てられていたMS領域でそのときに空
きであつた領域355をVS上のRTASK1 15
3に対応付けることにする。
Here, we will explain the changes in the memory map on VS and the associated changes in the correspondence between VS and MS in the first part.
Shown in Figure B. 1 shows the standard memory map of VS explained so far and the correspondence between VS and MS. Each component area of FX area and FL area on VS100 GLB1 131, RSUB1 141,
RTASK1 151, NRTASKX 161,
NRTASK L 171 has FU (Future Use) areas 121 to 1, respectively, in preparation for future capacity expansion.
25 is provided as a memory map. Regarding the correspondence with the MS 300, the valid areas on the VS 100 excluding these FU areas are made to correspond from the beginning to areas previously allocated on the MS as the FX area and the FL area. In the memory map of 1,
New FU areas 121, 123, and 124 in the FX area
GLB2 132, RSUB2 142, RTASK15
When 2 is registered, the memory map shown in 2 will be created. That is, the previous FU areas 121, 123,
124 is the MS area 321 that was empty until then.
Corresponding from the beginning (332, 342, 35
2). In this second memory map, on VS
If you try to expand RTASK1 151, you will get a memory map like the one shown in 3. That is, VS10
0 above, in order to accommodate the new RTASK1 in the FU area 124 as the FX area, a part of the FU area 125, which was reserved as the FL area, is re-installed.
Set it as the FX area, set it as RTASK1 153, and set the previous RTASK1 151 as FU area 126. Also, the association with MS300 is changed to MS area 353, which was previously associated with RTASK1.
and the area 354 that was previously free in the MS area that was allocated as the FX area, and the area 355 that was empty at that time in the MS area that was allocated as the FL area, are transferred to RTASK1 15 on VS.
3.

以上のようにメモリマツプを変更すれば、本発
明の目的は達せられることとなる。
By changing the memory map as described above, the object of the present invention can be achieved.

第2図に本実施例の適用対象である計算機シス
テムの全体ハードウエア構成を示す。計算機シス
テムは、前記MS300、該MSを制御する主記
憶制御装置(MCUと略す)500、該MS上の
機械命令を解読し実行する機能をもつジヨブプロ
セツサ(JOBPと略す)700、前記SS400、
該SSを制御するフアイルコントロール装置
(FCEと略す)890、前記JOBP700よりの
指示に基づき該FCEを通して前記SS400と前
記MS300とのデータ転送を行うフアイルプロ
セツサ800(FCPと略す)、前記MCU500、
JOBP700、FCP800との間を結びデータ転
送手段を提供するシステムバス(SBUSと略す)
610、および該SBUSを制御するシステムバス
制御装置(SBCと略す)600により構成され
る。更にJOBP700は、MCU500にアクセ
ス対象VSアドレスを指示するためのメモリアド
レスレジスタ(MARと略す)710、リード/
ライト用のデータを格納するデータレジスタ
(DRと略す)730、MCU500やFCP800
を制御するための一連のフリツプフロツプ群
(FFと略す)720、論理、算術、シスト演算等
の演算機能をもつ演算ユニツト(ALUと略す)
740、次に実行すべき機械命令の格納されてい
るVSアドレスを示すプログラムカウンタ(PCと
略す)780、演算時に用いられる汎用レジスタ
群(GRと略す)790、機械命令を解読し、ど
の様な処理を行えばよいかを記憶する制御メモリ
(WCSと略す)750、および該WCS上の次の
実行すべきアドレスを示すマイクロプログラムカ
ウンタ(MPCと略す)760、および前記MS3
00の情報をアクセスする時間を短縮するために
設けたキヤツシユメモリ(CACHEと略す)77
0により構成される。
FIG. 2 shows the overall hardware configuration of a computer system to which this embodiment is applied. The computer system includes the MS 300, a main memory control unit (abbreviated as MCU) 500 that controls the MS, a job processor (abbreviated as JOBP) 700 that has a function of decoding and executing machine instructions on the MS, the SS 400,
A file control device (abbreviated as FCE) 890 that controls the SS, a file processor 800 (abbreviated as FCP) that transfers data between the SS 400 and the MS 300 through the FCE based on instructions from the JOBP 700, the MCU 500,
System bus (abbreviated as SBUS) that connects JOBP700 and FCP800 and provides a means of data transfer
610, and a system bus control device (abbreviated as SBC) 600 that controls the SBUS. Furthermore, the JOBP 700 includes a memory address register (abbreviated as MAR) 710 and a read/write register for instructing the MCU 500 to access the VS address.
Data register (abbreviated as DR) 730 that stores write data, MCU500 and FCP800
A series of flip-flops (abbreviated as FF) 720 for controlling the operation, and an arithmetic unit (abbreviated as ALU) that has arithmetic functions such as logic, arithmetic, and system operations.
740, a program counter (abbreviated as PC) 780 that indicates the VS address where the machine instruction to be executed next is stored, a general-purpose register group (abbreviated as GR) 790 used during calculations, and A control memory (abbreviated as WCS) 750 that stores what processing should be performed, a microprogram counter (abbreviated as MPC) 760 that indicates the next address to be executed on the WCS, and the MS3
Cache memory (abbreviated as CACHE) 77 provided to shorten the time to access information of 00
Consists of 0.

前記FCP800もJOBP700と類似の構成で
ありALU840、WCS850、MPC860をも
つ。但し、前記MS300上の機械命令を実行す
る機能は無いためPC780は持たずに、その代
りにSS400とMS300とのデータ転送速度の
違いを吸収するためのデータ転送用バツフア87
0、および前記FCE890との間のデータ転送
を制御するための入出力制御回路880を持つて
いる。
The FCP 800 also has a similar configuration to the JOBP 700 and includes an ALU 840, a WCS 850, and an MPC 860. However, since it does not have the function of executing machine instructions on the MS300, it does not have a PC780, but instead has a data transfer buffer 87 to absorb the difference in data transfer speed between the SS400 and MS300.
0, and an input/output control circuit 880 for controlling data transfer between the FCE 890 and the FCE 890.

次にMCU500は、MS300との入出力バ
ツフアレジスタ550、VSアドレスレジスタ
(VARと略す)530、実メモリアドレスレジス
タ(MARと略す)520、アドレス変換用演算
ユニツト(ATUと略す)580、該ATUがアド
レス変換を行う際に参照するアドレス変換バツフ
ア(TLBと略す)510、V=R領域境界レジ
スタ(VEQRと略す)560、ページテーブル
インデツクスの先頭アドレスを格納しておくペー
ジテーブルインデツクスオリジンレジスタ
(PTIORと略す)570、及び前記JOBP70
0、FCP800のFF720に相当する制御フリ
ツプフロツプ群540より構成される。
Next, the MCU 500 has an input/output buffer register 550 with respect to the MS 300, a VS address register (abbreviated as VAR) 530, a real memory address register (abbreviated as MAR) 520, an arithmetic unit for address conversion (abbreviated as ATU) 580, and the ATU. An address translation buffer (abbreviated as TLB) 510 that is referred to when performing address translation, a V=R area boundary register (abbreviated as VEQR) 560, and a page table index origin register that stores the start address of the page table index. (abbreviated as PTIOR) 570, and the aforementioned JOBP70
The control flip-flop group 540 corresponds to the FF720 of the FCP800.

本図の構成において、JOBP700でPC78
0の指す命令をWCS750に従い実行した結果、
MS300を参照する場合の手順を以下に述べ
る。まず該JOBPはVAR710にアクセスすべ
きVSアドレスをセツトし、FF720に参照する
旨の情報をセツトする。MCU500は、この信
号をFF540に受けるとVAR530にVSアド
レスを取込み、ATU580を起動する。該ATU
はVEQR560、PTIOR570、TLB510を
参照し、実アドレスを求め、MAR520にセツ
トし、MS300を起動し、該MARで指定され
るアドレスのデータを取出し、入出力バツフアレ
ジスタ550にセツトし、データが取出されたこ
とをFF540に表示する。前記JOBP700は、
該表示をFF720に受取ると、該入出力バツフ
アレジスタ550よりDR730に参照データを
取込み、一連のMS参照処理を終える。
In the configuration shown in this diagram, PC78 is used for JOBP700.
As a result of executing the instruction pointed to by 0 according to WCS750,
The procedure when referring to MS300 will be described below. First, the JOBP sets the VS address to be accessed in the VAR 710, and sets the information to refer to the FF 720. When the MCU 500 receives this signal at the FF 540, it takes the VS address into the VAR 530 and starts the ATU 580. Applicable ATU
refers to VEQR560, PTIOR570, and TLB510, obtains the real address, sets it in MAR520, starts MS300, retrieves the data at the address specified by the MAR, sets it in the input/output buffer register 550, and retrieves the data. Display what has been done on the FF540. The said JOBP700 is
When the display is received by the FF 720, the reference data is taken into the DR 730 from the input/output buffer register 550, and a series of MS reference processing is completed.

第3図に、前記VS100上のOS領域110に
配置され、本発明に係る制御テーブルと制御プロ
グラムを示す。
FIG. 3 shows a control table and a control program according to the present invention, which are arranged in the OS area 110 on the VS 100.

制御テーブルは、多段のリスト構造をしてお
り、最上位レベルのOS共通ブロツク(OSCBと
略す)10の下に、PTIX(ページテーブルイン
デツクス)20、PFQ(ページフレーム待ち管理
テーブル)40、RQPB(タスク実行待ちポイン
タブロツク)50、TCB(タスク制御ブロツク)
60、ACT(エリア制御テーブル)70、PFCB
(ページフレーム制御ブロツク)90があり、更
に、PTIX20の下にPT(ページテーブル)3
0、PFQ40の下にリスト構造のPFT(ページフ
レームテーブル)80とTCB60、RQPB50
の下にリスト構造のTCB60がある構造をして
いる。
The control table has a multi-level list structure, and below the top level OS common block (abbreviated as OSCB) 10 are PTIX (page table index) 20, PFQ (page frame wait management table) 40, and RQPB. (Task execution waiting pointer block) 50, TCB (Task control block)
60, ACT (area control table) 70, PFCB
(Page frame control block) 90, and PT (page table) 3 under PTIX 20.
0, PFT (page frame table) 80 with list structure under PFQ40, TCB60, RQPB50
It has a structure with a list structure of TCB 60 below.

更にOSCB10は、VS100上の固定アドレ
スに配置され、第1図Aにて説明したV=Rの最
終ページアドレスを示すVEQR11、PTIOR1
2、PEQ40、RQPB50、TCB60、ACT7
0、PFCB90の先頭アドレスを示すTPPEQ1
3、TPRQPB14、TPTCB15、TPACT1
6、TPPFCB97の各フイールド、及び、FL領
域の先頭VSアドレスを示すFXFLBV17、FL
領域の先頭実アドレスを示すFXFLBM18、
MSの最終実アドレスを示すMAXMS19、VS
の最終アドレスを示すMAXVS99、FL領域に
て動作するプログラムの最大容量(ページ数)
(即ちFL領域として最低限必要なMS容量(PF
数))を示すMINFLPN98の各フイールドより
構成される。
Furthermore, OSCB10 is placed at a fixed address on VS100, and VEQR11 and PTIOR1 indicate the final page address of V=R explained in FIG. 1A.
2, PEQ40, RQPB50, TCB60, ACT7
0, TPPEQ1 indicating the start address of PFCB90
3, TPRQPB14, TPTCB15, TPACT1
6. Each field of TPPFCB97 and FXFLBV17, FL indicating the start VS address of the FL area
FXFLBM18, which indicates the starting real address of the area;
MAXMS19, VS indicating the final real address of MS
MAXVS99, which indicates the final address of , the maximum capacity (number of pages) of a program that operates in the FL area
(In other words, the minimum required MS capacity (PF
It is composed of each field of MINFLPN98 indicating the number)).

制御プログラムぱ、前記VS100上の各領域
を管理する機能をもつエリア登録削除プログラム
1、前記RTASK150、NRTASK160,1
70についてタスクとして実行させるための制御
テーブルを作成或いは解放する機能をもつタスク
生成解除プログラム2,2で作成したタスクを起
動或いは終了させる機能をもつタスク起動終了プ
ログラム3、起動要求がかけられている複数のタ
スクのうちから実行可能で且つ最も優先レベルの
高いものを選択し、該タスクに制御を移す機能を
もつタスクデイスパツチヤ(DISPと略す)4、
該DISPより呼ばれ、該タスクがFL領域の
NRTASK170である場合にページ180と
PF310との対応付けおよび対応の解除を行う
機能をもつMS獲得解放プログラム5を設ける。
a control program, an area registration deletion program 1 having the function of managing each area on the VS 100, the RTASK 150, and the NRTASK 160, 1;
Task creation/termination program 2, which has the function of creating or releasing a control table for executing 70 as a task, and a task activation/termination program 3, which has the function of starting or terminating the task created by 2, has been requested to start. A task dispatcher (abbreviated as DISP) 4, which has the function of selecting an executable task with the highest priority level from among multiple tasks and transferring control to that task.
Called by the DISP, the task is in the FL area.
If NRTASK170, page 180
An MS acquisition and release program 5 is provided which has a function of associating with and canceling the association with the PF 310.

第4図に、前記MCU500内のTLB510、
および前記OS領域110内の制御テーブル、
PTIOR12、PTIX20、PT30、PFQ40、
PQPB50、TCB60、ACT70、PFT80、
PFC90の構成を示す。各テーブルの左端に付
された値はフイールドの相対バイト位置を示す。
本実施例では、VSアドレスは32ビツト(4バイ
ト)巾、ページサイズは2048バイトであることを
前提としている。
FIG. 4 shows the TLB 510 in the MCU 500,
and a control table in the OS area 110,
PTIOR12, PTIX20, PT30, PFQ40,
PQPB50, TCB60, ACT70, PFT80,
The configuration of PFC90 is shown. The value attached to the left end of each table indicates the relative byte position of the field.
This embodiment assumes that the VS address is 32 bits (4 bytes) wide and the page size is 2048 bytes.

TLB510は1024エントリーのテーブルを2
セツトもち1エントリが1ページに対応したテー
ブルで、VSアドレスの第11〜20ビツトのページ
番号(VPNと略す)により該TLBのエントリ番
号を求めてアクセスされる。TLB510の構成
は、ページフレーム番号PFN511、該ページ
のアクセス保護用情報PRT512、VSアドレス
の第1〜10ビツト目(1MB毎にVSを切つたとき
の番号)に相当するVA513、本TLBの有効無
効の判定ビツトV514、2セツトのTLBの書
換え制御用ビツトR515によりなる。
TLB510 has 2 tables with 1024 entries.
This is a table in which one entry corresponds to one page, and is accessed to find the entry number of the TLB using the page number (abbreviated as VPN) in the 11th to 20th bits of the VS address. The TLB 510 consists of a page frame number PFN 511, access protection information for the page PRT 512, VA 513 corresponding to the 1st to 10th bits of the VS address (the number when the VS is cut off every 1MB), and the validity/invalidity of this TLB. This consists of a determination bit V514 and two sets of TLB rewriting control bits R515.

PTIOR12とPTIX20は同一構成で、PTIX
はVSエリア1MB毎に1エントリ用意される。こ
れらは、有効指示フラグV21、PTIX20或い
はPT30の先頭VSアドレスと長さを示すTPPT
(I)およびLENGTH23により構成される。
PTIOR12 and PTIX20 have the same configuration, and PTIX
One entry is prepared for each 1MB of VS area. These are the valid instruction flag V21, PTIX20 or PTPT30, which indicates the start VS address and length.
(I) and LENGTH23.

PT30は、1ページにつき1エントリ用意さ
れ、有効指示フラグV31、ページフレーム番号
PFN32、アクセス保護情報PRT33により構
成される。
PT30 has one entry prepared for each page, valid instruction flag V31, page frame number
It is composed of PFN32 and access protection information PRT33.

PFQ40は、PFTの総ケース数PFCT41、
空きPFT先頭ケースVSアドレス43、空きPFT
最終ケースVSアドレス44、占有中PFT先頭、
最終ケースVSアドレス45,46、NRTASK
起動時に前記MS獲得制御プログラム5にて空き
PFT80が不足していると判断した場合に、該
タスクを待ち状態とするための待ち行列管理エリ
ア47,48(47,48は各々待ちTCBの先
頭、最終ケースVSアドレスを指す。以下、リス
ト構造のテーブルは全て本テーブルの如く、先
頭、最終ケースのVSアドレスにより管理するも
のとする)により構成される。
PFQ40 is the total number of PFT cases PFCT41,
Empty PFT first case VS address 43, Empty PFT
Final case VS address 44, occupied PFT head,
Final case VS address 45, 46, NRTASK
Freed by the MS acquisition control program 5 at startup
Queue management areas 47 and 48 (47 and 48 refer to the first and last case VS addresses of the waiting TCB, respectively) are used to place the task in a waiting state when it is determined that there is a shortage of PFTs 80.The list structure will be described below. The tables in this table are all managed using the VS addresses of the first and last cases).

RQPB50は、TCB60の待ち行列ヘツダ5
1,52により構成され、タスクの優先レベル毎
に1エントリ用意する。前記タスク起動プログラ
ム3は、該RQPBの中で起動すべきタスクにより
決る優先レベルに対応するRQPBを管理テーブル
とする実行待行列の最後尾に該タスクのTCB6
0を接続する。タスク終了プログラム3は、該タ
スクの実行終了時に、該実行待行列より該TCB
を取りはずす。
RQPB50 is queue header 5 of TCB60
1 and 52, and one entry is prepared for each task priority level. The task activation program 3 stores the TCB 6 of the task at the end of the execution queue whose management table is the RQPB corresponding to the priority level determined by the task to be activated in the RQPB.
Connect 0. The task termination program 3 retrieves the TCB from the execution queue at the end of execution of the task.
Remove.

TCB60はタスク毎に用意され、前記RQPB
50に接続するためのポインタRQFP61、
RQBP62、PFQのPFWFP47、PFWBP48
等のリソース待ち状態になる場合に接続されるソ
ース待ちをポインタ63,64、タスク番号6
5、待ち状態フラグE66−1、その多制御フラ
グ66、優先レベル67−1、アクセス保護情報
67、その他の制御情報68により構成される。
TCB60 is prepared for each task, and the RQPB
Pointer RQFP61 to connect to 50,
RQBP62, PFQ's PFWFP47, PFWBP48
Pointers 63, 64 and task number 6 indicate the source wait state to be connected when the resource wait state occurs.
5, a waiting state flag E66-1, a multi-control flag 66, a priority level 67-1, access protection information 67, and other control information 68.

ACT70は、VS100上の各領域の各モジユ
ール(各RSUB、GLB、タスク、等)毎に用意
され、次テーブルのVSアドレスを指すポインタ
ACTFP71、ACTBP72、モジユール識別情
報IDESTIFIER73、モジユールが配置される
VS先頭アドレスVA74、先頭SSアドレスLSA
75、モジユールのサイズ(バイト数)SIZE7
6、その他の制御情報77により構成される。
ACT70 is prepared for each module (each RSUB, GLB, task, etc.) in each area on VS100, and is a pointer pointing to the VS address of the next table.
ACTFP71, ACTBP72, module identification information IDESTIFIER73, modules are placed
VS start address VA74, start SS address LSA
75, module size (number of bytes) SIZE7
6 and other control information 77.

PFT80は、前記MS300のFL領域のPF数
だけ用意され、次テーブルのVアドレスをさすポ
インタFPNT81、BPNT82、ページ番号
VPN83、ページフレーム番号PFN84により
構成される。
PFT80 are prepared as many as the number of PFs in the FL area of the MS300, and pointers FPNT81, BPNT82, and page number to the V address of the next table are provided.
It is composed of VPN83 and page frame number PFN84.

PFCB90は、前記MS300のPFの使用状況
を管理するもので、未だVS100のどのページ
にも固定的に対応付けられていないFX領域用PF
数EPFNX91、同FL領域用PF数EPFNL92、
各PFの使用状態(既にVS100に固定的に対応
付けられているか否か)をビツト対応にPF番号
順に管理するBITMAP93より構成される。
The PFCB90 manages the usage status of the PF of the MS300, and is a PF for the FX area that is not yet fixedly associated with any page of the VS100.
Number EPFNX91, PF number EPFNL92 for the same FL area,
It is composed of a BITMAP 93 that manages the usage status of each PF (whether it is already fixedly associated with the VS 100 or not) in bit-based order in PF number order.

次に、第2図、第3図、第4図を用いて、前記
MCU500におけるアドレス変換方法について
説明する。
Next, using FIGS. 2, 3, and 4,
The address conversion method in MCU 500 will be explained.

該MCUでは、まず、VAR530に与えられた
VSアドレスとVEQR560とを比較し、前者の
方が小さいか等しい場合、若しくはPTIOR57
0のVビツト21が無効を示している場合には、
アドレス変換を行わずMAR520にはVAR53
0の第9〜31ビツトがそのままセツトされる。従
つてVS100上のV=R領域はVEQR560の
示すアドレスより小さいため、アドレス変換は行
われず、そのままMS300に対応付けられる。
上記判定の結果、VSアドレスがVEQR560よ
り大きく、且つPTIOR570のVビツト21が
有効であることを示している場合は、VAR53
0の第11〜20ビツトよりTLB510の該当エン
トリを求め、VAR530第1〜10ビツトと2セ
ツトあるTLB510の内の何れかのVA513が
一致するかどうかチエツクする。一致する場合
(TLBビツト時と呼ぶ)には該TLBのPFN51
1をMAR520の第9〜20ビツトにセツトし、
VARの第21〜31ビツトをMARの第21〜31ビツト
にセツトしてアドレス変換を終える。若し、上記
判定にて何れのTLBとも一致しなかつた場合
(TLBミスビツト時と呼ぶ)は次の処理を行う。
まずPTIOR570のTPPTI22よりPTIX20
の先頭アドレスを求める。次にLENGTH23と
VARの第1〜7ビツトを比較し、後者が小さけ
れば対応するPTIXが存在しないことを意味する
ので前記したページフオールトとする。前記
LENGTH23がVAR530の第1〜7ビツト
の内容を等しいか大きい場合は、VARの第1〜
11ビツトよりPTIX20の該当ケースアドレスを
求めVビツト21を判定する。該Vビツトが無効
を示していればページフオールトとする。有効で
あればTPPT22によりPT30の先頭アドレス
を求める。次にVAR530の第12〜16ビツトと
PTIX20のLENGTH23を比較し、先頭と同
様にPT30の長さチエツクを行う。次に、VAR
530の第12〜20ビツトより該PTの該当ケース
アドレスを求めVビツト31を判定する。該ビツ
トが無効ならばページフオールトとし、有効なら
ば、PFN32をMAR520の第9〜20ビツトに
セツトし、下位21〜31ビツトはVAR530の第
21〜31ビツトをそのままセツトしてアドレス変換
を終える。
In this MCU, first, the information given to VAR530
Compare the VS address and VEQR560, and if the former is smaller or equal, or PTIOR57
If V bit 21 of 0 indicates invalidity,
VAR53 for MAR520 without address conversion
The 9th to 31st bits of 0 are set as they are. Therefore, since the V=R area on VS 100 is smaller than the address indicated by VEQR 560, address conversion is not performed and it is directly associated with MS 300.
As a result of the above judgment, if the VS address is larger than VEQR560 and V bit 21 of PTIOR570 is valid, VAR53
The corresponding entry in TLB 510 is found from the 11th to 20th bits of 0, and it is checked whether the 1st to 10th bits of VAR 530 match any VA 513 of the two sets of TLB 510. If they match (called TLB bit time), PFN51 of the TLB
Set 1 to the 9th to 20th bits of MAR520,
Address translation is completed by setting the 21st to 31st bits of VAR to the 21st to 31st bits of MAR. If the above judgment does not match any TLB (referred to as TLB miss bit), the following processing is performed.
First, PTIX20 from TPPTI22 of PTIOR570
Find the start address of. Next, LENGTH23
The 1st to 7th bits of VAR are compared, and if the latter is smaller, it means that the corresponding PTIX does not exist, so it is assumed to be a page fault as described above. Said
If LENGTH23 is equal to or greater than the contents of the 1st to 7th bits of VAR530, then
The corresponding case address of PTIX20 is found from the 11 bits and the V bit 21 is determined. If the V bit indicates invalidity, a page fault occurs. If it is valid, the start address of PT30 is determined by TPPT22. Next, the 12th to 16th bits of VAR530 and
Compare LENGTH23 of PTIX20 and check the length of PT30 in the same way as at the beginning. Next, VAR
The corresponding case address of the PT is determined from the 12th to 20th bits of V bit 530 and the V bit 31 is determined. If the bit is invalid, it is a page fault; if it is valid, PFN32 is set to the 9th to 20th bits of MAR520, and the lower 21st to 31st bits are set to the 9th to 20th bits of VAR530.
Set bits 21 to 31 as they are to finish address translation.

以上の説明により明らかなように、該当する
PT30のPFN32にシステムジエネレーシヨン
時に予め対応するページフレーム番号をセツトし
ておくことにより、アドレス変換を固定としてお
くことができ、従つて前記FX領域が実現できる。
As is clear from the above explanation, applicable
By setting a corresponding page frame number in the PFN 32 of the PT 30 in advance at the time of system generation, address translation can be fixed, and the above-mentioned FX area can therefore be realized.

次に、第5図〜第9図に前記1〜5の制御プロ
グラムの処理フローを示す。
Next, FIGS. 5 to 9 show processing flows of the control programs 1 to 5.

第5図A,Bは、エリア登録プログラム1の処
理フローを示したものである。本プログラムは、
エリアの種別、識別番号、先頭VSアドレス、先
頭SSアドレス、容易および制御情報を入力情報
とし、ACT70にそれらの情報を設定すること
により、FX領域、FL領域におけるエリアの登
録、増設を行なう。
5A and 5B show the processing flow of the area registration program 1. FIG. This program is
Area type, identification number, start VS address, start SS address, ease and control information are input information, and by setting these information in ACT 70, areas are registered and expanded in the FX area and FL area.

まず、上記入力情報を取込み(1502)、指定さ
れたエリアが最大VSアドレスMAXVS99を超
えるかどうかを判定する(1504)。この結果、該
エリアがMAXVS90を超えるものであれば、
VS容量が不足している旨をリターン情報として
出力し(1548)、本プログラムの処理を終える。
該エリアがMAXVS90を超えるものでなけれ
ば、次に、該エリアと同一VS先頭アドレス、容
量を包含するエリアが既に登録されているかを
ACT70をサーチすることにより判定し
(1506)、同一エリアの二重登録を防止する。該エ
リアと一部でもオーバラツプするエリアが既に登
録済であれば、該エリアは登録済である旨をリタ
ーン情報として出力し(1550)、本プログラムの
処理を終える。該エリアが未登録エリアであれ
ば、次に該エリアがFX領域として登録しようと
するものかを入力情報のエリア種別により判定す
る(1508)。該エリアがFX領域として登録しよう
とするものであれば、さらに該エリアのサイズが
PFCB90のFX領域用空きPF数EPFNX91で
示されるものに納まるかを判定する(1510)。該
エリアがEPFNX91で示されるサイズに納まる
ものであれば、以下に示す手順により必要なPF
の占有処理とVSのページとMSの該PFとの対応
付け処理を行なう。まず、PFCB90の
BITMAP93を先頭よりサーチし、空きPF番号
を求めると同時に、該PF番号に相当するビツト
を使用中表示に設定する(1512)。次に、登録し
ようとするVSアドレスに対応するPT30のアド
レスを求め(1514)、該PTのVビツト31を設定
し、PFN32に先に求めたPF番号を設定し、
PRT33に制御情報の一部を設定する(1516)。
これらの1512〜1516の処理を、登録しようとする
エリアの容量分についてそのページ数分だけ処理
した(1518、1520)後、PFCBのEPFNX91を
登録した容量(ページ数)分だけ減じておく
(1522)。次に、未使用のACT70のアドレスを
示し(1560)、該ACTのIDENTIFIER73にエ
リア種別および識別番号を設定し、VA74に先
頭VSアドレスを設定し、LSA75に先頭SSアド
レスを設定し、SIZE76に容量を設定し、制御
情報77に制御情報を設定する(1562)。そして、
正常終了の旨をリターン情報として出力し
(1564)、本プログラムの処理を行える。以上の処
理により、FX領域におけるエリアの登録を行う
ことができる。
First, the above input information is fetched (1502), and it is determined whether the designated area exceeds the maximum VS address MAXVS99 (1504). As a result, if the area exceeds MAXVS90,
Outputs the fact that the VS capacity is insufficient as return information (1548) and ends the processing of this program.
If the area does not exceed MAXVS90, next check whether an area that includes the same VS start address and capacity as the area has already been registered.
This is determined by searching ACT70 (1506), and double registration in the same area is prevented. If an area that partially overlaps with the area has already been registered, a message indicating that the area has been registered is outputted as return information (1550), and the processing of this program ends. If the area is an unregistered area, then it is determined whether the area is to be registered as an FX area based on the area type of the input information (1508). If the area is to be registered as an FX area, the size of the area must be
It is determined whether the number of free PFs for the FX area of the PFCB 90 falls within the number indicated by EPFNX91 (1510). If the area fits within the size indicated by EPFNX91, create the necessary PF by following the steps below.
occupancy processing and association processing between the VS page and the MS PF. First, PFCB90
The BITMAP 93 is searched from the beginning to find an empty PF number, and at the same time, the bit corresponding to the PF number is set to indicate that it is in use (1512). Next, obtain the address of the PT30 corresponding to the VS address to be registered (1514), set the V bit 31 of the PT, set the previously obtained PF number in the PFN32,
Part of the control information is set in the PRT 33 (1516).
After processing these 1512 to 1516 for the number of pages corresponding to the capacity of the area to be registered (1518, 1520), reduce EPFNX91 of PFCB by the registered capacity (number of pages) (1522) ). Next, indicate the address of an unused ACT70 (1560), set the area type and identification number in IDENTIFIER73 of the ACT, set the first VS address in VA74, set the first SS address in LSA75, and set the capacity in SIZE76. is set, and the control information is set in the control information 77 (1562). and,
It outputs return information to the effect of normal termination (1564), allowing the program to process. Through the above processing, areas in the FX area can be registered.

一方、処理1510にて、登録しようとするFX領
域のエリアサイズがPFCBのEPFNX91で示さ
れるサイズに納まらない場合には、さらに、
EPNX91+EPFNL92−MINFLPN98にて
示されるサイズ内に納まるかを判定する(1524)。
これは、該エリアがFL領域まで用いると登録で
きるか否かを判定するものである。上記サイズに
納まらない場合には、MS容量が不足している旨
をリターン情報として出力し(1558)、本プログ
ラムの処理を終わる。上記サイズに納まる場合に
は、まず該エリアの先頭からEPFNX91にて示
されるページ数分のエリアについて、前述の処理
1512〜1522と同様の処理を行ない、PFCBの
BITMAP93とEPFNX91、およびPT30の
設定を行なう(1526)。次に、該エリアの残りの
ページについての登録を以下の処理(1530〜
1546)により行なう。PFQ40のEFPNT43に
て示される空きPFT80のアドレスを求め
(1530)、該PFTを空きPFTリストからはずし、
OFPNT45で管理される使用中PFTリストにつ
なぐ(1532)。登録しようとするVSアドレスに対
応するページ番号を該PFTのVPN83に設定
し、また該当PFTに対応するページフレーム番
号PFN84を求める(1536)。PFCB90の
BITMAP93をサーチし、上記PFN84に対応
するビツトを使用中表示に設定する(1538)。登
録しようとするVSアドレスに関して、先に述べ
た処理514〜516と同様にして、PT30への各種
情報の設定する(1540)。VSアドレスを1ページ
分進める(1542)。これらの処理(1530〜1542)
を残りのページ数分だけ繰返し行つた(1544)
後、PFCBのEPFNL92をそのページ数分だけ
減ずる(1546)。そして、ACT70への該エリア
情報の登録およびリターン情報の出力を先に述べ
た処理1560〜1564を行ない、本プログラムの処理
を終える。以上により、FX領域におけるエリア
登録を、FX領域として割当てられているMS領
域だけでなく、FL領域として割当てられている
MS領域を差しつかえない範囲で用いることによ
り、行うことができる。
On the other hand, in processing 1510, if the area size of the FX area to be registered does not fit within the size indicated by EPFNX91 of the PFCB, further
It is determined whether the size falls within the size indicated by EPNX91+EPFNL92-MINFLPN98 (1524).
This is to determine whether or not the area can be registered by using up to the FL area. If it does not fit within the above size, a message indicating that the MS capacity is insufficient is output as return information (1558), and the processing of this program ends. If the size falls within the above size, first process the area for the number of pages indicated by EPFNX91 from the beginning of the area as described above.
Perform the same treatment as 1512 to 1522 to remove PFCB.
Configure BITMAP93, EPFNX91, and PT30 (1526). Next, register the remaining pages in the area using the following process (1530~
1546). Find the address of free PFT 80 indicated by EFPNT 43 of PFQ 40 (1530), remove the PFT from the free PFT list,
Connect to the list of PFTs in use managed by OFPNT45 (1532). The page number corresponding to the VS address to be registered is set in the VPN 83 of the PFT, and the page frame number PFN 84 corresponding to the PFT is obtained (1536). PFCB90
BITMAP 93 is searched and the bit corresponding to PFN 84 is set to indicate in use (1538). Regarding the VS address to be registered, various information is set in the PT 30 in the same manner as the processes 514 to 516 described above (1540). Advance the VS address by one page (1542). These processes (1530-1542)
was repeated for the remaining number of pages (1544)
After that, EPFNL92 of PFCB is reduced by the number of pages (1546). Then, the above-mentioned processes 1560 to 1564 are performed to register the area information in the ACT 70 and output the return information, and the process of this program ends. As a result of the above, area registration in the FX area can be performed not only in the MS area that is allocated as the FX area, but also in the area that is allocated as the FL area.
This can be done by using the MS area within reasonable limits.

また、登録しようとするエリアがFL領域のも
のであれば、さらに該エリアがPFCB90の
EPFNL92で示されるサイズに納まるかを判定
し(1552)、上記サイズ内に納まらない場合には、
MSの容量が不足している旨をリターン情報とし
て出力し(1558)、本プログラムの処理を終わる。
上記サイズ内に納まる場合には、そのエリアが
MINFLPN98に示すサイズを越えている場合
には該サイズ(ページ数)をMINFLPN98に
設定した上で(1554、1556)、ACT70へのエリ
ア情報の登録およびリターン情報の出力を先に述
べた処理1560〜1564にて行ない、本プログラムの
処理を終わる。以上の処理により、FL領域にお
けるエリアの登録を行うことができる。
Additionally, if the area to be registered is in the FL area, the area is also in the PFCB90 area.
Determine whether it fits within the size indicated by EPFNL92 (1552), and if it does not fit within the above size,
Outputs as return information that the MS capacity is insufficient (1558), and ends the processing of this program.
If it fits within the above size, the area
If the size exceeds the size indicated in MINFLPN 98, the size (number of pages) is set in MINFLPN 98 (1554, 1556), and the area information is registered in ACT 70 and the return information is output as described above in steps 1560 to 1556. 1564, and the processing of this program ends. Through the above processing, areas in the FL area can be registered.

第5図Cは、エリア削除プログラム2の処理フ
ローを示したものである。本プログラムは、エリ
アの種別および識別番号を入力情報とし、それら
の情報に合致した内容をもつACT70を無効に
することにより、FX領域、FL領域におけるエリ
アの削除を行う。
FIG. 5C shows the processing flow of the area deletion program 2. This program uses the area type and identification number as input information, and deletes areas in the FX area and FL area by invalidating the ACT70 whose contents match the information.

まず、入力情報を取込み(1572)、ACT70を
サーチし、指定エリアの種別と識別番号に一致す
るIDENTIFIER73を持つACT70を求める
(1574)。このとき、該当するACTが見当らなけ
れば(1576)、該エリアは未登録である旨のリタ
ーン情報を出力し(1602)、本プログラムの処理
を終える。該当するACTがあつた場合は、該
ACTのIDENTIFIER73にそのACTが空きで
あることを示すコードを設定した上で(1578)、
該エリアはFX領域のものかを判定する(1580)。
該エリアがFX領域のものである場合は、該エリ
アのVSアドレス、容量を該ACTより求め
(1582)、以下の処理によつてVS上の該当ページ
およびMS上の該当PFの占有解除を行う。まず、
削除しようとするVSアドレスに対応するPT30
のアドレスを求め(1584)、該PTのVビツト31
をリセツトし、PFN32より対応するPF番号を
求める(1586)。次いで、PFCB90のBITMAP
93上で、上記にて求めたPF番号に対応するビ
ツト空き表示に設定する(1588)。さらに、該当
PFがFX領域用のものかを判定し、(1590)、それ
がFX領域用のものであれば、PFCBのEPFNX
91に1を加算する。もしそれがFX領域用のも
のでなければ、PFQ40のOFPNT45にて示さ
れる使用中PFTリストをサーチし、該当VSアド
レスに対応しているPFT80を求め(1610)、該
PFTをPFQのEFPNT43にて示される空き
PFTリストに登録し、EPFNL92に1を加算す
る(1612)。次いで、VSアドレスを1ページ分進
め(1594)、削除しようとするエリア容量(ペー
ジ数)分について上記の処理(1584〜1594)を繰
返し行い、最後に正常に終了した旨をリターン情
報として出力し(1600)、本プログラムの処理を
終える。以上の処理により、FX情報のエリアの
削除を行うことができる。
First, the input information is fetched (1572), the ACT 70 is searched, and the ACT 70 having the IDENTIFIER 73 matching the type and identification number of the specified area is obtained (1574). At this time, if the corresponding ACT is not found (1576), return information indicating that the area is unregistered is output (1602), and the processing of this program ends. If there is a corresponding ACT,
After setting the code indicating that the ACT is vacant in IDENTIFIER 73 of the ACT (1578),
It is determined whether the area is in the FX area (1580).
If the area is in the FX area, obtain the VS address and capacity of the area from the ACT (1582), and use the following process to release the corresponding page on the VS and the corresponding PF on the MS. . first,
PT30 corresponding to the VS address to be deleted
Find the address of (1584) and set V bit 31 of the PT.
and obtain the corresponding PF number from PFN32 (1586). Next, BITMAP of PFCB90
93, the bit empty display corresponding to the PF number obtained above is set (1588). Furthermore, applicable
Determine if the PF is for the FX area (1590), and if it is for the FX area, EPFNX of the PFCB
Add 1 to 91. If it is not for the FX area, search the list of PFTs in use indicated by OFPNT45 of PFQ40, find the PFT80 corresponding to the corresponding VS address (1610), and
PFT to vacancy indicated by EFPNT43 of PFQ
Register it in the PFT list and add 1 to EPFNL92 (1612). Next, advance the VS address by one page (1594), repeat the above process (1584 to 1594) for the area capacity (number of pages) to be deleted, and finally output the return information indicating successful completion. (1600), the processing of this program ends. Through the above processing, the FX information area can be deleted.

一方、削除しようとするエリアがFL領域のも
のである場合には、該エリアに対応するACTよ
りその容量を求め(1604)、MINFLPN98と等
しいかを判定する(1606)。このとき、該エリア
の容量がMINFLPN98と等しければ、有効な
ACTをサーチし、FL領域のエリアで最大のエリ
アサイズをもつものを求め、そのエリアサイズを
MINFLPN98に設定し(1608)、正常終了の旨
をリターン情報として出力し(1609)、本プログ
ラムの処理を終える。また、該エリアの容量が
MINFLPN98と等しくなければ、MINFLPN
98はそのままで、正常終了の旨をリターン情報
として出力する(1609)だけで、本プログラムの
処理を終える。以上の処理により、FL領域のエ
リアの削除を行うことができる。
On the other hand, if the area to be deleted is in the FL area, its capacity is determined from the ACT corresponding to the area (1604), and it is determined whether it is equal to MINFLPN98 (1606). At this time, if the capacity of the area is equal to MINFLPN98, the effective
Search ACT, find the one with the largest area size in the FL area, and calculate the area size.
MINFLPN98 is set (1608), and normal termination is outputted as return information (1609), thereby ending the processing of this program. Also, the capacity of the area is
MINFLPN if not equal to MINFLPN98
98 is left as is and only outputs return information indicating normal termination (1609), thereby completing the processing of this program. Through the above processing, the area of the FL area can be deleted.

第6図Aは、タスク生成プログラム2のフロー
を示したものである。本プログラムは、タスク番
号、優先レベル、保護情報、プログラム情報を入
力し(910)、それらをもとにTCB60に各種情
報を設定する処理(911〜915)を行なう。特に処
理913,914では、入力されたプログラム情
報(プログラムアドレス、容量)より該タスク番
号に対応するACT70を求め、そのACT情報の
一部をTCBに設定する。これらの情報は、FL領
域のタスクをデイスパツチするときに、FL領域
のページとPFとの対応付けを行うのに用いる。
FIG. 6A shows the flow of the task generation program 2. This program inputs the task number, priority level, protection information, and program information (910), and performs a process of setting various information in the TCB 60 based on them (911 to 915). In particular, in processes 913 and 914, the ACT 70 corresponding to the task number is obtained from the input program information (program address, capacity), and a part of the ACT information is set in the TCB. This information is used to associate pages in the FL area with PFs when dispatching tasks in the FL area.

第6図Bは、タスク削除プログラム2フローを
示すものである。本プログラムは、タスク番号を
入力し(916)、TCB60を空きにする処理
(917、918)を行う。
FIG. 6B shows the flow of the task deletion program 2. This program inputs a task number (916) and performs processing to empty the TCB 60 (917, 918).

第7図Aは、タスク起動プログラム3のフロー
を示すものである。本プログラムは、タスク番号
を入力し(920)、対応するタスクの優先レベルを
求め(921、22)、RQPB50にて管理される該優
先レベルの実行待行列にTCB60を接続する処
理(923、924)を行う。
FIG. 7A shows the flow of the task activation program 3. This program inputs a task number (920), determines the priority level of the corresponding task (921, 22), and connects the TCB 60 to the execution queue of the priority level managed by the RQPB 50 (923, 924). )I do.

第7図Bは、タスク終了プログラム3のフロー
を示すものである。本プログラムぱ、自タスクの
TCB60より優先レベルを求め(925)、該TCB
を実行待行列よりはずし(926、927)、他のタス
クに制御を移す為に、デイスパツチヤ4に制御を
移す処理(928)を行う。このとき、該タスクが
FL領域のものであれば、MS解放プログラム5を
呼び出して、該タスクが占有していたPFを解放
することを行う(984、986)。
FIG. 7B shows the flow of the task termination program 3. This program's own task
Find the priority level from TCB60 (925), and
is removed from the execution queue (926, 927), and in order to transfer control to another task, processing is performed to transfer control to dispatcher 4 (928). At this time, the task
If it is in the FL area, the MS release program 5 is called to release the PF occupied by the task (984, 986).

第8図は、デイスパツチヤ4のフローを示すも
のである。本プログラムは、最も優先レベルの高
いRQPB50の実行待行列から順にTCB60を
サーチし、EフラグがOFFであるものを求め
(930〜934)、該タスクに制御を移す処理(941)
を行う。このとき、該タスクがFL領域のタスク
か否かを該TCB60に対応するACT70の
IDENTIFIER73より判定し(935〜937)、FL
領域のタスクであれば、MS獲得プログラム5を
呼び出し(938、939)、該タスクが、動作するに
必要なVS上ページとMS上PFとの対応付けを行
つた後、該タスクに制御を移す。
FIG. 8 shows the flow of the dispatcher 4. This program searches the TCB 60 in order from the execution queue of the RQPB 50 with the highest priority level, finds one whose E flag is OFF (930 to 934), and transfers control to the task (941).
I do. At this time, the ACT70 corresponding to the TCB60 determines whether the task is in the FL area or not.
Judging from IDENTIFIER73 (935-937), FL
If it is an area task, the MS acquisition program 5 is called (938, 939), and after the task makes the correspondence between the VS page and the MS PF necessary for the task to operate, control is transferred to the task. .

第9図Aは、MS獲得プログラム5のフローを
示したものである。本プログラムはタスク番号と
VSエリアの先頭アドレスとページ数を入力し
(950)、空きPFT80が十分にあるか否かを判定
し(951)、十分にあれば、空きPFT80を求め
て使用中とした後(952〜954)、VPN83を設定
し(955)、対応するPT30を作成する処理
(956、957)を全ページについて行ない(958、
959)、正常終了とする。前記PFQの判定におい
て、空きPFT80の数が十分でない場合には、
該タスクを待ち状態とし(961〜963)、PF数の不
足をリターン情報として報告し(964)、本プログ
ラムの処理を終える。
FIG. 9A shows the flow of the MS acquisition program 5. This program uses task numbers and
Input the start address of the VS area and the number of pages (950), determine whether there are enough free PFTs 80 (951), and if there are enough, search for free PFTs 80 and mark them as in use (952 to 954). ), set the VPN83 (955), and perform the process of creating the corresponding PT30 (956, 957) for all pages (958,
959), it is considered a normal end. In the judgment of the PFQ, if the number of free PFTs 80 is not sufficient,
The task is placed in a waiting state (961 to 963), the shortage of PFs is reported as return information (964), and the processing of this program ends.

第9図Bは、MS解放プログラム5のフローを
示すものである。本プログラムは、VSエリアの
先頭アドレスとページ数を入力し(970)、対応す
るPFT80を空きとする処理(973、974)およ
び対応するPT30を空きとする処理(980、982)
を全ページについて行い、更に、空きPF待ちの
TCB60があるか否かを判定し(977)、もしあ
れば、それらのタスクの待ちを解除する処理
(978)を行う。
FIG. 9B shows the flow of the MS release program 5. This program inputs the start address and page number of the VS area (970), processes to make the corresponding PFT 80 empty (973, 974), and processes to make the corresponding PT 30 empty (980, 982).
Perform this for all pages, and then
It is determined whether or not there is a TCB 60 (977), and if there is, a process of releasing the waiting state of those tasks (978) is performed.

本実施例によれば、以上に述べた1〜5のプロ
グラムを用いることにより以下の効果がある。即
ち、エリア登録プログラムおよびエリア削除プロ
グラム1を実行することにより、VS上における
各種エリアの新規登録、削除、配置変更に伴う登
録が容易に可能となり、メモリマツプの変更に伴
うプログラムやデータの再ローデイング等の作業
量を必要最小限にとどめることができる。また、
デイスパツチ4とMS獲得プログラムおよびMS
解放プログラムを実行することにより、タスク実
行時にMSとVSとの対応付けを行うFL領域のサ
ポートが可能になる。
According to this embodiment, the following effects can be obtained by using the programs 1 to 5 described above. In other words, by executing the area registration program and area deletion program 1, it becomes possible to easily register new areas, delete them, and register them according to layout changes on the VS, and reload programs and data due to changes in the memory map. The amount of work can be kept to the necessary minimum. Also,
Dayspatch 4 and MS acquisition program and MS
By executing the release program, it becomes possible to support the FL area that associates MS and VS during task execution.

本発明によれば、仮想記憶領域をアドレス変換
固定領域(FX領域)とアドレス変換可変領域
(FL領域)に分割して管理し、FL領域も適宜FX
領域としてエリアを登録可能にできるため、メモ
リマツプを変更する際に必要となるプログラムの
再ローデイング等の作業量を最小にし、且つ仮想
記憶領域ならびに主記憶装置の有効利用を計るこ
とができる、等の効果がある。
According to the present invention, a virtual storage area is managed by dividing into a fixed address conversion area (FX area) and a variable address conversion area (FL area), and the FL area is also
Since areas can be registered as areas, it is possible to minimize the amount of work required to reload programs when changing the memory map, and to make effective use of virtual storage areas and main storage. effective.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図Aは、本発明の計算機システムにおける
アドレス変換方式を示す図である。第1図Bは、
本発明に関する目的と効果を示すためのメモリマ
ツプを示す図である。第2図は、本発明が適用さ
れる計算機システム構成の一実施例を示す図であ
る。第3図は本発明に用いられる制御テーブル、
プログラムの一実施例を示す図である。第4図
は、本発明に用いられる制御テーブルのフイール
ド構成の一実施例である。第5図は、本発明に用
いるエリア登録プログラム、エリア削除プログラ
ムの一実施例を示す。第6図は、本発明に用いる
タスク登録プログラム、タスク削除プログラムの
一実施例を示す。第7図は、本発明に用いるタス
ク起動プログラム、タスク終了プログラムの一実
施例を示す。第8図は、本発明に用いるデイスパ
ツチヤの一実施例を示す。第9図は、本発明に用
いるMS獲得プログラム、MS解放プログラムの
一実施例を示す。
FIG. 1A is a diagram showing an address conversion method in the computer system of the present invention. Figure 1B is
FIG. 3 is a diagram showing a memory map for showing the purpose and effects of the present invention. FIG. 2 is a diagram showing an example of a computer system configuration to which the present invention is applied. FIG. 3 shows a control table used in the present invention.
FIG. 2 is a diagram showing an example of a program. FIG. 4 is an example of the field configuration of a control table used in the present invention. FIG. 5 shows an example of an area registration program and an area deletion program used in the present invention. FIG. 6 shows an embodiment of a task registration program and a task deletion program used in the present invention. FIG. 7 shows an embodiment of a task starting program and a task ending program used in the present invention. FIG. 8 shows an embodiment of a dispatcher used in the present invention. FIG. 9 shows an embodiment of the MS acquisition program and MS release program used in the present invention.

Claims (1)

【特許請求の範囲】 1 仮想空間の仮想アドレスを主記憶装置上の実
記憶領域の物理アドレスに変換して、該主記憶装
置を管理する計算機システムにおいて、 前記仮想空間上を、アドレス非変換領域、アド
レス固定変換領域、及びアドレス可変変換領域に
分割して、前記仮想空間全体並びに前記アドレス
固定変換領域及び前記アドレス可変変換領域の使
用状況を管理する第1の手段と、 前記実記憶領域を、前記仮想空間上の各領域に
対応した部分に予め分割して、前記実記憶領域全
体並びに前記アドレス固定変換領域及び前記アド
レス可変変換領域に対応する前記実記憶領域上の
各領域の使用状況を管理する第2の手段と、 前記仮想空間上の前記アドレス固定変換領域を
前記実記憶領域に半固定的に対応付ける第3の手
段と、 前記アドレス可変変換領域のプログラムの実行
開始時に、前記仮想空間上の前記アドレス可変変
換領域を該プログラムの実行に必要な前記実記憶
領域に対応付ける第4の手段とを設けたことを特
徴とする計算機システム。 2 前記実記憶領域の管理単位毎に1ビツトを割
当て、各該管理単位使用中か否かを管理する第5
の手段と、 前記実記憶領域の管理単位について、その総数
並びに前記アドレス固定変換領域及び前記アドレ
ス可変変換領域にそれぞれ割当てられる数を管理
する第6の手段と、 前記実記憶領域の管理単位毎に、その対応する
前記仮想空間の管理単位を管理する第7の手段
と、 使用中の前記実記憶領域の管理単位に係る前記
第7の手段をリスト接続して管理する第8の手段
と、 未使用の前記実記憶領域の管理単位に係る前記
第7の手段をリスト接続して管理する第9の手段
とで前記第2の手段を構成した特許請求の範囲第
1項記載の計算機システム。 3 前記第4の手段は、前記アドレス可変変換領
域のプログラム実行開始時に保証すべき前記実記
憶領域の管理単位の最小数を管理する第10の手段
を具備する特許請求の範囲第2項記載の計算機シ
ステム。
[Scope of Claims] 1. In a computer system that converts a virtual address in a virtual space into a physical address of a real storage area on a main storage device and manages the main storage device, the virtual space is converted into an address non-conversion area. , a first means for dividing the real storage area into a fixed address translation area, and a variable address translation area, and managing the usage status of the entire virtual space, the fixed address translation area, and the variable address translation area; The virtual space is divided in advance into parts corresponding to each area, and the usage status of each area on the real storage area corresponding to the entire real storage area, the fixed address translation area, and the address variable translation area is managed. a second means for associating the fixed address translation area in the virtual space with the real storage area in a semi-fixed manner; and fourth means for associating the variable address translation area with the real storage area necessary for executing the program. 2. A fifth section that allocates one bit to each management unit of the real storage area and manages whether or not each management unit is in use.
means for managing the total number of management units of the real storage area and the number allocated to the fixed address translation area and the variable address translation area, for each management unit of the real storage area; , a seventh means for managing the corresponding management unit of the virtual space; an eighth means for managing the seventh means related to the management unit of the real storage area in use by connecting them in a list; 2. The computer system according to claim 1, wherein said second means is constituted by a ninth means for connecting and managing said seventh means in a list according to a management unit of said real storage area in use. 3. The method according to claim 2, wherein the fourth means includes a tenth means for managing the minimum number of management units of the real storage area that should be guaranteed at the start of program execution in the variable address conversion area. computer system.
JP57147650A 1982-08-27 1982-08-27 Management system of virtual storage Granted JPS5938991A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57147650A JPS5938991A (en) 1982-08-27 1982-08-27 Management system of virtual storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57147650A JPS5938991A (en) 1982-08-27 1982-08-27 Management system of virtual storage

Publications (2)

Publication Number Publication Date
JPS5938991A JPS5938991A (en) 1984-03-03
JPH0479019B2 true JPH0479019B2 (en) 1992-12-14

Family

ID=15435142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57147650A Granted JPS5938991A (en) 1982-08-27 1982-08-27 Management system of virtual storage

Country Status (1)

Country Link
JP (1) JPS5938991A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5286863A (en) * 1991-08-22 1994-02-15 Ciba-Geigy Corporation Oxidation process for preparing quinacridone pigments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56134382A (en) * 1980-03-21 1981-10-21 Fujitsu Ltd Memory control system of computer on virtual memory control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56134382A (en) * 1980-03-21 1981-10-21 Fujitsu Ltd Memory control system of computer on virtual memory control system

Also Published As

Publication number Publication date
JPS5938991A (en) 1984-03-03

Similar Documents

Publication Publication Date Title
US4577274A (en) Demand paging scheme for a multi-ATB shared memory processing system
US4563737A (en) Virtual storage management
EP0856797B1 (en) A cache system for concurrent processes
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
US5581737A (en) Method and apparatus for expansion, contraction, and reapportionment of structured external storage structures
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
EP0431467A1 (en) Multiprocessor system having distributed shared resources and dynamic global data replication
EP0149389A2 (en) Address translation control system
JPH0652511B2 (en) Address conversion method for information processing equipment
US20040073743A1 (en) Method and system of managing virtualized physical memory in a multi-processor system
US5293599A (en) Process for partially swapping real storage areas used by a program between a real storage and an auxiliary storage
US7197620B1 (en) Sparse matrix paging system
US5619691A (en) File sharing method and system for multiprocessor system
EP0212129A2 (en) Method of updating information in a translation lookaside buffer
JPH0479019B2 (en)
JPH0327940B2 (en)
EP1103898A2 (en) Microprocessor and memory
JPS6336538B2 (en)
EP0262301B1 (en) Paging supervisor
JPH0887443A (en) Cell pool area management processing method
JPS62224845A (en) Virtual storage system
JPS61187052A (en) Batch paging method of virtual storage system
JPS6031664A (en) Access system of cache preceding