JPH0444140A - 仮想メモリ制御方法 - Google Patents

仮想メモリ制御方法

Info

Publication number
JPH0444140A
JPH0444140A JP2150027A JP15002790A JPH0444140A JP H0444140 A JPH0444140 A JP H0444140A JP 2150027 A JP2150027 A JP 2150027A JP 15002790 A JP15002790 A JP 15002790A JP H0444140 A JPH0444140 A JP H0444140A
Authority
JP
Japan
Prior art keywords
data area
page
copy
control method
memory control
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.)
Pending
Application number
JP2150027A
Other languages
English (en)
Inventor
Naoto Miyazaki
直人 宮崎
Yoshiki Kobayashi
芳樹 小林
Shinichiro Yamaguchi
伸一朗 山口
Tadashi Kamiwaki
正 上脇
Masahiko Saito
雅彦 斉藤
Hirokazu Kasashima
広和 笠嶋
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 JP2150027A priority Critical patent/JPH0444140A/ja
Publication of JPH0444140A publication Critical patent/JPH0444140A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、オペレーティングシステムにおける多重仮想
メモリ管理方法に係り、コピーオンライト機能の処理時
間を短縮するのに好適なページコピ一方法に関する。
〔従来の技術〕
オペレーティングシステムでは、プロセスを生成する時
に環境をすべてコピーする為に時間がかかつていた。そ
こで、これを解決する為にコピーオンライトと言う方法
が考案された(例えば、ザ。
デザイン、オブ、ザ、ユニツクス、オペレーティングシ
ステムTl1lE DESIGN OF THE UN
IXOPP、RATING SYSTEM  ページ3
03〜306.1986年、PRENTICE −11
ALI1. INC、発行)。この方法の考え方は必要
になった時のみコピーを発行させる事で、プロセス生成
時間を短くしようと言うものである。しかし、それでも
次々とコピーが発生すると以前と変わらない。
〔発明が解決しようとする課題〕
上記従来技術は、プロセス生成時間を速くする事を目的
として考案されたものであるが、コピーが次々に発生す
る場合には、何等改善されていないと言う問題点があっ
た。
特にプロセスを発生させながら処理を行う処理形態では
、データ領域をコピーする時間が性能のボI〜ルネツク
になる事は明らかであり、効率良くデータ領域をコピー
する事は、非常に重要である。
即ち、実行するデータ領域に対して書き込み要求を行っ
た時、初めて該データ領域をコピーする手順においては
、該データ領域をコピーしている間まそのプロセスは中
断されてしまい書き込みが行えなくなり計算機システム
の性能が落ちてしまう。
〔課題を解決するための手段〕
本発明の目的は、これらの問題点を解決する為に行われ
たものである。その基本的考え方は、次の点を起点とし
ている。即ち計算機システムにおいては実行すべきプロ
セスが常に存在している事は少なく、むしろ何もする事
がない(jdle時間)がかなり多い。この傾向はマル
チプロセッサシステムにおいては、益々顕著になる。こ
のためこの時間を利用してコピーを行えば、実行時に発
生しプロセスを中断させ書き込みを待たせるコピーオン
ライI−のコピーの回数を減らして効果的に性能を向上
させる事が出来る。
〔作用〕
オペレーティングシステムは実行待ちプロセスの行列を
検索し、実行待ちプロセスの有無をチエツクする。この
時実行待ちプロセスが有れば実行待ちプロセスを実行し
て行くが、実行待ち行列を検索し、実行待ちプロセスが
無かった場合にはページテーブル奈検索して、複数のプ
ロセスからコピーオンライト状態で共有されているペー
ジをコピーする。
この様な手順を繰り返す事により、共有データ領域に書
き込みを行った時、初めて該データ領域をコピーするコ
ピーオンライl−の操作において、データ領域をアイド
ル時間にコピーする事により、実行するデータ領域に対
して書き込み要求を行った時に、該データ領域をコピー
する必要が無くなり、即座に書き込みが行えるので性能
を向上する事が出来る。
〔実施例〕
以下、本発明の一実施例を図を用いて説明する。
第2図は、本発明が適用されるマルチプロセッサシステ
ムの構成図である。200及び201は、それぞれプロ
セッサであり、仮想メモリを実現できるものであり、モ
トローラ社の68020等を用いる。本実施例では、2
プロセツサであるが、プロセッサ数は任意で良い。また
プロセッサの種類も同一であっても異種であってもかま
わない。
209及び210はメモリ管理ユニツ1〜でありプロセ
ッサから出力される仮想ア1くレスを主メモリ205内
のアドレス変換用のページテーブルを使って物理アドレ
スに変換する。また、ページテープルにはライ1−プロ
テクションやその他のプロテクション情報が保持されて
おリアドレス変換時にこれを検査して、プロテクション
エラー発生時には、バスエラーとしてプロセッサに報告
される。
205は命令あるいはデータを保持するメモリ装置であ
る。202と203はキャッシュメモリであり、メモリ
の一部を写しとしてもつ。204は通信バスであり、メ
モリ等へのアクセスはこの通信バスを介して行われる。
メモリ装置205内には、次のものがある。206は物
理メモリ空間であり、207は物理メモリを管理する物
理メモリのテーブルであり、208はアドレス変換用テ
ブル(以下、ページテーブルと呼ぶ。)であり仮想メモ
リ空間と物理メモリ空間をページと呼ぶ固定の大きさ(
本実施例では4KBとする)に分割して、これらの対応
関係を保持する。
第3図は、仮想メモリ空間と物理メモリ空間の対応関係
を保持するページテーブルの1エントリーの構成図であ
る。V2O3はバリッドピットであり、本ビットが1の
時車エントリーが有効な値を保持している事を示す。M
2O3は値が1の時本ページに書き込みがあった事を示
す。R302は値が1の時本ページ内データを命令とし
て実行する事の禁止を示す。R303はリードプロテク
ションであり、本ビットが1の時データとしての読み出
し禁止を示す。W2O3をライトプロテクションを示す
。本ピッI・が1であるページに対して書き込みを行う
とライ1−プロテクションエラーが検出されバスエラー
としてプロセッサに通知される。8305はスーパーバ
イザプロテクションであり、本ビットが1の時スーパー
バイザだけがアクセス可能なページである事を示す。C
W2O3はコピーオンライトを示すビットであり、ライ
トプロテクションエラー発生時に、本ビットが1の時該
ページのコピーを生成する事を示す。R307は本ペー
ジに対するアクセスがロックされているか否かを示す。
本ビットが1であるときロックされていることを示しロ
ックされているときは、ロックが解除されるまで本ペー
ジに対するアクセスは保留される。■308は本ページ
がキャッシュを使用するか否かを示す。RC309ビッ
トは本ページに対するメモリアクセスの来歴を記録して
いるフィールドであり、ページをメモリから2次記憶に
移すときの判定基準となる。PFN310は物理メモリ
のページの番号を示す。ASP311はアドレス空間を
示す。
第4図は、物理メモリを管理するテーブル207の1エ
ントリを示したものである。USE400は、本ページ
を使用するプロセス数を保持している。
第5図は、プロセスごとの各種データを保持するプロセ
ス管理テーブルの内容を示したものである。プロセス管
理テーブルには、プロセス状態500のほかに様々なデ
ータが含まれるが、本実施例ではそのすべてを記述して
いない。優先度501と固定優先度502は、プロセス
を実行するときの優先度を保持し、優先度が高ければ高
いほど優先的に実行される。固定優先度502が、固定
の優先度を保持するのに対し、優先度501は実行待ち
時間に従って優先度が上がって行く。
固定の値ではない。なお固定優先度502の値がOの時
は、優先度501の値をそのプロセスの優先度とし、固
定優先度502の値がO以外の時は、固定優先度502
の値を本プロセスの優先度としている。使ったCPU時
間503は、本プロセスが使用したCPU時間を保持し
ている。リンク504は、実行待ち行列にリンクするた
めのものである。
第6図はオペレーティングシステムの状態遷移図である
。実行待ちプロセスの行列を調へ実行可能プロセスであ
るか否かを調べ、あったなら最も優先度の高いプロセス
を実行する。なかった場合には、実行可能プロセスが発
生するまでアイドル状態となる。
第7図はライトプロテクションエラー処理フローである
。まず仮想71−レスに対して書き込み要求を出す。ペ
ージテーブルにより仮想アドレスを物理ア1−レスに変
換しこの時、該ページテーブルエン1〜りのライトプロ
テクションビットを調へ値がOであれば何もしないが1
であればライトプロテクションエラーを発生し、本処理
に入る。ライトプロテクションエラーが発生した場合は
該ページテーブルエントリのコピーオンライトビットを
調べる(700)。この時コピーオンライトビットがO
であればライトプロテクションエラーとしてエラー処理
を行う(705)。コピーオンライトビットが1であれ
ば該ページテーブルエントリのページロックのビットを
調べ、ページに対するロックが解除されるのを待つ(7
01)。ページに対するロックが解除されたならばペー
ジをロックして(702)、ページのコピー処理(詳細
後述)を行う(703)。そしてページに対するロック
を解除する(704)。そしてコピーした物理アドレス
に書き込みを行う。
第8図にコピー処理703の詳細なフローを示す。まず
このコピー処理がロックされていないかを調べ、ロック
の解除を待つ(800)。ロックが解除されたならこの
コピー処理をロックする(801)。物理メモリのテー
ブルのエントリUSE400を調べ、該ページを共有す
るプロセスの数をチエツクする(802)。この時共有
するプロセスの数が1であった場合他に共有するプロセ
スは無いので、該ページをコピーする必要は無いのでコ
ピーオンライトビットをクリアしく5o6)、このコピ
ー処理のロックを解除して(805)この処理から戻る
。また、共有するプロセスの数が2個以上であった場合
は他にも共有するプロセスがあるので、物理メモリを管
理するテーブルを検索し空きページに該ページをコピー
L(803)する。コピー処理が終了したならばページ
テーブルと物理メモリを管理するテーブルをそれぞれ更
新する(804)。そしてこのコピー処理のロックを解
除して(805)この処理から戻る。
第9図(a)にページテーブルを検索するためのポイン
タを示す。head900はページテーブルの先頭アド
レスを指すポインタであり、tai190]はページテ
ーブルの最終尾アドレスを指すポインタであり、pnt
r902は検索するページテーブルエン1−りを指すポ
インタである。
第1図は、第6図で示したプロセッサがアイドル状態の
時の処理フローである。まず第9図(a)に示すページ
テーブルを検索するためのポインタPntr902の指
すページテーブルエントリを調べる(1 o O)。該
ページテーブルのバリッドビットを調べ(101)、バ
リッドビットがOのときは該エントリは有効ではないの
で、処理107へ飛び、1のときは該エントリは有効な
ので該ページテーブルエントリのコピーオンライトビッ
トを調べる(102)。この時コピーオンライトビット
が0であれば処理107へ飛び、コピーオンライトピッ
1〜が1であれば該ページテーブルエントリのページロ
ックのビットを調ベページに対するロックが解除される
のを待つ(103)。ページに対するロックが解除され
たならばページをロックして(104)ページのコピー
処理を行う(703)。
そしてページに対するロックを解除する(105)。
最後にページテーブルを検索するためのポインタPnt
r902をインクリメントする(106)。この時Pn
tr902の指すアドレスが第10図に示すページテー
ブルの最後尾を指すポインタtai1901 を超えた
場合pntr902の指すアドレスは第9図(a)に示
すページテーブルの先頭を指すポインタhead900
のアドレスとする。本実施例では第9図(a)の方法で
検索したが、第9図(b)に示すように(詳細後述)ペ
ージテーブルの領域を2(プロセッサ数が2の為)分割
し、各プロセッサに分割した領域を割り当て上記処理を
各プロセッサに行わせることが出来る。第9図(b)に
ページテーブルの領域を2分割し検索するためのポイン
タを示す。head O、head 1は分割したペー
ジテーブルのそれぞれの先頭アドレスを指すポインタで
あり、tailo 、 taillは分割したページテ
ーブルのそれぞれの最後尾アドレスを指すポインタであ
り、pntro 、 pntr 1は分割したページテ
ーブルのそれぞれの検索するページテーブルエントリを
指すポインタである。本実施例ではページテーブルの領
域を2分割としたが分割する数はプロセッサの数と同じ
とする。
次に、アイドルが発生する時の動作例について説明する
。まずオペレーティングシステムが実行待ちプロセスの
行列を調べ実行待ちプロセスがある時は、最も優先度の
高いプロセスから実行して行く。無かった場合は、実行
待ちプロセスが発生するまでアイドル状態となる。
次に、アイドル時間にコピーが発生する時の動作例につ
いて説明する。実行待ちプロセスが無くアイドルになっ
た場合、まずページテーブルを検索するためのポインタ
の指すページテーブルエントリを調べる。この時バリッ
ドピットが0の時はページテーブルを検索するためのポ
インタをインクリメントして実行待ちプロセスの行列を
調べる。
バリッドビットが1の時もコピーオンライトビットがO
の時はページテーブルを検索するためのポインタをイン
クリメントして実行待ちプロセスの行列を調べる。しか
し、バリッドピットが1の時にコピーオンライトビット
が1の時には、該ページを空きページを□検索しそこに
コピーする。そしてページテーブルを検索するためのポ
インタをインクリメントして実行待ちプロセスの行列を
調べる。この時実行待ちプロセスが発生していれば、最
も優先度の高いプロセスから実行して行く、無かった場
合は、アイドルとしてこの動作を繰り返す。
〔発明の効果〕
本発明によればプロセッサがプロセスを実行していない
アイドル時間に、共有するデータをコピーできるので、
実行するデータ領域に対して書き込み要求を行ったとき
、初めて該データ領域をコピーするコピーオンライト機
能のコピーによる書き込みが待たされる時間をなくすこ
とができ、書き込み要求に対し書き込みが待たされるこ
となく行われ、処理時間を高速化する効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のプロセッサのアイドル中に
共有データのコピーを行う処理フロー図、第2図はマル
チプロセッサシステムの構成図、第3図はページテーブ
ルの1エントリを示す図、第4図は物理メモリを管理す
るテーブルの1エントリを示す図、第5図はプロセス管
理テーブルを示す図、第6図はオペレーティングシステ
ムの状態遷移図、第7図はライトプロテクションエラー
処=15 環フロー図、第8図はコピー処理の詳細フロー図、第9
図はページテーブルを示す図である。 207・・・物理メモリのテーブル、208・・・ペー
ジ弔 図 第 図 弔 図 粥 図 躬 図

Claims (1)

  1. 【特許請求の範囲】 1、複数個のプログラムとデータ領域を共有し、実行す
    るデータ領域に対して書き込み要求を行つた時、初めて
    該データ領域を複製するコピーオンライト機能を有する
    計算機システムにおいて、計算機がプロセスの実行待ち
    行列を検索し、実行待ちのプロセスがなかつた場合に、
    共有するデータ領域を複製することを特徴とする仮想メ
    モリ制御方法。 2、複数個の命令処理手段を通信バスに接続し、複数個
    のプログラムとデータ領域を共有し、実行するデータ領
    域に対して書き込み要求を行つた時、初めて該データ領
    域を複製するコピーオンライト機能を有するマルチプロ
    セッサシステムにおいて、任意の命令処理手段がプロセ
    スの実行待ち行列を検索し、実行待ちのプロセスがなか
    つた場合に、共有するデータ領域を複製することを特徴
    とする仮想メモリ制御方法。 3、請求項第1項において、共有するデータ領域を複製
    する手段は、ページテーブルを検索する手段を有し、複
    製されていない共有するデータ領域を複製することを特
    徴とする仮想メモリ制御方法。 4、請求項第1項において、共有するデータ領域を複製
    する手段は、複製している該ページをロックすることを
    特徴とする仮想メモリ制御方法。 5、請求項第1項において、共有するデータ領域を複製
    する手段は、オペレーティングシステムで実現している
    ことを特徴とする仮想メモリ制御方法。 6、請求項第2項において、共有するデータ領域を複製
    する手段は、ページテーブルを検索する手段を有し、複
    製されていない共有するデータ領域を複製することを特
    徴とする仮想メモリ制御方法。 7、請求項第2項において、共有するデータ領域を複製
    する手段は、複製している該ページをロツクすることを
    特徴とする板想メモリ制御方法。 8、請求項第2項において、共有するデータ領域を複製
    する手段は、オペレーティングシステムで実現している
    ことを特徴とする仮想メモリ制御方法。
JP2150027A 1990-06-11 1990-06-11 仮想メモリ制御方法 Pending JPH0444140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2150027A JPH0444140A (ja) 1990-06-11 1990-06-11 仮想メモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2150027A JPH0444140A (ja) 1990-06-11 1990-06-11 仮想メモリ制御方法

Publications (1)

Publication Number Publication Date
JPH0444140A true JPH0444140A (ja) 1992-02-13

Family

ID=15487898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2150027A Pending JPH0444140A (ja) 1990-06-11 1990-06-11 仮想メモリ制御方法

Country Status (1)

Country Link
JP (1) JPH0444140A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152641A (ja) * 1993-11-29 1995-06-16 Fujitsu Ltd プログラムキャッシュ装置
JP2006508459A (ja) * 2002-11-29 2006-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理
JP2009181422A (ja) * 2008-01-31 2009-08-13 Denso Corp データ退避装置及びデータ退避方法
US9471226B2 (en) 2014-02-28 2016-10-18 Red Hat Israel, Ltd. Reverse copy on write for better cache utilization
JP2017503277A (ja) * 2014-01-02 2017-01-26 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データベースシステムにおけるオンライン分析処理のためのデータを維持する方法および装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152641A (ja) * 1993-11-29 1995-06-16 Fujitsu Ltd プログラムキャッシュ装置
JP2006508459A (ja) * 2002-11-29 2006-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理
JP2009181422A (ja) * 2008-01-31 2009-08-13 Denso Corp データ退避装置及びデータ退避方法
JP2017503277A (ja) * 2014-01-02 2017-01-26 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データベースシステムにおけるオンライン分析処理のためのデータを維持する方法および装置
US9922105B2 (en) 2014-01-02 2018-03-20 Huawei Technologies Co., Ltd. Method and apparatus of maintaining data for online analytical processing in a database system
US9471226B2 (en) 2014-02-28 2016-10-18 Red Hat Israel, Ltd. Reverse copy on write for better cache utilization

Similar Documents

Publication Publication Date Title
US4912629A (en) Real-time garbage collection for list processing using restructured cells for increased reference counter size
Banerjee et al. DBC—A database computer for very large databases
US6886162B1 (en) High speed methods for maintaining a summary of thread activity for multiprocessor computer systems
US6178519B1 (en) Cluster-wide database system
US5727209A (en) Apparatus and method for achieving reduced overhead mutual-exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring
JP2603369B2 (ja) ローカルキャッシュに共通のページ間の一貫性を確保する方法
US5946711A (en) System for locking data in a shared cache
JP4746838B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
JPH05233458A (ja) コンピュータシステムのメモリ管理装置
JPH05210637A (ja) 同時アクセス管理方法
US20070113042A1 (en) Sparse matrix
JPH0776944B2 (ja) 仮想索引機構
US5339397A (en) Hardware primary directory lock
JPH0444140A (ja) 仮想メモリ制御方法
JP3814521B2 (ja) データ処理方法および装置
JPH04155465A (ja) ファイル共用方法
JPS6113261B2 (ja)
JP3180336B2 (ja) 多層バッファを用いるデータアクセス方法
EP0216170A2 (en) Storage management method and system in a multiprocessor environment
JPH1031604A (ja) 共有メモリシステム並びにデータベースシステム
JP2787107B2 (ja) バッファ制御方式及び装置
JPS5864690A (ja) キヤツシユメモリ制御方法
JPS6138504B2 (ja)
Anderson et al. Design of a time-sharing system allowing interactive graphics
JPH056706B2 (ja)