JP2000242510A - 共有記憶媒体の書き込み同期制御方法 - Google Patents

共有記憶媒体の書き込み同期制御方法

Info

Publication number
JP2000242510A
JP2000242510A JP11047497A JP4749799A JP2000242510A JP 2000242510 A JP2000242510 A JP 2000242510A JP 11047497 A JP11047497 A JP 11047497A JP 4749799 A JP4749799 A JP 4749799A JP 2000242510 A JP2000242510 A JP 2000242510A
Authority
JP
Japan
Prior art keywords
area
shared
writing
temporary
information
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.)
Withdrawn
Application number
JP11047497A
Other languages
English (en)
Inventor
Toshihiro Sonoda
俊浩 園田
Fumio Honda
文雄 本田
Naoki Nishiguchi
直樹 西口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11047497A priority Critical patent/JP2000242510A/ja
Publication of JP2000242510A publication Critical patent/JP2000242510A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数の仮想領域が記憶媒体の共有領域を共有
し、共有領域に書き込みを行う場合に、共有領域の記憶
内容をコピーした一時領域を生成し、一時領域への書き
込み処理の終了時に一時領域の変更内容を共有領域に反
映する共有記憶媒体の書き込み同期制御方法において、
コピーの処理に要する時間を短縮する。 【解決手段】 一時領域への書き込み処理が終了したと
きに、その書き込みによる変更内容を共有領域に反映す
るための情報が、オペレーティングシステム内に保存さ
れている。好ましくは、一時領域を生成するためのコピ
ーが、コピーオンライト動作によって実行される。更
に、一時領域の書き込みによって変更された領域のカウ
ンタ情報がオペレーティングシステム内に保存される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共有記憶媒体の書
き込み同期制御方法に関する。詳しくは、仮想記憶を実
現可能な記憶媒体を有する計算機(コンピュータ)にお
いて、複数の仮想領域が記憶媒体の共有領域を共有し、
共有領域に書き込みを行う場合に、共有領域の記憶内容
をコピーした一時領域を生成し、一時領域への書き込み
処理の終了時に一時領域の変更内容を共有領域に反映す
る共有記憶媒体の書き込み同期制御方法に関する。
【0002】
【従来の技術】仮想記憶を実現可能な記憶媒体を有する
計算機において、マルチタスクで実行される複数のプロ
セスが記憶媒体を共有するには、共有領域の競合を回避
するために、共有領域へのアクセスの同期をとる制御が
必要である。
【0003】第1の方法として、あるプロセスが共有領
域にアクセスしている間は、セマフォやロックの手法を
用いて他のプロセス又はスレッドの共有領域へのアクセ
スをブロックすることにより、プロセス間の同期をとる
ことが一般的である。共有領域にアクセスしていたプロ
セスが共有領域へのアクセスを終了すると、共有領域へ
のアクセスがブロックされていた他のプロセス又はスレ
ッドに、共有領域の使用が可能になった旨が伝達され
(ロックの解放)、他のプロセス又はスレッドの実行が
再開される。
【0004】このようなプロセス又はスレッドのブロッ
ク、そしてロックの解放によるプロセス又はスレッドの
実行再開は、通常、オペレーティングシステムによって
行われる。なお、他のプロセス又はスレッドを完全にブ
ロックする方法の他に、読み出しアクセスはブロックせ
ずに書き込みアクセスのみをブロックする方法も考えら
れる。
【0005】また、第2の方法として、書き込みによる
内容変更の遅延が許される場合は、つぎのようなアクセ
ス制御が考えられる。つまり、共有領域の書き込みが生
じたときに、共有領域の内容を一時領域にコピーし、そ
の一時領域へ書き込みを行う。そして、一連の書き込み
処理が終了したときに、一時領域の内容を共有領域に書
き戻す。この場合、完全な共有ではないが、あるプロセ
スが書き込みを実行しているときに、他のプロセスが読
み出しを実行することが可能になる。つまり、書き込み
は一時領域に対して行われ、読み出しは共有領域から行
われる。
【0006】
【発明が解決しようとする課題】上記のような従来の共
有領域へのアクセスの同期をとる制御方法は、つぎのよ
うな問題点を有する。第1の方法では、あるプロセスが
共有領域にアクセスしている間は、他のプロセスは共有
領域へのアクセスをブロックされ、共有領域にアクセス
中のプロセスがそのアクセスを終了するまで処理が中断
される。したがって、時間のかかるプロセスが共有領域
を使用している場合であっても、他のプロセスはロック
の開放(共有領域の使用の終了)を待つしかない。
【0007】第2の方法では、共有領域の書き込みが発
生するたびに、共有領域の内容の一時領域へのコピー、
及び、一時領域の内容の共有領域への書き戻しが必要と
なる。したがって、共有領域が大きい場合は、コピー及
び書き戻しの処理に要する時間が長くなる。
【0008】本発明は、上記のような従来の問題点に鑑
みてなされたものであって、第2の方法を改良し、コピ
ー及び書き戻しの処理に要する時間を短縮することを目
的とする。
【0009】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明による共有記憶媒体の書き込み同期制御方
法は、仮想記憶を実現可能な記憶媒体を有する計算機に
おいて、複数の仮想領域が記憶媒体の共有領域を共有
し、共有領域に書き込みを行う場合に、共有領域の記憶
内容をコピーした一時領域を生成し、一時領域への書き
込み処理の終了時に一時領域の変更内容を共有領域に反
映する方法であって、一時領域への書き込み処理が終了
したときに、その書き込みによる変更内容を共有領域に
反映するための情報が、オペレーティングシステム内に
保存されていることを特徴とする。このような構成によ
り、共有領域と一時領域との関係が保持され、変更内容
の反映が容易になる。
【0010】特に、共有領域及び一時領域が情報を保持
し、一時領域を生成するためのコピーが、コピーオンラ
イト動作によって実行されることが好ましい。ここで、
コピーオンライトとは、書き込みの必要が実際に生じた
とき、つまり、内容の変更が生じたときまで、コピー動
作を遅延させることを意味する。このような構成によ
り、変更した内容の部分だけをコピーすることが可能と
なり、コピー量が低減され、コピーに要する時間が短縮
される。
【0011】また、共有領域及び一時領域が情報を保持
し、一時領域の書き込みによって変更された領域のカウ
ンタ情報がオペレーティングシステム内に保存されるこ
とが好ましい。この構成によれば、変更された領域のカ
ウンタ情報から、変更された領域の割合が算出される。
あるいは、変更された領域の割合又は量がオペレーティ
ングシステム内に保存されるように構成してもよい。そ
の結果、一時領域の変更内容を共有領域に反映する処理
に要する時間を短縮することが可能になる。つまり、変
更された領域の割合が全体の50%を越えている場合
は、一時領域の変更内容を共有領域に書き戻すのではな
く、共有領域の変更されなかった領域を一時領域にコピ
ーする。そして、共有領域によってマップされている記
憶媒体を一時領域によってマップされている記憶媒体に
変更すればよい。
【0012】なお、記憶領域がページ単位で管理されて
いる場合は、変更した内容の部分だけでなく、その変更
領域を含む領域をページ単位で書き換えることになる。
【0013】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は、本発明による共有記憶媒体
の書き込み同期制御方法が適用される一例として、2つ
のプロセスが記憶媒体(半導体メモリなどの物理メモ
リ)を共有している構成を示している。図1の構成で
は、第1プロセスの仮想空間11内の領域(共有領域)
Aと、第2プロセスの仮想空間12内の領域(共有領
域)Bとがオペレーティングシステム13を介して物理
メモリ14を共有している。
【0014】図2は、図1におけるオペレーティングシ
ステム13の内部状態を示している。オペレーティング
システム13内において、第1プロセス及び第2プロセ
スは、それぞれの仮想領域情報21A,21Bのリスト
を保持している。仮想領域情報21A,21Bは、各プ
ロセスの仮想空間の情報(アドレス及びサイズ)と、そ
の仮想空間に対応する物理メモリ情報23,24,…の
リストを保持するキャッシュ情報22を保持している。
このキャッシュ情報22を仮想領域情報21A,21B
が共有することにより、異なる仮想空間領域(領域A及
び領域B)が同じ物理メモリ(記憶媒体)14を共有す
る機構が実現する。
【0015】図3は、第2プロセスの仮想空間12にお
ける共有領域Bのコピー領域である一時領域Cをコピー
オンライトによって作成したときの様子を示している。
図3において、31はバッキングストアリンク情報であ
り、一時領域Cに対する書き込み又は読み出しが生じた
場合、物理メモリ情報23,24,…を検索するための
情報となる。共有領域Bの内容を一時領域Cにコピーし
た後に一時領域Cの読み出しが発生した場合は、ページ
フォールトが発生し、オペレーティングシステムは領域
Cのキャッシュ情報34の物理メモリ情報を検索しよう
とする。
【0016】しかし、このキャッシュ情報34は物理メ
モリ情報を保持していないので、バッキングストアリン
ク情報31に基づいて、バッキングストア先のキャッシ
ュ情報22が保持する物理メモリ情報23,24,…の
リストが検索される。目的の物理メモリ情報が発見され
ると、対応する物理メモリ14の領域が、ページフォー
ルトを発生した仮想空間にマップされる。 書き込みフ
ォールトが発生した場合も、検索の方法は同様である。
ただし、この場合、対応する物理メモリ14の領域が発
見されると、そのコピーが生成され、ページフォールト
を発生した仮想空間にマップされる。
【0017】図3において、32はコピーリンク情報で
あり、第1プロセスの仮想空間11における共有領域
A、又は、第2プロセスの仮想空間12における共有領
域Bに対する書き込み処理が発生した場合に、一時領域
Cへの書き込みが実行される前の状態をコピーするのに
使用される。
【0018】共有領域A又は共有領域Bに対する書き込
み処理が発生する直前にオペレーティングシステムに通
知するために、共有領域A及び共有領域Bの保護属性は
リードオンリー、つまり、書き込み不可としておく。こ
れにより、共有領域A又は共有領域Bに対する書き込み
処理が発生した場合はページフォールトが発生し、それ
に基づいて、対応する物理メモリ14の領域を、コピー
リンク情報32が指示するキャッシュ情報34にコピー
することができる。
【0019】図3において、リンク情報33は、共有領
域Bと一時領域Cが将来、マージ可能であることを示し
ている。つまり、リンク情報33は、一時領域Cへの書
き込み処理が終了したときに、その書き込みによる変更
内容を共有領域Bに反映するための情報に相当する。
【0020】また、リンク情報33を保持する仮想記憶
領域は、コピーオンライト動作によってコピーを実現し
ている。これにより、変更した内容の部分だけをコピー
することが可能となり、コピー量が低減され、コピーに
要する時間が短縮される。
【0021】更に、新たに生成されたキャッシュ情報3
4は、変更が生じた物理ページのみをリストとして保存
する。したがって、キャッシュ情報34は、変更された
領域のカウンタ情報として利用することができる。この
結果、後述するように、変更された領域の割合を算出
し、一時領域の変更内容を共有領域に反映する処理に要
する時間を短縮することが可能になる。
【0022】図4は、共有領域Aを一時領域Cにリマッ
プする処理の様子を示している。共有領域Aに対応する
仮想領域情報21Aのキャッシュ情報22を、一時領域
Cに対応する仮想領域情報21Cのキャッシュ情報34
に変更することにより、共有領域Aが一時領域Cにリマ
ップされる。この結果、第1プロセスは、共有領域Aの
アドレスを変更せずに、共有領域Bのコピー領域である
一時領域Cを参照していることになる。
【0023】この場合は、共有領域Aが一時領域Cにリ
マップされる前に共有していた物理メモリの領域(キャ
ッシュ情報22が保持している)へのマップが、すべて
クリアされる。そして、リンク情報44で示すように、
リマップ以後の領域Aに対する書き込み及び読み出し
は、ページフォールトの発生により、新しいマップ、つ
まり、キャッシュ情報34が保持する物理メモリの領域
へのマップを生成することになる。
【0024】図5に、第1プロセスが共有領域Aに対し
て書き込みを発生した直後の様子を示す。共有領域Aに
対する書き込みが発生すると、ページフォールトによっ
て、その旨がオペレーティングシステムに通知される。
このとき、書き込みはまだ行われない。オペレーティン
グシステムは、共有領域A中の書き込み対象領域Awの
仮想アドレス情報に基づいて仮想領域情報21Aを検索
する。そして、仮想領域情報21Aが保持するキャッシ
ュ情報34を利用して物理メモリ情報23,24,…が
検索される。
【0025】図5の場合は、バッキングストアリンク情
報31に基づいて、バッキングストア先のキャッシュ情
報22が保持する物理メモリ情報23,24,…のリス
トが検索される。図5の例では、物理メモリ情報24
が、書き込み対象領域Awに対応する物理メモリ情報で
ある。キャッシュ情報34の物理メモリ情報リストに物
理メモリ情報51が追加され、物理メモリ情報24の指
示する物理メモリ14の領域14aが、物理メモリ情報
51の指示する物理メモリ14の領域14bにコピーさ
れ、書き換えが許可される。この状態で、第1プロセス
が書き込みを発生した直前の命令、正確には、ページフ
ォールトを発生する原因となった命令から第1プロセス
を再開させる。
【0026】図6に、第2プロセスの仮想空間12にお
ける共有領域Bと一時領域Cとのマージが行われる様子
を示す。第1プロセスの仮想空間11における共有領域
Aに対する変更は、図5で説明したように、キャッシュ
情報34の物理メモリ情報リストに含まれる物理メモリ
情報51として保持されている。そこで、第2プロセス
が共有領域Bと一時領域Cとのマージを行うと、一時領
域Cに対応する仮想領域情報21Cのキャッシュ情報3
4から変更が生じた部分を、キャッシュ情報34の保持
する物理メモリ情報リストから検索する。そして、変更
箇所に対応する物理メモリ情報51の指示する物理メモ
リ14の領域14bを決定する。
【0027】つぎに、共有領域Bに対応する仮想領域情
報21Bのキャッシュ情報22の保持する物理メモリ情
報リストに含まれる物理メモリ情報24に基づいて、物
理メモリ14の領域14bのオリジナル領域14aを決
定する。そして、領域14bを領域14aにコピーす
る。仮想領域情報21Cのキャッシュ情報34が保持す
るすべての物理メモリ情報に関して上記の処理を実行す
る。
【0028】つぎに、図7に示すように、一点鎖線で囲
まれた部分、つまり、共有領域Bにマージされる一時領
域C、仮想領域情報21C、キャッシュ情報34、物理
メモリ情報51とそれに関するポインタを開放する。そ
の結果、図8に示すように、仮想領域情報21Aからキ
ャッシュ情報22へのポインタが再び形成される。この
状態は、図1において、物理メモリ情報24の指示する
物理メモリ14の領域14aの内容が変更されたものに
等しい。
【0029】上記の実施形態では、図6から図8を用い
て説明したように、書き込みによって変更された一時領
域Cをコピー元の共有領域Bにマージした。しかし、コ
ピー元の共有領域Bを一時領域Cにマージするように構
成してもよい。特に、変更された領域の割合が全体の5
0%を越えている場合は、共有領域Bの変更されなかっ
た領域を一時領域Cにマージするように構成すれば、マ
ージに要する時間を短縮することができる。
【0030】
【発明の効果】以上に説明したように、共有領域の書き
込みが発生したときに、共有領域の内容を一時領域にコ
ピーし、その一時領域へ書き込みを行い、一連の書き込
み処理が終了したときに、一時領域の内容を共有領域に
書き戻す共有アクセス制御方法において、本発明によれ
ば、共有領域の内容を一時領域にコピーする際のコピー
の範囲と、書き込み処理の後に、変更内容を共有領域に
反映する際のコピーの範囲を低減し、もってコピーに要
する時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明実施形態において、2つのプロセスが記
憶媒体を共有している構成を示す図である。
【図2】図1におけるオペレーティングシステムの内部
状態を示す図である。
【図3】第2プロセスの仮想空間における共有領域Bの
コピー領域である一時領域Cをコピーオンライトによっ
て作成したときの様子を示す図である。
【図4】共有領域Aを一時領域Cにリマップする処理の
様子を示す図である。
【図5】第1プロセスが共有領域Aに対して書き込みを
発生した直後の様子を示す図である。
【図6】第2プロセスの仮想空間における共有領域Bと
一時領域Cとのマージが行われる様子を示す図である。
【図7】図6の処理に続いて、共有領域Bにマージされ
る一時領域Cなどが開放される様子を示す図である。
【図8】図7の処理の結果を示す図である。
【符号の説明】
11 第1プロセスの仮想空間 12 第2プロセスの仮想空間 13 オペレーティングシステム 14 物理メモリ(記憶媒体) 33 リンク情報(変更内容を共有領域に反映するため
の情報) 34 キャッシュ情報(変更された領域のカウンタ情
報) A,B 共有領域 C 一時領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西口 直樹 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B005 JJ11 MM33 5B098 AA03 GA02 GA04 GA05 GD03 GD14

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】仮想記憶を実現可能な記憶媒体を有する計
    算機において、複数の仮想領域が前記記憶媒体の同一領
    域を共有し、共有領域に書き込みを行う場合に、前記共
    有領域の記憶内容をコピーした一時領域を生成し、前記
    一時領域への書き込み処理の終了時に前記一時領域の変
    更内容を前記共有領域に反映する共有記憶媒体の書き込
    み同期制御方法であって、 前記一時領域への書き込み処理が終了したときに、その
    書き込みによる変更内容を前記共有領域に反映するため
    の情報が、オペレーティングシステム内に保存されてい
    ることを特徴とする共有記憶媒体の書き込み同期制御方
    法。
  2. 【請求項2】前記共有領域及び一時領域が前記情報を保
    持し、前記一時領域を生成するためのコピーが、コピー
    オンライト動作によって実行される請求項1記載の共有
    記憶媒体の書き込み同期制御方法。
  3. 【請求項3】前記共有領域及び一時領域が前記情報を保
    持し、前記一時領域の書き込みによって変更された領域
    のカウンタ情報がオペレーティングシステム内に保存さ
    れる請求項1記載の共有記憶媒体の書き込み同期制御方
    法。
  4. 【請求項4】前記共有領域及び一時領域が前記情報を保
    持し、前記一時領域の書き込みによって変更された領域
    の割合又は量がオペレーティングシステム内に保存され
    る請求項2記載の共有記憶媒体の書き込み同期制御方
    法。
  5. 【請求項5】前記共有領域及び一時領域が前記情報を保
    持し、前記一時領域の書き込みによって変更された領
    域、又はその領域を含む領域の情報がオペレーティング
    システム内に保存される請求項1記載の共有記憶媒体の
    書き込み同期制御方法。
JP11047497A 1999-02-25 1999-02-25 共有記憶媒体の書き込み同期制御方法 Withdrawn JP2000242510A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11047497A JP2000242510A (ja) 1999-02-25 1999-02-25 共有記憶媒体の書き込み同期制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11047497A JP2000242510A (ja) 1999-02-25 1999-02-25 共有記憶媒体の書き込み同期制御方法

Publications (1)

Publication Number Publication Date
JP2000242510A true JP2000242510A (ja) 2000-09-08

Family

ID=12776759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11047497A Withdrawn JP2000242510A (ja) 1999-02-25 1999-02-25 共有記憶媒体の書き込み同期制御方法

Country Status (1)

Country Link
JP (1) JP2000242510A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006508459A (ja) * 2002-11-29 2006-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理
WO2012093488A1 (ja) * 2011-01-07 2012-07-12 富士通株式会社 スケジューリング方法、およびマルチコアプロセッサシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006508459A (ja) * 2002-11-29 2006-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理
WO2012093488A1 (ja) * 2011-01-07 2012-07-12 富士通株式会社 スケジューリング方法、およびマルチコアプロセッサシステム
JP5780243B2 (ja) * 2011-01-07 2015-09-16 富士通株式会社 スケジューリング方法、およびマルチコアプロセッサシステム
US9367459B2 (en) 2011-01-07 2016-06-14 Fujitsu Limited Scheduling method and multi-core processor system

Similar Documents

Publication Publication Date Title
US20050138312A1 (en) Method for acquiring snapshot
JP4339371B2 (ja) 情報処理装置および情報処理方法
EP0441508B1 (en) Data storage using a cache and method therefor
US20050055490A1 (en) Collision handling apparatus and method
JPH05127995A (ja) ローカルキヤツシユに共通のページ間の一貫性を確保する方法
JP2001134482A (ja) データ処理システムにおいて独立したデータコピーを行う方法
TW201537454A (zh) 資料處理方法及處理器
US7793062B2 (en) Copy engine and a method for data movement
JP2008234491A (ja) 情報処理装置および情報処理方法
JPH0555901B2 (ja)
JPH11120051A (ja) データベース内の情報を修正するためのコンピュータ装置およびその修正方法
JP3814521B2 (ja) データ処理方法および装置
JP2000242510A (ja) 共有記憶媒体の書き込み同期制御方法
JP2004206424A (ja) データ処理装置及びデータ処理装置におけるデータ転送方法
WO1993003436A1 (en) Method and apparatus for reducing lock period of shared buffer
JPS63133240A (ja) 常駐テ−ブルの内容保証方式
JPH1031604A (ja) 共有メモリシステム並びにデータベースシステム
CN110874273A (zh) 一种数据处理方法及装置
JP2000163294A (ja) データベース管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
US8041692B2 (en) System and method for processing concurrent file system write requests
KR101881038B1 (ko) 비휘발성 메모리에 저장된 메모리 매핑 파일의 원자적 업데이트 방법 및 제어 장치
JPH0444140A (ja) 仮想メモリ制御方法
JP2002520731A (ja) 微細粒子分散仮想共有メモリ
JPH01251248A (ja) スタックデータ構造用キャッシュ制御方式
JPH04370847A (ja) 順ファイルへのトランザクション同期アクセス方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060509