JPH0324697B2 - - Google Patents

Info

Publication number
JPH0324697B2
JPH0324697B2 JP58145752A JP14575283A JPH0324697B2 JP H0324697 B2 JPH0324697 B2 JP H0324697B2 JP 58145752 A JP58145752 A JP 58145752A JP 14575283 A JP14575283 A JP 14575283A JP H0324697 B2 JPH0324697 B2 JP H0324697B2
Authority
JP
Japan
Prior art keywords
program
memory
real memory
page
control mechanism
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
JP58145752A
Other languages
English (en)
Other versions
JPS6039248A (ja
Inventor
Kenichiro Murakami
Masahiro Kurata
Takaaki Matsumoto
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP58145752A priority Critical patent/JPS6039248A/ja
Publication of JPS6039248A publication Critical patent/JPS6039248A/ja
Publication of JPH0324697B2 publication Critical patent/JPH0324697B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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

【発明の詳細な説明】 (発明の属する分野) 本発明は、データ処理装置における実メモリ管
理方式、特にシステムが実メモリ不足状態に陥つ
た場合に同時に実行されている複数の順次的プロ
グラムへの効率の良い実メモリ配分を行なえる様
にした資源管理方式に関するものである。
(従来の技術) マルチプログラムで動作する仮想記憶方式の情
報処理システムにおいては、実メモリ上の各プロ
グラムに対して、いかに実メモリを割当てるかが
問題となる。仮想記憶システムでは、処理装置
CPUは実行すべきプログラムの一部が入れられ
ている実メモリをアクセスしつつ処理を進める。
プログラム全体は補助記憶装置上に置かれてお
り、常にプログラム全体がアクセスされる事は無
いので、アクセスされる確率の高い部分をプログ
ラムの管理単位であるページごとに選んで(これ
をワーキングセツトと呼ぶ)CPUの直接アクセ
スが可能な実メモリへ入れておく。このことによ
り、少ない実メモリ量で多くのプログラムが同時
に実行出来、実メモリ資源の使用効率を高めてい
る。
CPUのアクセスしようとした情報が実メモリ
に無い場合(ページフオルト時)には、補助記憶
装置からそのプログラムの所望の論理ページの内
容が適切な実メモリの物理ページに転送される。
この転送に先立ち、すでに空き実メモリが無い場
合には、新情報が転送されてくるべき実メモリの
ページ内にあつた旧情報は補助記憶装置へ転送さ
れ退避される。プログラムに与えられた実メモリ
量がプログラムの必要実メモリ量(ワーキングセ
ツトサイズ)よりも少ない場合には、所望のプロ
グラムの論理ページが実メモリ上に無い確率が増
加し、上記の転送が頻繁に行われる。このため、
プログラムは転送待ちとなつて実行されなくな
る。これを防止するため、通常ページフオルトが
発生すると、他プログラムが使用中の実メモリ内
容を補助記憶装置に転送して空き実メモリを作
り、これを前記プログラムへ割当てる事によつて
ワーキングセツトサイズを満たし、ページフオル
トの起こる回数を少なくする。
マルチプログラミングシステムでは多数のプロ
グラムが時分割によつて同時に処理されている
が、上記転送が開始されてそのプログラムが実行
出来なくなるとCPUは他のプログラムを実行す
る。ところが、全体のプログラムの総必要実メモ
リ量(ワーキングセツトサイズの総和)がシステ
ム中の全実メモリ量を越えると、各プログラムに
制御が移るたびに次々と実メモリ要求が起こり、
プログラム間で実メモリを奪い合うので、上記の
空きメモリを作るための転送及び必要な論理ペー
ジ内容の補助記憶装置から実メモリへの転送が総
てのプログラムで頻発する。この結果どのプログ
ラムも転送待ちが多くなり、プログラムの実行が
進まなくなる(スラツシング状態)。
従来、このスラツシングを防止するため、不足
している実メモリ量に関係なく最低実行優先度の
プログラムが使用している実メモリの内容を総て
補助記憶装置へ強制的に転送して空き実メモリを
作り(スワツプアウト)、そのうち、他の実行優
先度の高いプログラムへ不足している実メモリ量
だけ配分していた。スワツプアウトは、不足して
いる実メモリ量に関係なくプログラム単位で行わ
れるため、必ず不足実メモリ量よりも空き実メモ
リ量が多くなり、使用されないままの実メモリが
発生してメモリ資源の有効利用が出来ないという
欠点があつた。また、最低実行優先度のプログラ
ムはスワツプアウトによつて総ての実メモリを強
制的に奪われるので、そのプログラムは全く実行
できなくなる。その結果、他プログラムが入出力
待ち等のために実行出来ない場合にも、このプロ
グラムの実行が出来なくなり、結局どのプログラ
ムでもCPUが使用されずに無駄となるという欠
点もあつた。
(発明の目的) 本発明はこれらの欠点を除去するため、各プロ
グラムの必要実メモリ量の総和がシステムの全実
メモリ量を越える際には、 () 最低実行優先度に属するプログラムの1つ
から不足ページ分だけの使用中実メモリを選択
し、補助記憶装置へその内容を転送する事によ
り空きメモリを作つて実メモリの不足している
他プログラムへ与えるが、残りは与えたままと
して上記メモリ取り上げ対象プログラムを実行
可能とし、 () そのメモリ取り上げ対象プログラムのペー
ジフオルトの際には、そのプログラムが現在使
用中である実メモリ量を越えてメモリを与えな
い事によりそのプログラムが高優先度プログラ
ムの使用している実メモリを奪う事を防止して
高実行優先度プログラムでのスラツシング発生
を抑止し、 () 上記メモリ取り上げ対象プログラムをシス
テム中で唯一つの最低実行優先度に設定し、他
のより高い実行優先度のプログラムがCPU、
補助記憶制御装置(チヤネル)を使用しない時
のみこれら残りのシステム資源をそのプログラ
ムへ与えることにより、そのプログラムで多発
するページフオルト処理のためのシステム資源
の使用が、高実行優先度プログラムの実行妨害
を引き起こさないようにする。
というメモリスケジユールとCPUスケジユール
を組合せた資源管理方式で達成するもので、以下
図面を用いて詳細に説明する。
(発明の構成および作用) 第1図は本発明の方式による一実施例の構成を
示すブロツク図で、1は実行時にプログラムPが
格納されている実メモリ(MM)でP0〜Poはプ
ログラム名、2はプログラムを格納している実メ
モリ上のプログラム格納領域で、PA0〜PAoは各
プログラムP0〜Poの一部を格納している領域、
3は各プログラムP0〜Poごとに使用中の実メモ
リ量(ワーキングセツトサイズ)WS及びそのマ
ツピング制御テーブル5へのポインタPTRを管
理するメモリ管理テーブル、4は空き実メモリ量
Eとその物理ページ番号PPAGEを管理する空き
実メモリ管理テーブル、5はプログラムの論理ペ
ージ番号LPAGEと実メモリの物理ページ番号
PPAGEの対応およびその論理ページの内容がす
でに実メモリ上の物理ページにあるかどうかを示
すフラグAをプログラムごとに管理するマツピン
グ制御テーブル、6は各実行優先度PRごとにプ
ログラムP0〜Poを管理する実行優先度管理テー
ブル、7はメモリの制御及びデータ転送を行うメ
モリ制御機構、8はプログラムを実行するための
実行部である処理装置(CPU)、9は各プログラ
ムP0〜Poの論理ページ番号LPAGEと物理ページ
番号PPAGEとの変換及びページフオルトの検出
を行なうマツピング制御機構、10はプログラム
Pの実メモリ要求時に実メモリのどの物理ページ
を与えるかを決定するページ選択機構、11は実
メモリの物理ページの内容を補助記憶装置16上
の論理ページへ転送し実メモリを空き状態とする
ページアウト制御機構、12は補助記憶装置16
上にあるプログラムの論理ページの内容を空き実
メモリへ転送し、処理装置(CPU)8が所望す
るプログラムPの論理ページの内容が入つている
物理ページをアクセス可能状態とするページイン
制御機構、13はプログラムの実行優先度を変更
する実行優先度制御機構、14は処理装置8の全
体の制御及びデータの転送を行なうCPU制御機
構、15は補助記憶装置の制御及びデータの転送
を制御する補助記憶制御装置、16はプログラム
P0〜Poの総ての論理ページが格納されている補
助記憶装置、17は実メモリ(MM)1、処理装
置(CPU)8、補助記憶装置16間でデータ転
送を行なうデータ転送路である。なおマツピング
制御テーブル5のフラグAの値は、既に論理ペー
ジの内容がどれかの物理ページにある場合には
1、無い場合には0である。
次に動作を説明する。処理装置8は実メモリ上
のプログラム格納領域2のPAiをアクセスしつつ
処理を進める。仮想記憶システムでは、プログラ
ムP0〜Po全体は補助記憶装置16上にあり、各
プログラムPの論理ページの内容は必要となつた
時点でデータ転送路17を通じて実メモリ1上の
プログラム格納領域2のPAiにある物理ページへ
コピーされてアクセス可能状態となる。処理装置
8がプログラムをアクセスする場合には論理ペー
ジ番号LPAGEjでアクセスを行なうが、この論理
ページ番号LPAGEjは一旦マツピング制御機構9
に渡される。マツピング制御機構9は、CPU制
御機構14を介してメモリ制御機構7を起動し、
データ転送路17を通じてマツピング制御テーブ
ル5の論理ページ番号LPAGEjに対するエントリ
にあるフラグAjと物理ページ番号PPAGEjを得
る。このようにしてマツピング制御機構9はマツ
ピング制御テーブル5に従いその論理ページ番号
LPAGEjに対応する物理ページ番号PPAGEjへ変
換する。更に、その物理ページ番号LPAGEjはマ
ツピング制御機構9からCPU制御機構14を介
し、データ転送路17を通じてメモリ制御機構7
へ渡される。次に、このメモリ制御機構7はデー
タを取り出し、データ転送路17を通じて所望の
ページを処理装置8へ転送してアクセスを完了す
る。マツピング制御機構9が受け取るプログラム
の論理ページLPAGEjに対応するエントリのフラ
グAjの値が0、即ち所望の論理ページLPAGEj
内容がどの物理ページにもなかつた場合(ページ
フオルト)には、マツピング制御機構9はCPU
制御機構14にページフオルトの発生を通知す
る。
例えば、プログラムPiの実行中にページフオル
トが起こり実メモリ要求が行なわれた場合の処理
を順を追つて説明する。
() マツピング制御機構9からCPU制御機構1
4へページフオルトの発生が通知されると、
CPU制御機構14はページ選択機構10を起
動する。
() ページ選択機構10は、CPU制御機構14
を介し、データ転送路17を通じて実メモリ上
にある空きメモリ管理テーブル4の空きメモリ
エントリEをアクセスしてチエツクする。Eの
値が0でなければ、即ち空き実メモリがあれ
ば、そのテーブルに登録されている物理ページ
を1ページ選択し、その物理ページ番号
PPAGEkとページフオルトの発生した論理ペー
ジ番号LPAGEjをページイン制御機構12へ通
知してページイン制御機構12を起動する。
() ()において空きメモリエントリEが0
で空きメモリがなければ、ページ選択機構10
はCPU制御機構14を介し、データ転送路1
7を通じて実メモリ上にある実行優先度管理テ
ーブル6のエントリPR0〜PRXをアクセスして
チエツクし、実行中の最低実行優先度に属する
プログラム群のうちの1つをメモリ取り上げ対
象プログラムP1として選択する。更にメモリ
管理テーブル3のP1エントリのPTR1が指して
いるマツピング制御テーブル5を見ることによ
つて、メモリ取り上げ対象プログラムP1が使
用中の物理ページのうち1ページPPAGEkを選
択してページアウト制御機構11へ、そのメモ
リ取り上げ対象プログラム各P1と選択した物
理ページ番号PPAGEkを通知してページアウト
制御機構11を起動する。但し、ページフオル
トを起こしたプログラムPi自身が最低実行優先
度に属するプログラムのうちの一つであれば、
そのプログラム自身をメモリ取り上げ対象プロ
グラムとして選択する。又、このようにページ
アウト制御機構11を起動すると同時に、メモ
リ取り上げ対象プログラム名P1を実行優先度
制御機構13にも通知して実行優先制御機構1
3を起動する。
() 実行優先度制御機構13は、実メモリ1が
低使用率でメモリ不足状態でない場合には、ど
のプログラムも設定されないところのシステム
中で最も低い実行優先度PRXにメモリ取り上げ
対象プログラムP1を設定するために、CPU制
御機構14を介し、データ転送路17を通じて
メモリ取り上げ対象プログラム名P1を実行優
先度管理テーブル6のPRXエントリへ登録す
る。このため、メモリ取り上げ対象プログラム
は、他の総てのプログラムが走行しない場合の
み走行し、しかもそのプログラムのページフオ
ルトはそのプログラムが走行中、即ち、他のど
のプログラムも処理装置8及びI/Oを使用し
ていない間に起こるので、ページフオルト多発
による処理装置8及びI/O負荷の上昇が他の
プログラムの実行へ影響を与えることはない。
() ページアウト制御機構11は、()で通
知された物理ページPPAGEkの内容をメモリ制
御機構7と補助記憶制御装置15に起動をか
け、データ転送路17を通じて実メモリ1から
補助記憶装置16へ転送する。この転送の完了
後、この処理によつて空きとなつた物理ページ
番号PPAGEkとプログラムPiがページフオルト
を起した論理ページ番号LPAGEjを、既に空き
メモリがあつた()の場合と同様に、ページ
イン制御機構12へ通知してページイン制御機
構12に起動をかける。
() ページイン制御機構12は、CPU制御機構
14を介してメモリ制御機構7と補助記憶装置
15に起動をかけることにより、データ転送路
17を通じて補助記憶装置16からプログラム
Piがページフオルトを起こして要求して論理ペ
ージLPAGEjの内容を前記実ページPPAGEk
コピーしアクセス可能状態とする。更に、
CPU制御機構14を介し、データ転送路17
を通じてマツピング制御テーブル5の論理ペー
ジ番号LPAGEjのエントリに物理ページ番号
PPAGEkを設定すると共に、そのエントリのフ
ラグAjを1として実メモリ内に既にその論理
ページの内容が存在する事を示す。次にページ
イン制御機構12は所望のページがアクセス可
能状態となつたことをCPU制御機構14へ通
知して総てのページフオルト処理を完了する。
第2図はこれらの処理フローチヤートに示す。
以上本発明の一実施例の説明を行なつたが、本
発明の趣旨は各プログラムの必要実メモリ量の総
和がシステムの全実メモリ量を越える際には、 最低実行優先度に属するプログラムの1つか
ら不足ページ分だけの使用中実メモリを選択
し、補助記憶装置へその内容を転送する事によ
つて空きメモリを作り実メモリの不足している
他プログラムへ与えるが、残りは与えたままと
して上記メモリ取り上げ対象プログラムを実行
可能とし、 そのメモリ取り上げ対象プログラムのページ
フオルトの際には、そのプログラムの使用中実
メモリ量を越えてメモリを与えない事により高
優先度プログラムの使用中実メモリを奪う事を
防止して高実行優先度プログラムでのスラツシ
ング発生を抑止し、 上記メモリ取り上げ対象プログラムをシステ
ム中で唯一つの最低実行優先度に設定し他のよ
り高い実行優先度のプログラムが処理装置8、
補助記憶制御装置(チヤンネル)15を使用し
ない時のみ、これら残りのシステム資源を上記
プログラムへ与えて、そのプログラムで多発す
るページフオルト処理のためのシステム資源の
使用が、高実行優先度プログラムの実行妨害を
引き起こさないようにする。
というメモリスケジユールと処理装置スケジユー
ルを組合せた総合的資源管理方式にある。
(効果) 以上説明したように、本発明によれば、メモリ
負荷が高く最低実行優先度プログラムのワーキン
グセツトサイズが満たされない場合でも、そのプ
ログラムの使用している全実メモリをスワツプア
ウトせずに常に高優先度プログラムの使用する実
メモリを除いた残りのメモリだけを使用し、かつ
他の総ての高優先度プログラムが処理装置を使用
しない時に走行する様に最低実行優先度プログラ
ムへの資源配分を行うため、従来方式のようにプ
ログラムが全く走行しない事がなくなり処理効率
が向上する。
特に、従来の制御方式では走行困難であつた実
行優先度が低く、走行すれば必ずメモリ不足状態
に陥る程に実メモリを多量に必要とするプログラ
ムが、本制御方式で実行可能となる。更に、シス
テムが高メモリ負荷となりスラツシング状態に陥
つた場合でも、最低実行優先度プログラムから順
に他プログラムの不足分だけ実メモリが取り上げ
られてゆき最低実行優先度プログラムは常に他プ
ログラムの使用した残りの資源だけで実行される
ので、自動的に低実行優先度プログラムの停止が
行われ、かつメモリ負荷が下がれば自動的に低実
行優先度プログラムへ実メモリが与えられて再起
動される。しかも、従来の様な高優先度プログラ
ムの実行妨害阻止を目的とする低優先度プログラ
ムの停止や、再びシステムのメモリ負荷が下がつ
た場合の低優先度プログラムの再起動等を行うシ
ステム運転者介入が不必要となるという利点もあ
る。
【図面の簡単な説明】
第1図は本発明の方式による一実施例の構成を
示すブロツク図、第2図は本発明の処理のフロー
チヤートである。 1……実メモリ、2……プログラム格納領域、
3……メモリ管理テーブル、4……空き実メモリ
管理テーブル、5……マツピング制御テーブル、
6……実行優先度管理テーブル、7……メモリ制
御機構、8……処理装置、9……マツピング制御
機構、10……ページ選択機構、11……ページ
アウト制御機構、12……ページイン制御機構、
13……実行優先度制御機構、14……CPU制
御機構、15……補助記憶制御装置、16……補
助記憶装置、17……データ転送路。

Claims (1)

    【特許請求の範囲】
  1. 1 マルチプログラムで動作し、各プログラムは
    実行優先度に従つて実行される仮想記憶方式の情
    報処理システムにおいて、同時に実行されている
    複数の順次プログラムの間に実メモリの割当てを
    行う場合に、各プログラムの実行優先度順に各プ
    ログラムに実メモリを総て割当ててゆき、残りの
    実メモリ量が次に割当てるべきプログラムの必要
    実メモリ量を下まわつた際には残りの実メモリ量
    だけを与える機構と、割当てた実メモリ量が必要
    実メモリ量を下まわつたプログラムの実行優先度
    をシステム中で最低の実行優先度に設定して、実
    メモリ不足による実メモリの奪い合いを原因とし
    て発生する実メモリと補助記憶装置間のメモリ内
    容の転送頻発が引き起こすプログラム実行不可能
    状態(スラツシング)を抑止する機構を備える事
    を特徴とする資源管理方式。
JP58145752A 1983-08-11 1983-08-11 資源管理方式 Granted JPS6039248A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58145752A JPS6039248A (ja) 1983-08-11 1983-08-11 資源管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58145752A JPS6039248A (ja) 1983-08-11 1983-08-11 資源管理方式

Publications (2)

Publication Number Publication Date
JPS6039248A JPS6039248A (ja) 1985-03-01
JPH0324697B2 true JPH0324697B2 (ja) 1991-04-03

Family

ID=15392333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58145752A Granted JPS6039248A (ja) 1983-08-11 1983-08-11 資源管理方式

Country Status (1)

Country Link
JP (1) JPS6039248A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63257047A (ja) * 1987-04-15 1988-10-24 Agency Of Ind Science & Technol 情報処理装置
US5247687A (en) * 1990-08-31 1993-09-21 International Business Machines Corp. Method and apparatus for determining and using program paging characteristics to optimize system productive cpu time
JP4728581B2 (ja) * 2004-02-03 2011-07-20 日本電気株式会社 アレイ型プロセッサ
JP4502650B2 (ja) * 2004-02-03 2010-07-14 日本電気株式会社 アレイ型プロセッサ

Also Published As

Publication number Publication date
JPS6039248A (ja) 1985-03-01

Similar Documents

Publication Publication Date Title
US4730249A (en) Method to operate on large segments of data in a virtual memory data processing system
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
EP0239181B1 (en) Interrupt requests serializing in a virtual memory data processing system
JP4160255B2 (ja) 仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラミング・インターフェイス
USRE36462E (en) Method to control paging subsystem processing in virtual memory data processing system during execution of critical code sections
CN105095094A (zh) 内存管理方法和设备
US6487630B2 (en) Processor with register stack engine that dynamically spills/fills physical registers to backing store
JP3226525B2 (ja) 主記憶管理方法
JP3034873B2 (ja) 情報処理装置
CN119149451A (zh) 动态高效缓冲区的数据读写装置、方法、电子设备及介质
JP3701135B2 (ja) データ処理装置
JPH0324697B2 (ja)
CN116225693A (zh) 元数据管理方法、装置、计算机设备及存储介质
CN120295766A (zh) 一种缓存资源的请求方法、装置、设备和介质
JPS6336538B2 (ja)
JPH05151064A (ja) 密結合マルチプロセツサシステム
CN115098258A (zh) 基于多核堆栈处理器的Forth多任务调度方法及装置
JPH0522261B2 (ja)
JPH06266619A (ja) ページ退避/復元装置
CN118642843A (zh) 异构高性能流式计算平台弹性计算的抖动问题解决方法
US7853771B2 (en) Page allocation management for virtual memory
JP3013735B2 (ja) メモリ管理方式
JP2535584B2 (ja) 実記憶固定処理計算機
CN119025163A (zh) 一种面向星上嵌入式的通用化可伸缩指令队列处理方法
Rees et al. The kernel of the EMAS 2900 operating system