JP2005004575A - 多重仮想記憶システムの二次記憶管理方式および方法 - Google Patents
多重仮想記憶システムの二次記憶管理方式および方法 Download PDFInfo
- Publication number
- JP2005004575A JP2005004575A JP2003168757A JP2003168757A JP2005004575A JP 2005004575 A JP2005004575 A JP 2005004575A JP 2003168757 A JP2003168757 A JP 2003168757A JP 2003168757 A JP2003168757 A JP 2003168757A JP 2005004575 A JP2005004575 A JP 2005004575A
- Authority
- JP
- Japan
- Prior art keywords
- secondary storage
- page
- virtual
- address
- main memory
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに二次記憶アドレスを多重化し、ジョブ開始またはプロセス開始において、ジョブ共有空間またはプロセス固有空間に対して、仮想二次記憶アドレスを実際の二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブル400を生成し、ジョブ共有空間またはプロセス固有空間に属するページについて二次記憶800の割当・解放を行い、ジョブ共有空間またはプロセス固有空間に属する、二次記憶800が割り当てられたページについて仮想二次記憶アドレス410を実際の二次記憶アドレス420に変換し、ページインおよびページアウトを行う。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は多重仮想記憶システムの二次記憶管理方式および方法に関し、特にプロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムの二次記憶管理方式および方法に関する。
【0002】
【従来の技術】
一般に、仮想記憶空間は、同一の空間属性を持つセグメントに分割され、さらに、各セグメントは同一サイズのページに分割される。論理アドレス(仮想記憶空間のアドレス)から物理アドレス(主記憶または二次記憶のアドレス)への変換は、ページテーブルと呼ばれる変換テーブルによりページごとに行われる。ページテーブルは、各セグメントに1つ存在し、ヘッダとページ記述子の配列とから構成されており、セグメントの各ページに1つのページ記述子が対応している。ページ記述子には、対応するページが主記憶にあるか二次記憶にあるかを識別する情報があり、ページが二次記憶に存在する場合には二次記憶のアドレスを持つ。このため、二次記憶の容量はページ記述子のサイズに制約され、二次記憶を拡大するにはページ記述子の拡大が必要になる。ページテーブルは、空間管理テーブルの大半を占めるため、ページ記述子を拡大すると、空間管理テーブルの全体サイズが著しく増加する。
【0003】
ページ記述子を拡大せずに二次記憶を拡大する方法として、二次記憶を複数のファイルから構成し、二次記憶のアドレスを「ファイル番号」と「ファイル内相対アドレス」とに分解し、同一セグメントのページを必ず同一ファイルに配置することによりページ記述子に「ファイル番号」を持つ必要はないようにした技術が公知である(例えば、特許文献1参照)。この方法では、「ファイル番号」をページテーブルのヘッダに持ち、「ファイル内相対アドレス」のみをページ記述子に持つことにより、ページ記述子のサイズを増やすことなく、二次記憶容量を拡大可能にしている。
【0004】
【特許文献1】
特許第3157673号(第2〜3頁、図1)
【0005】
【発明が解決しようとする課題】
上記従来の技術の場合、同一セグメントの全てのページが同一ファイルに括りつけられ、ページごとに異なるファイルへ移動できない。このため、以下のような問題がある。
【0006】
メモリマップドファイル,ライブラリファイル(プログラムを仮想記憶空間へ展開した形式で記憶するファイル)などを二次記憶として持つセグメントの場合、更新されたページをファイルへ書き戻せないため、少なくとも1つのページが更新されると、そのページのページアウト処理で、セグメントの全てのページを別のファイルに移動する必要が生じる。したがって、二次記憶の使用効率とページアウトの処理性能とが著しく低下する。
【0007】
セグメントの生成において、そのセグメントが必要とする二次記憶を全て割り当てない限り、二次記憶の割り当てられていないページのページアウト処理において、二次記憶ファイルが溢れる可能性があり、この場合、セグメントの全ページを別のファイルに移動する必要が生じる。
【0008】
本発明の目的は、二次記憶の使用効率およびページアウトの処理性能を低下させず、かつ、ページ記述子を拡大せずに二次記憶を拡大する多重仮想記憶システムの二次記憶管理方式および方法を提供することにある。
【0009】
【課題を解決するための手段】
本発明の多重仮想記憶システムの二次記憶管理方式は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、プロセスごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、プロセスごとに1つずつ存在し、該当プロセスの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルとを有することを特徴とする。
【0010】
また、本発明の多重仮想記憶システムの二次記憶管理方式は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、プロセスごとに1つずつ存在し、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルとを有することを特徴とする。
【0011】
さらに、本発明の多重仮想記憶システムの二次記憶管理方式は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、セグメント番号,ページ番号およびページ内相対アドレスからなる論理アドレスと、ページテーブルの先頭の主記憶アドレスおよび共有レベルからなるセグメント記述子と、仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、主記憶のページごとに1つずつ存在し、該ページが割り当てられている仮想記憶空間のページの論理アドレス,ならびに仮想記憶空間のページに割り当てられている二次記憶の仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを記憶する主記憶管理エントリの配列である主記憶管理テーブルと、プロセスごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、プロセスごとに1つずつ存在し、該当プロセスの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルとを有することを特徴とする。
【0012】
さらにまた、本発明の多重仮想記憶システムの二次記憶管理方式は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、セグメント番号,ページ番号およびページ内相対アドレスからなる論理アドレスと、ページテーブルの先頭の主記憶アドレスおよび共有レベルからなるセグメント記述子と、仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、主記憶のページごとに1つずつ存在し、該ページが割り当てられている仮想記憶空間のページの論理アドレス,ならびに仮想記憶空間のページに割り当てられている二次記憶の仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを記憶する主記憶管理エントリの配列である主記憶管理テーブルと、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、プロセスごとに1つずつ存在し、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルとを有することを特徴とする。
【0013】
一方、本発明の多重仮想記憶システムの二次記憶管理方法は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方法において、ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに、二次記憶アドレスを仮想二次記憶アドレスとして多重化し、プロセス開始において、仮想二次記憶アドレスを二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶アドレス変換テーブルを用いて、二次記憶の割当,解放,ページインおよびページアウトを行うことを特徴とする。
【0014】
また、本発明の多重仮想記憶システムの二次記憶管理方法は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方法において、ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに、二次記憶アドレスを仮想二次記憶アドレスとして多重化し、システム開始,ジョブ開始およびプロセス開始において、それぞれ、システム共有空間,ジョブ共有空間およびプロセス固有空間に対して仮想二次記憶アドレスを二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブルを生成し、ページの共有レベルに対応する仮想二次記憶アドレス変換テーブルを用いて、二次記憶の割当,解放,ページインおよびページアウトを行うことを特徴とする。
【0015】
さらに、本発明の多重仮想記憶システムの二次記憶管理方法は、システム共有二次記憶ファイルを決定するシステム立ち上げ処理と、ジョブ共有二次記憶ファイルの個数とプロセス固有二次記憶ファイルの個数とを決定し、二次記憶ファイル管理テーブルを参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順にジョブ共有二次記憶ファイルとして割り当てるジョブ開始処理と、二次記憶ファイル管理テーブルを参照して、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順にプロセス固有二次記憶ファイルとして割り当て、開始するプロセスに対応する仮想二次記憶アドレス変換テーブルを生成して仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶し、仮想二次記憶アドレス変換テーブルへのポインタをプロセス管理テーブルに記憶するプロセス開始処理と、該当ページのプロセス識別子および論理アドレスのセグメント番号によりページテーブルを決定し、論理アドレスのページ番号によりページテーブルからページ記述子を取り出し、ページが主記憶に存在する場合は主記憶アドレスを参照して該当ページにアクセスし、ページが二次記憶に存在する場合はハードウエアの例外処理機構からページ不在例外処理が呼び出され、該当ページに割り当てる主記憶を取得し、対応する主記憶管理エントリにページ記述子に記憶されていた仮想二次記憶アドレスを記憶し、ページ記述子に取得した主記憶アドレスを記憶し、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して、ページ記述子に記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して、ページ記述子に記憶されていたスロット番号から、該当ページが存在するスロットの二次記憶装置アドレスを計算し、二次記憶から主記憶にページの内容を読み出し、ページ記述子のページ不在情報をオフにするページイン処理と、ページから主記憶を取り上げる場合は、ページ記述子から主記憶アドレスを取得し、対応する主記憶管理エントリに記憶されている仮想二次記憶アドレスを得、該当ページに二次記憶が割り当てられていない場合は、事前に二次記憶割当処理を呼び出し、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して、主記憶管理エントリに記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して主記憶管理エントリに記憶されていたスロット番号から該当ページに割り当てられているスロットの二次記憶装置アドレスを計算し、ページ記述子のページ不在情報をオンにして、主記憶から二次記憶装置にページの内容を書き込み、ページ記述子に仮想二次記憶アドレスを記憶し、該当ページに割り当てられていた主記憶を解放するページアウト処理と、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して、該当ページの共有レベルに対応する仮想二次記憶ファイル番号を1つ選択し、選択した仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して該当ページに割り当てる空きスロットを取得し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、仮想二次記憶ファイル番号と割り当てたスロットのスロット番号とから仮想二次記憶アドレスを計算し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には仮想二次記憶アドレスを主記憶管理エントリに記憶し、該当ページが二次記憶にある場合には仮想二次記憶アドレスをページ記述子に記憶する二次記憶割当処理と、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には主記憶管理エントリから仮想二次記憶アドレスを取得し、該当ページが二次記憶にある場合にはページ記述子から仮想二次記憶アドレスを取得し、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルに対して、前記スロット番号が示すスロットを解放し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、主記憶管理エントリに記憶されている仮想二次記憶アドレスを零値に更新し、該当ページに主記憶が割り当てられていない場合は、ページ記述子に記憶されている仮想二次記憶アドレスを零値に更新する二次記憶解放処理とを含むことを特徴とする。
【0016】
さらにまた、本発明の多重仮想記憶システムの二次記憶管理方法は、システム共有二次記憶ファイルを決定し、システム共有空間に対応する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶するシステム立ち上げ処理と、二次記憶ファイル管理テーブルを参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順に、ジョブ共有二次記憶ファイルとして割り当て、ジョブ共有空間に対応する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶するジョブ開始処理と、二次記憶ファイル管理テーブルを参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順にプロセス固有二次記憶ファイルとして割り当て、プロセス固有空間に対応する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶し、システム共有空間,ジョブ共有空間およびプロセス固有空間それぞれの仮想二次記憶アドレス変換テーブルへのポインタをプロセス管理テーブルに記憶するプロセス開始処理と、該当ページのプロセス識別子および論理アドレスのセグメント番号によりページテーブルを決定し、論理アドレスのページ番号によりページテーブルからページ記述子を取り出し、ページが主記憶に存在する場合は主記憶アドレスを参照して該当ページにアクセスし、ページが二次記憶に存在する場合はハードウエアの例外処理機構からページ不在例外処理が呼び出され、該当ページに割り当てる主記憶を取得し、対応する主記憶管理エントリにページ記述子に記憶されていた仮想二次記憶アドレスを記憶し、ページ記述子に取得した主記憶アドレスを記憶し、空間の共有レベルに対応する仮想二次記憶アドレス変換テーブルを参照して、ページ記述子に記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して、ページ記述子に記憶されていたスロット番号から、該当ページが存在するスロットの二次記憶装置アドレスを計算し、二次記憶から主記憶にページの内容を読み出し、ページ記述子のページ不在情報をオフにするページイン処理と、ページから主記憶を取り上げる場合は、ページ記述子から主記憶アドレスを取得し、対応する主記憶管理エントリに記憶されている仮想二次記憶アドレスを得、該当ページに二次記憶が割り当てられていない場合は、事前に二次記憶割当処理を呼び出し、空間の共有レベルに対応する仮想二次記憶アドレス変換テーブルを参照して、主記憶管理エントリに記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して主記憶管理エントリに記憶されていたスロット番号から該当ページに割り当てられているスロットの二次記憶装置アドレスを計算し、ページ記述子のページ不在情報をオンにして、主記憶から二次記憶装置にページの内容を書き込み、ページ記述子に仮想二次記憶アドレスを記憶し、該当ページに割り当てられていた主記憶を解放するページアウト処理と、該当ページの共有レベルに対応する仮想二次記憶アドレス変換テーブルから仮想二次記憶ファイル番号を1つ選択し、選択した仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して該当ページに割り当てる空きスロットを取得し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、仮想二次記憶ファイル番号と割り当てたスロットのスロット番号とから仮想二次記憶アドレスを計算し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には仮想二次記憶アドレスを主記憶管理エントリに記憶し、該当ページが二次記憶にある場合には仮想二次記憶アドレスをページ記述子に記憶する二次記憶割当処理と、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には主記憶管理エントリから仮想二次記憶アドレスを取得し、該当ページが二次記憶にある場合にはページ記述子から仮想二次記憶アドレスを取得し、空間の共有レベルに対応する仮想二次記憶アドレス変換テーブルを参照して仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルに対して、前記スロット番号が示すスロットを解放し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、主記憶管理エントリに記憶されている仮想二次記憶アドレスを零値に更新し、該当ページに主記憶が割り当てられていない場合は、ページ記述子に記憶されている仮想二次記憶アドレスを零値に更新する二次記憶解放処理とを含むことを特徴とする。
【0017】
本発明の多重仮想記憶システムの二次記憶管理方式は、プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を、同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し(システムの全てのプロセスが共有する空間をシステム共有空間、同一ジョブの全てのプロセスが共有する空間をジョブ共有空間、それ以外をプロセス固有空間と呼ぶ)、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムにおいて、ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに、二次記憶アドレスを多重化し(これを仮想二次記憶アドレスと呼ぶ)、ジョブ開始またはプロセス開始において、ジョブ共有空間またはプロセス固有空間に対して、仮想二次記憶アドレスを実際の二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブルを生成し、ジョブ共有空間またはプロセス固有空間に属するページについて、対応する仮想二次記憶アドレス変換テーブルを用いて二次記憶の割当・解放を行い、ジョブ共有空間またはプロセス固有空間に属する、二次記憶が割り当てられたページについて、対応する二次記憶アドレス変換テーブルを用いて、仮想二次記憶アドレスを実際の二次記憶アドレスに変換し、ページインおよびページアウト(主記憶と二次記憶との間のページの移送)を行うことを特徴とする。
【0018】
二次記憶の拡大がページ記述子の拡大を必要とする理由は、二次記憶アドレスがシステム一意であることに因る。そこで、本発明では、仮想記憶空間がジョブないしプロセスごとに多重であることに対応して、二次記憶アドレスを多重化することにより(これを仮想二次記憶アドレスと呼ぶ)、上記の問題を解決する。二次記憶は仮想記憶空間に割り当てられる資源であるから、仮想記憶空間(論理アドレス)が多重であることに対応して、二次記憶アドレスを多重にすることは、二次記憶拡大の自然かつ有効な方法である。
【0019】
二次記憶アドレスを多重化するため、各々のジョブ共有空間およびプロセス固有空間に対して、仮想二次記憶アドレスを実際の二次記憶アドレスに変換するテーブル、例えば、仮想二次記憶アドレスのファイル番号を実際の二次記憶アドレスのファイル番号に対応づける変換テーブルを持つ。この場合、仮想二次記憶アドレスのファイル番号よりも、実際の二次記憶アドレスのファイル番号は多数存在し得る。
【0020】
この方法を採用しても、依然として、仮想二次記憶アドレス(同一プロセスがアクセス可能な二次記憶容量)はページ記述子のサイズに制限されるが、二次記憶アドレス(システム全体の二次記憶容量)はこれに制限されない。
【0021】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0022】
図1は、本発明の第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式の構成を示すブロック図である。本実施の形態に係る多重仮想記憶システムの二次記憶管理方式は、論理アドレス100と、セグメント記述子200と、ページテーブル300と、仮想二次記憶アドレス変換テーブル400と、二次記憶ファイル管理テーブル500と、プロセス管理テーブル600と、主記憶管理テーブル700とから、その主要部が構成されている。なお、図1中、符号800は二次記憶(ディスク装置)、810は二次記憶ファイルをそれぞれ示す。
【0023】
仮想記憶空間は、同一の空間属性を持つセグメントに分割され、さらに各セグメントは同一サイズのページに分割される。
【0024】
論理アドレス100は、セグメント番号110と、ページ番号120と、ページ内相対アドレス130とから構成される。
【0025】
セグメント記述子200は、セグメントごとに1つ存在し、ページテーブル300の先頭の主記憶アドレス210,セグメントが属する空間の共有レベル220などを記憶する。プロセス識別子とセグメント番号110とにより、セグメント記述子200が一意に決まる。
【0026】
共有レベル220は、仮想記憶空間が、システム共有空間であるか、ジョブ共有空間であるか、プロセス固有空間であるかを示す値である。例えば、システム共有空間の場合に1、ジョブ共有空間の場合に2、プロセス固有空間の場合に3とする。
【0027】
ページテーブル300は、ページ記述子310の配列である。
【0028】
ページ記述子310は、仮想記憶空間のページごとに1つずつ存在する。ページ記述子310には、対応するページが主記憶にあるか二次記憶800にあるかを識別する情報があり、これをページ不在ビット320と呼ぶ。ページが主記憶に存在する場合には主記憶アドレス330を持ち、ページが二次記憶800に存在する場合には仮想二次記憶アドレス340を持つ。
【0029】
二次記憶ファイル810は、ページサイズのレコードから構成される。このレコードをスロットと呼ぶ。
【0030】
二次記憶アドレスおよび仮想二次記憶アドレス340は、ファイル番号と、スロット番号360とから構成される。仮想二次記憶アドレス340のファイル番号を、特に仮想二次記憶ファイル番号350と呼ぶ。
【0031】
仮想二次記憶アドレス変換テーブル400は、プロセスごとに1つずつ存在し、仮想二次記憶ファイル番号410を、実際の二次記憶ファイル番号420に対応づける。
【0032】
本実施の形態においては、説明の都合上、仮想二次記憶ファイル番号350を3ビット(0〜7)、二次記憶ファイル番号420を4ビット(0〜F)と仮定する。実際には、例えば、仮想二次記憶ファイル番号350を8ビット、実際の二次記憶ファイル番号420を16ビットとする構成が考えられる。この場合、ページ記述子310を拡大せずに、二次記憶容量を256倍に拡大できる。
【0033】
二次記憶ファイル管理テーブル500のエントリは、二次記憶ファイル810ごとに1つずつ存在し、ファイル使用量,先頭スロットのディスクアドレス(セクタ番号),1スロット当たりのセクタ数,スロット割り当て管理情報510などを記憶する。
【0034】
プロセス管理テーブル600は、プロセスごとに1つずつ存在し、該当プロセスの仮想二次記憶アドレス変換テーブル400へのポインタなどを記憶する。
【0035】
主記憶管理テーブル700は、主記憶管理エントリ710の配列である。
【0036】
主記憶管理エントリ710は、主記憶のページごとに1つずつ存在し、そのページが割り当てられている仮想記憶空間のページの論理アドレス720,その仮想記憶空間のページに割り当てられている二次記憶800の仮想二次記憶アドレス730などを記憶する。仮想二次記憶アドレス730は、仮想二次記憶ファイル番号740と、スロット番号750とから構成されている。
【0037】
システム共有空間に割り当てる二次記憶ファイル810を、システム共有二次記憶ファイルと呼ぶ。
【0038】
ジョブ共有空間に割り当てる二次記憶ファイル810を、ジョブ共有二次記憶ファイルと呼ぶ。これは、ジョブごとの概念であり、二次記憶ファイル810自体の属性ではない。
【0039】
プロセス固有空間に割り当てる二次記憶ファイル810を、プロセス固有二次記憶ファイルと呼ぶ。これは、プロセスごとの概念であり、二次記憶ファイル810自体の属性ではない。
【0040】
ここで、多重仮想記憶の仕組みについて、いくらか説明をしておく。仮想記憶空間はプロセスごとに存在し、全ての仮想記憶空間管理テーブルはプロセス管理テーブル600を出発点として接続される。したがって、プロセス識別子とセグメント番号との組が与えられたとき、プロセス管理テーブル600から順にテーブルを追跡すれば、セグメント記述子200に到達できる。空間の共有レベル220は、セグメントごとに設定可能であり、セグメント記述子200の共有により実現される。言い換えれば、システム共有空間とは、システムの全てのプロセスがセグメント記述子200を共有しているセグメントの集合であり、ジョブ共有空間とは、ジョブに属する全てのプロセスがセグメント記述子200を共有しているセグメントの集合である。セグメント記述子200の説明に述べた通り、セグメント記述子200には空間の共有レベル220を記憶しており、これを参照すれば、仮想記憶空間のページが、どの共有レベル220の空間に属するかが分かる。
【0041】
次に、このように構成された第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式の動作について、図1および図2ないし図8のフローチャートを参照しながら説明する。
【0042】
(1−1) システム立ち上げにおける処理(図2参照)
ステップA1において、システム共有二次記憶ファイルを決定する。システム共有二次記憶ファイルについては、システムの全てのプロセスで、仮想二次記憶ファイル番号350,410,740を同一にする。すなわち、システム共有空間については、二次記憶アドレスを多重化しない。
【0043】
例えば、システム共有二次記憶ファイルの個数を4つとし、その二次記憶ファイル番号420が、
0,1,E,F
であるとすれば、全てのプロセスで、仮想二次記憶アドレス変換テーブル400の内容は、共通に、
0→0(システム共有)
1→1(システム共有)
2→E(システム共有)
3→F(システム共有)
となる。
【0044】
なお、左辺が仮想二次記憶ファイル番号410、右辺が実際の二次記憶ファイル番号420である。
【0045】
(1−2) ジョブ開始における処理(図3参照)
ステップB1において、ジョブ共有二次記憶ファイルの個数,およびプロセス固有二次記憶ファイルの個数を決定する。上記の例を引き続き仮定すると、これらの個数の和は、仮想二次記憶ファイル番号410の個数8から、システム共有二次記憶ファイルの個数4を引いた残り、すなわち、4である。仮に、ジョブ共有二次記憶ファイルの個数を2、プロセス固有二次記憶ファイルの個数を2とする。
【0046】
ステップB2において、二次記憶ファイル管理テーブル500を参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイル810から順に、ジョブ共有二次記憶ファイルとして割り当てる。
【0047】
例えば、システム共有二次記憶ファイルを除く二次記憶ファイル810を、使用量の少ない順に並べたときに、
7,B,D,2,C,3,4,8,6,A,5,9
であるとすれば、仮想二次記憶アドレス変換テーブル400の内容は、以下のようになる。
0→0(システム共有)
1→1(システム共有)
2→E(システム共有)
3→F(システム共有)
4→7(ジョブ共有)
5→B(ジョブ共有)
【0048】
(1−3) プロセス開始における処理(図4参照)
上記の通り、システム共有二次記憶ファイルとジョブ共有二次記憶ファイルとについては、仮想二次記憶アドレス変換テーブル400の内容が決定している。
【0049】
ステップC1において、二次記憶ファイル管理テーブル500を参照して、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイル810から順に、プロセス固有二次記憶ファイルとして割り当てる。プロセス固有二次記憶ファイルがジョブ共有二次記憶ファイルと重複しても論理的問題はないが、ここでは重複を避ける割り当て方を採用する。
【0050】
例えば、システム共有二次記憶ファイルを除く二次記憶ファイル810を使用量の少ない順に並べて、前記の通りとすれば、仮想二次記憶アドレス変換テーブル400の内容は、以下のようになる。
0→0(システム共有)
1→1(システム共有)
2→E(システム共有)
3→F(システム共有)
4→7(ジョブ共有)
5→B(ジョブ共有)
6→D(プロセス固有)
7→2(プロセス固有)
【0051】
ステップC2おいて、開始するプロセスに対応する仮想二次記憶アドレス変換テーブル400を生成する。
【0052】
ステップC3において、上記の仮想二次記憶ファイル番号410と二次記憶ファイル番号420との対応を記憶する。
【0053】
終わりに、ステップC4において、仮想二次記憶アドレス変換テーブル400へのポインタをプロセス管理テーブル600に記憶する。
【0054】
なお、ジョブ共有二次記憶ファイル,およびそれらの仮想二次記憶ファイル番号410は、同一ジョブの全てのプロセスで共通にする必要がある。プロセス固有二次記憶ファイル,およびそれらの仮想二次記憶ファイル番号410は、プロセスごとに異なってよい。
【0055】
(1−4) ページイン処理(図5参照)
ステップD1において、該当ページのプロセス識別子および論理アドレス100のセグメント番号110によりページテーブル300を決定する。
【0056】
ステップD2において、論理アドレス100のページ番号120により、ページテーブル300からページ記述子310を取り出す。ページ記述子310は、対応するページが主記憶に存在するか二次記憶800に存在するかを識別するページ不在ビット320を持ち(主記憶に存在する場合に0、二次記憶800に存在する場合に1であるとする)、また、ページが主記憶に存在する場合には主記憶アドレス330、ページが二次記憶800に存在する場合には仮想二次記憶アドレス340を持つ。
【0057】
ページが主記憶に存在する場合は、図示しないCPU(Central Processing Unit)が主記憶アドレス330を参照して、該当ページにアクセス可能である。ページが二次記憶800に存在する場合は、ハードウエアの例外処理機構(図示せず)からページ不在例外処理が呼び出される。ここに述べているページイン処理は、ページ不在例外処理の延長で動作する処理である。
【0058】
ステップD3において、該当ページに割り当てる主記憶を取得する。
【0059】
ステップD4において、対応する主記憶管理エントリ710に、ページ記述子310に記憶されていた仮想二次記憶アドレス340を記憶する。
【0060】
ステップD5において、ページ記述子310に、上記で取得した主記憶アドレス330を記憶する。
【0061】
ステップD6において、該当プロセスの仮想二次記憶アドレス変換テーブル400を参照して、ページ記述子310に記憶されていた仮想二次記憶ファイル番号350を実際の二次記憶ファイル番号420に変換する。
【0062】
ステップD7において、その二次記憶ファイル番号420に対応する二次記憶ファイル管理テーブル500を参照して、ページ記述子310に記憶されていたスロット番号360から、該当ページに割り当てられているスロットの二次記憶装置アドレス(ディスク装置のセクタ番号)を計算する。
【0063】
ステップD8において、二次記憶800から主記憶にページの内容を読み出す。
【0064】
終わりに、ステップD9において、ページ記述子310のページ不在ビット320を0にする。
【0065】
これにより、CPUが該当ページにアクセス可能になり、ページ不在例外となった命令からプログラムの処理を再開する。
【0066】
(1−5) ページアウト処理(図6参照)
ページから主記憶を取り上げる場合は、ステップE1において、ページ記述子310から主記憶アドレス330を取得する。
【0067】
ステップE2において、対応する主記憶管理エントリ710に記憶されている仮想二次記憶アドレス730を得る。なお、該当ページに二次記憶800が割り当てられていない場合は、事前に、以下に述べる二次記憶割当処理(図7参照)を呼び出す。
【0068】
ステップE3において、該当プロセスの仮想二次記憶アドレス変換テーブル400を参照して、主記憶管理エントリ710に記憶されていた仮想二次記憶ファイル番号740を、実際の二次記憶ファイル番号420に変換する。
【0069】
ステップE4において、その二次記憶ファイル番号420に対応する二次記憶ファイル管理テーブル500を参照して、主記憶管理エントリ710に記憶されていたスロット番号750から、該当ページに割り当てられているスロットの二次記憶装置アドレスを計算する。
【0070】
ステップE5において、ページ記述子310のページ不在ビット320を1にする。
【0071】
ステップE6において、主記憶から二次記憶装置800にページの内容を書き込む。
【0072】
ステップE7において、ページ記述子310に仮想二次記憶アドレス340を記憶する。
【0073】
終わりに、ステップE8において、該当ページに割り当てられていた主記憶を解放する。
【0074】
(1−6) 二次記憶割当処理(図7参照)
ステップF1において、該当プロセスの仮想二次記憶アドレス変換テーブル400を参照して、該当ページの共有レベル220に対応する仮想二次記憶ファイル番号410を1つ選択する。例えば、前記の仮想二次記憶アドレス変換テーブル400を例に考えると、ジョブ共有空間のページの場合、仮想二次記憶ファイル番号410が4または5のいずれかを選択する(選択の方法には、サイクリックに選択する方法、最も使用量の少ない二次記憶ファイル810を選択する方法などがある)。
【0075】
ステップF2において、選択した仮想二次記憶ファイル番号410を実際の二次記憶ファイル番号420に変換する。
【0076】
ステップF3において、その二次記憶ファイル番号420に対応する二次記憶ファイル管理テーブル500を参照して、該当ページに割り当てる空きスロットを取得する。
【0077】
ステップF4において、二次記憶ファイル管理テーブル500のスロット割り当て管理情報510を更新する。
【0078】
ステップF5において、仮想二次記憶ファイル番号350と、割り当てたスロットのスロット番号360とから、仮想二次記憶アドレス340を計算する。
【0079】
ステップF6において、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、ステップF7において、仮想二次記憶アドレス730を主記憶管理エントリ710に記憶し、該当ページが二次記憶800にある場合には、ステップF8において、仮想二次記憶アドレス340をページ記述子310に記憶する。
【0080】
(1−7) 二次記憶解放処理(図8参照)
ステップG1において、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、ステップG2において、主記憶管理エントリ710から仮想二次記憶アドレス730を取得し、該当ページが二次記憶800にある場合には、ステップG3において、ページ記述子310から仮想二次記憶アドレス340を取得する。なお、仮想二次記憶アドレス340,730は、仮想二次記憶ファイル番号350,740とスロット番号360,750とから構成される。
【0081】
ステップG4において、該当プロセスの仮想二次記憶アドレス変換テーブル400を参照して、仮想二次記憶ファイル番号410を実際の二次記憶ファイル番号420に変換する。
【0082】
ステップG5において、その二次記憶ファイル番号420に対応する二次記憶ファイル管理テーブル500に対して、上記のスロット番号360,750が示すスロットを解放する。
【0083】
ステップG6において、二次記憶ファイル管理テーブル500のスロット割り当て管理情報510を更新する。
【0084】
ステップG7において、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、ステップG8において、主記憶管理エントリ710に記憶されている仮想二次記憶アドレス730をnull(零値)に更新し、該当ページが二次記憶800にある場合は、ステップG9において、ページ記述子310に記憶されている仮想二次記憶アドレス340をnull(零値)に更新する(この場合、ページの内容は消失する)。
【0085】
第1の実施の形態によれば、二次記憶800の使用効率およびページアウトの処理性能を低下させず、かつページ記述子310のサイズを拡大せずに、二次記憶容量を拡大できる。
【0086】
[第2の実施の形態]
図9を参照すると、本発明の第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式は、論理アドレス100と、セグメント記述子200と、ページテーブル300と、仮想二次記憶アドレス変換テーブル400と、二次記憶ファイル管理テーブル500と、プロセス管理テーブル600と、主記憶管理テーブル700から、その主要部が構成されており、図1に示した第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式とは、1点を除いて同様に構成されている。
【0087】
詳しくは、第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式では、仮想記憶空間の共有レベル220に依らずに、プロセスごとに1つの仮想二次記憶アドレス変換テーブル400を持っていた。第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式では、仮想二次記憶アドレス変換テーブル400を、仮想記憶空間の共有レベル220ごとに持つ。すなわち、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとに、それぞれ、1つの仮想二次記憶アドレス変換テーブル400を持つ。したがって、二次記憶アドレスは、ジョブおよびプロセスごとに多重化されるだけでなく、共有レベル220ごとにも多重化される。
【0088】
このため、プロセス管理テーブル600は、共有レベル220からポイントされ、仮想二次記憶アドレス変換テーブル400をポイントする、仮想二次記憶アドレス変換テーブルへのポインタ1,仮想二次記憶アドレス変換テーブルへのポインタ2,および仮想二次記憶アドレス変換テーブルへのポインタ3を備えている。
【0089】
なお、その他の部分は、第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式と同様に構成されているので、同一符号を付してそれらの詳しい説明を省略する。
【0090】
次に、このように構成された第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式の動作について、図9および図10ないし図12のフローチャートを参照しながら、第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式と異なる点を中心として説明する。
【0091】
(2−1) システム立ち上げにおける処理(図10参照)
ステップH1において、システム共有二次記憶ファイルを決定する。
【0092】
例えば、システム共有二次記憶ファイルを8個とし、その二次記憶ファイル番号420が、
0,1,2,3,C,D,E,F
であるとすれば、システム共有空間に対応する仮想二次記憶アドレス変換テーブル400は、
0→0
1→1
2→2
3→3
4→C
5→D
6→E
7→F
となる。
【0093】
ステップH2において、システム共有空間に対応する仮想二次記憶アドレス変換テーブル400を生成する。
【0094】
ステップH3において、仮想二次記憶ファイル番号410と二次記憶ファイル番号420との対応を記憶する。システム共有空間に割り当てられる二次記憶800は、仮想二次記憶アドレス変換テーブル400を参照して、仮想二次記憶ファイル番号410から実際の二次記憶ファイル番号420に変換される。仮想二次記憶アドレス変換テーブル400の先頭へのポインタ610,620,630は、プロセス生成において、プロセス管理テーブル600に記憶する。
【0095】
なお、第1の実施の形態の場合は、システム共有二次記憶ファイル,ジョブ共有二次記憶ファイルおよびプロセス固有二次記憶ファイルの個数の総和が、仮想二次記憶ファイル番号410の個数以下となる必要があるが、第2の実施の形態の場合は、システム共有二次記憶ファイル,ジョブ共有二次記憶ファイルおよびプロセス固有二次記憶ファイルの各々の個数が、仮想二次記憶ファイル番号410の個数以下であればよい。
【0096】
(2−2) ジョブ開始における処理(図11参照)
ステップJ1において、二次記憶ファイル管理テーブル500を参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイル810から順に、ジョブ共有二次記憶ファイルとして割り当てる。
【0097】
例えば、ジョブ共有二次記憶ファイルの個数を4とし、システム共有二次記憶ファイルを除く二次記憶ファイル810を使用量の少ない順に並べたときに、
7,B,4,8,6,A,5,9
であるとすれば、ジョブ共有空間に対応する仮想二次記憶アドレス変換テーブル400は、以下のようになる。
0→7
1→B
2→4
3→8
【0098】
ステップJ2において、ジョブ共有空間に対応する仮想二次記憶アドレス変換テーブル400を生成する。
【0099】
終わりに、ステップJ3において、仮想二次記憶ファイル番号410と二次記憶ファイル番号420との対応を記憶する。ジョブ共有空間に割り当てられる二次記憶800は、仮想二次記憶アドレス変換テーブル400を参照して、仮想二次記憶ファイル番号410から実際の二次記憶ファイル番号420に変換される。仮想二次記憶アドレス変換テーブル400の先頭へのポインタ610,620,630は、プロセス生成において、プロセス管理テーブル600に記憶する。
【0100】
(2−3) プロセス開始における処理(図12参照)
ステップK1において、二次記憶ファイル管理テーブル500を参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイル810から順に、プロセス固有二次記憶ファイルとして割り当てる。プロセス固有二次記憶ファイルがジョブ共有二次記憶ファイルと重複しても論理的問題はないが、ここでは重複を避ける割り当て方を採用する。
【0101】
例えば、プロセス固有二次記憶ファイルの個数を4とし、システム共有二次記憶ファイルを除く二次記憶ファイル810を使用量の少ない順に並べて、前記の通りとすれば、プロセス固有空間に対応する仮想二次記憶アドレス変換テーブル400は、以下のようになる。
0→6
1→A
2→5
3→9
【0102】
ステップK2において、プロセス固有空間に対応する仮想二次記憶アドレス変換テーブル400を生成する。
【0103】
ステップK3において、仮想二次記憶ファイル番号410と二次記憶ファイル番号420との対応を記憶する。プロセス固有空間に割り当てられる二次記憶800は、この仮想二次記憶アドレス変換テーブル400を参照して、仮想二次記憶ファイル番号410から実際の二次記憶ファイル番号420に変換される。
【0104】
終わりに、ステップK4において、システム共有空間,ジョブ共有空間およびプロセス固有空間それぞれの、仮想二次記憶アドレス変換テーブル400へのポインタ610,620および630を、プロセス管理テーブル600の、仮想二次記憶管理テーブルへのポインタ1,仮想二次記憶管理テーブルへのポインタ2,および仮想二次記憶管理テーブルへのポインタ3に記憶する。
【0105】
ページイン処理,ページアウト処理,二次記憶割当処理,および二次記憶解放処理は、基本的に第1の実施の形態と同じである。両者の相違は、第1の実施の形態においては、ページの共有レベル220に拘わらず、共通に該当プロセスの仮想二次記憶アドレス変換テーブル400を参照するが、第2の実施の形態においては、ページの共有レベル220に応じて、システム共有空間,ジョブ共有空間およびプロセス固有空間の仮想二次記憶アドレス変換テーブル400を参照する、という点である。
【0106】
【発明の効果】
第1の効果は、二次記憶の使用効率およびページアウトの処理性能を低下させず、かつ、ページ記述子のサイズを拡大せずに、二次記憶容量を拡大できることである。その理由は、ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに二次記憶アドレスを多重化し、各々のジョブ共有空間およびプロセス固有空間に対して、仮想二次記憶アドレスを実際の二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブルを設けるようにしたからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式の構成を示すブロック図である。
【図2】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのシステム立ち上げ処理を示すフローチャートである。
【図3】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのジョブ開始処理を示すフローチャートである。
【図4】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのプロセス開始処理を示すフローチャートである。
【図5】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのページイン処理を示すフローチャートである。
【図6】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのページアウト処理を示すフローチャートである。
【図7】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式での二次記憶割当処理を示すフローチャートである。
【図8】第1の実施の形態に係る多重仮想記憶システムの二次記憶管理方式での二次記憶解放処理を示すフローチャートである。
【図9】本発明の第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式の構成を示すブロック図である。
【図10】第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのシステム立ち上げ処理を示すフローチャートである。
【図11】第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのジョブ開始処理を示すフローチャートである。
【図12】第2の実施の形態に係る多重仮想記憶システムの二次記憶管理方式でのプロセス開始処理を示すフローチャートである。
【符号の説明】
100 論理アドレス
110 セグメント番号
120 ページ番号
130 ページ内相対アドレス
200 セグメント記述子
210 主記憶アドレス
220 共有レベル
300 ページテーブル
310 ページ記述子
320 ページ不在ビット
330 主記憶アドレス
340 仮想二次記憶アドレス
350 仮想二次記憶ファイル番号
360 スロット番号
400 仮想二次記憶アドレス変換テーブル
410 仮想二次記憶ファイル番号
420 二次記憶ファイル番号
500 二次記憶ファイル管理テーブル
510 スロット割り当て管理情報
600 プロセス管理テーブル
700 主記憶管理テーブル
710 主記憶管理エントリ
720 論理アドレス
730 仮想二次記憶アドレス
740 仮想二次記憶ファイル番号
750 スロット番号
800 二次記憶
810 二次記憶ファイル
Claims (8)
- プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、
仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、
プロセスごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、
プロセスごとに1つずつ存在し、該当プロセスの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、
二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルと
を有することを特徴とする多重仮想記憶システムの二次記憶管理方式。 - プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、
仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、
システム共有空間,ジョブ共有空間およびプロセス固有空間ごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、
プロセスごとに1つずつ存在し、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、
二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルと
を有することを特徴とする多重仮想記憶システムの二次記憶管理方式。 - プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、
セグメント番号,ページ番号およびページ内相対アドレスからなる論理アドレスと、
ページテーブルの先頭の主記憶アドレスおよび共有レベルからなるセグメント記述子と、
仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、
主記憶のページごとに1つずつ存在し、該ページが割り当てられている仮想記憶空間のページの論理アドレス,ならびに仮想記憶空間のページに割り当てられている二次記憶の仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを記憶する主記憶管理エントリの配列である主記憶管理テーブルと、
プロセスごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、
プロセスごとに1つずつ存在し、該当プロセスの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、
二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルと
を有することを特徴とする多重仮想記憶システムの二次記憶管理方式。 - プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方式において、
セグメント番号,ページ番号およびページ内相対アドレスからなる論理アドレスと、
ページテーブルの先頭の主記憶アドレスおよび共有レベルからなるセグメント記述子と、
仮想記憶空間のページごとに1つずつ存在し、対応するページが主記憶にあるか二次記憶にあるかを識別するページ不在情報を備え、ページが主記憶に存在する場合には主記憶アドレスを持ち、ページが二次記憶に存在する場合には仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを持つページ記述子の配列であるページテーブルと、
主記憶のページごとに1つずつ存在し、該ページが割り当てられている仮想記憶空間のページの論理アドレス,ならびに仮想記憶空間のページに割り当てられている二次記憶の仮想二次記憶ファイル番号およびスロット番号からなる仮想二次記憶アドレスを記憶する主記憶管理エントリの配列である主記憶管理テーブルと、
システム共有空間,ジョブ共有空間およびプロセス固有空間ごとに1つずつ存在し、仮想二次記憶ファイル番号を二次記憶ファイル番号に対応づける仮想二次記憶アドレス変換テーブルと、
プロセスごとに1つずつ存在し、システム共有空間,ジョブ共有空間およびプロセス固有空間ごとの仮想二次記憶アドレス変換テーブルへのポインタを記憶するプロセス管理テーブルと、
二次記憶ファイルごとに1つずつ存在し、少なくともファイル使用量,先頭スロットのディスクアドレス,スロット当たりのセクタ数およびスロット割り当て管理情報を記憶する二次記憶ファイル管理テーブルと
を有することを特徴とする多重仮想記憶システムの二次記憶管理方式。 - プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方法において、
ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに、二次記憶アドレスを仮想二次記憶アドレスとして多重化し、プロセス開始において、仮想二次記憶アドレスを二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブルを生成し、
仮想二次記憶アドレス変換テーブルを用いて、二次記憶の割当,解放,ページインおよびページアウトを行うことを特徴とする多重仮想記憶システムの二次記憶管理方法。 - プロセスごとに固有の仮想記憶空間を持つ多重仮想記憶を採用する多重仮想記憶システムであって、仮想記憶空間の一部を同一ジョブの全てのプロセスまたはシステムの全てのプロセスが共有し、仮想記憶空間の内容を主記憶および二次記憶に持つ多重仮想記憶システムの二次記憶管理方法において、
ジョブ共有空間についてはジョブごとに、プロセス固有空間についてはプロセスごとに、二次記憶アドレスを仮想二次記憶アドレスとして多重化し、システム開始,ジョブ開始およびプロセス開始において、それぞれ、システム共有空間,ジョブ共有空間およびプロセス固有空間に対して仮想二次記憶アドレスを二次記憶アドレスに変換する仮想二次記憶アドレス変換テーブルを生成し、
ページの共有レベルに対応する仮想二次記憶アドレス変換テーブルを用いて、二次記憶の割当,解放,ページインおよびページアウトを行うことを特徴とする多重仮想記憶システムの二次記憶管理方法。 - システム共有二次記憶ファイルを決定するシステム立ち上げ処理と、
ジョブ共有二次記憶ファイルの個数とプロセス固有二次記憶ファイルの個数とを決定し、二次記憶ファイル管理テーブルを参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順にジョブ共有二次記憶ファイルとして割り当てるジョブ開始処理と、
二次記憶ファイル管理テーブルを参照して、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順にプロセス固有二次記憶ファイルとして割り当て、開始するプロセスに対応する仮想二次記憶アドレス変換テーブルを生成して仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶し、仮想二次記憶アドレス変換テーブルへのポインタをプロセス管理テーブルに記憶するプロセス開始処理と、
該当ページのプロセス識別子および論理アドレスのセグメント番号によりページテーブルを決定し、論理アドレスのページ番号によりページテーブルからページ記述子を取り出し、ページが主記憶に存在する場合は主記憶アドレスを参照して該当ページにアクセスし、ページが二次記憶に存在する場合はハードウエアの例外処理機構からページ不在例外処理が呼び出され、該当ページに割り当てる主記憶を取得し、対応する主記憶管理エントリにページ記述子に記憶されていた仮想二次記憶アドレスを記憶し、ページ記述子に取得した主記憶アドレスを記憶し、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して、ページ記述子に記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して、ページ記述子に記憶されていたスロット番号から、該当ページが存在するスロットの二次記憶装置アドレスを計算し、二次記憶から主記憶にページの内容を読み出し、ページ記述子のページ不在情報をオフにするページイン処理と、
ページから主記憶を取り上げる場合は、ページ記述子から主記憶アドレスを取得し、対応する主記憶管理エントリに記憶されている仮想二次記憶アドレスを得、該当ページに二次記憶が割り当てられていない場合は、事前に二次記憶割当処理を呼び出し、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して、主記憶管理エントリに記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して主記憶管理エントリに記憶されていたスロット番号から該当ページに割り当てられているスロットの二次記憶装置アドレスを計算し、ページ記述子のページ不在情報をオンにして、主記憶から二次記憶装置にページの内容を書き込み、ページ記述子に仮想二次記憶アドレスを記憶し、該当ページに割り当てられていた主記憶を解放するページアウト処理と、
該当プロセスの仮想二次記憶アドレス変換テーブルを参照して、該当ページの共有レベルに対応する仮想二次記憶ファイル番号を1つ選択し、選択した仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して該当ページに割り当てる空きスロットを取得し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、仮想二次記憶ファイル番号と割り当てたスロットのスロット番号とから仮想二次記憶アドレスを計算し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には仮想二次記憶アドレスを主記憶管理エントリに記憶し、該当ページが二次記憶にある場合には仮想二次記憶アドレスをページ記述子に記憶する二次記憶割当処理と、
該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には主記憶管理エントリから仮想二次記憶アドレスを取得し、該当ページが二次記憶にある場合にはページ記述子から仮想二次記憶アドレスを取得し、該当プロセスの仮想二次記憶アドレス変換テーブルを参照して仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルに対して、前記スロット番号が示すスロットを解放し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、主記憶管理エントリに記憶されている仮想二次記憶アドレスを零値に更新し、該当ページに主記憶が割り当てられていない場合は、ページ記述子に記憶されている仮想二次記憶アドレスを零値に更新する二次記憶解放処理と
を含むことを特徴とする多重仮想記憶システムの二次記憶管理方法。 - システム共有二次記憶ファイルを決定し、システム共有空間に対応する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶するシステム立ち上げ処理と、
二次記憶ファイル管理テーブルを参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順に、ジョブ共有二次記憶ファイルとして割り当て、ジョブ共有空間に対応する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶するジョブ開始処理と、
二次記憶ファイル管理テーブルを参照し、システム共有二次記憶ファイルを除いて、使用量の少ない二次記憶ファイルから順にプロセス固有二次記憶ファイルとして割り当て、プロセス固有空間に対応する仮想二次記憶アドレス変換テーブルを生成し、仮想二次記憶ファイル番号と二次記憶ファイル番号との対応を記憶し、システム共有空間,ジョブ共有空間およびプロセス固有空間それぞれの仮想二次記憶アドレス変換テーブルへのポインタをプロセス管理テーブルに記憶するプロセス開始処理と、
該当ページのプロセス識別子および論理アドレスのセグメント番号によりページテーブルを決定し、論理アドレスのページ番号によりページテーブルからページ記述子を取り出し、ページが主記憶に存在する場合は主記憶アドレスを参照して該当ページにアクセスし、ページが二次記憶に存在する場合はハードウエアの例外処理機構からページ不在例外処理が呼び出され、該当ページに割り当てる主記憶を取得し、対応する主記憶管理エントリにページ記述子に記憶されていた仮想二次記憶アドレスを記憶し、ページ記述子に取得した主記憶アドレスを記憶し、空間の共有レベルに対応する仮想二次記憶アドレス変換テーブルを参照して、ページ記述子に記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して、ページ記述子に記憶されていたスロット番号から、該当ページが存在するスロットの二次記憶装置アドレスを計算し、二次記憶から主記憶にページの内容を読み出し、ページ記述子のページ不在情報をオフにするページイン処理と、
ページから主記憶を取り上げる場合は、ページ記述子から主記憶アドレスを取得し、対応する主記憶管理エントリに記憶されている仮想二次記憶アドレスを得、該当ページに二次記憶が割り当てられていない場合は、事前に二次記憶割当処理を呼び出し、空間の共有レベルに対応する仮想二次記憶アドレス変換テーブルを参照して、主記憶管理エントリに記憶されていた仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して主記憶管理エントリに記憶されていたスロット番号から該当ページに割り当てられているスロットの二次記憶装置アドレスを計算し、ページ記述子のページ不在情報をオンにして、主記憶から二次記憶装置にページの内容を書き込み、ページ記述子に仮想二次記憶アドレスを記憶し、該当ページに割り当てられていた主記憶を解放するページアウト処理と、
該当ページの共有レベルに対応する仮想二次記憶アドレス変換テーブルから仮想二次記憶ファイル番号を1つ選択し、選択した仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルを参照して該当ページに割り当てる空きスロットを取得し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、仮想二次記憶ファイル番号と割り当てたスロットのスロット番号とから仮想二次記憶アドレスを計算し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には仮想二次記憶アドレスを主記憶管理エントリに記憶し、該当ページが二次記憶にある場合には仮想二次記憶アドレスをページ記述子に記憶する二次記憶割当処理と、
該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には主記憶管理エントリから仮想二次記憶アドレスを取得し、該当ページが二次記憶にある場合にはページ記述子から仮想二次記憶アドレスを取得し、空間の共有レベルに対応する仮想二次記憶アドレス変換テーブルを参照して仮想二次記憶ファイル番号を二次記憶ファイル番号に変換し、該二次記憶ファイル番号に対応する二次記憶ファイル管理テーブルに対して、前記スロット番号が示すスロットを解放し、二次記憶ファイル管理テーブルのスロット割り当て管理情報を更新し、該当ページが主記憶にあるか否かを判断し、該当ページが主記憶にある場合には、主記憶管理エントリに記憶されている仮想二次記憶アドレスを零値に更新し、該当ページに主記憶が割り当てられていない場合は、ページ記述子に記憶されている仮想二次記憶アドレスを零値に更新する二次記憶解放処理と
を含むことを特徴とする多重仮想記憶システムの二次記憶管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003168757A JP4244716B2 (ja) | 2003-06-13 | 2003-06-13 | 多重仮想記憶システムの二次記憶管理方式および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003168757A JP4244716B2 (ja) | 2003-06-13 | 2003-06-13 | 多重仮想記憶システムの二次記憶管理方式および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005004575A true JP2005004575A (ja) | 2005-01-06 |
JP4244716B2 JP4244716B2 (ja) | 2009-03-25 |
Family
ID=34094103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003168757A Expired - Fee Related JP4244716B2 (ja) | 2003-06-13 | 2003-06-13 | 多重仮想記憶システムの二次記憶管理方式および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4244716B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100412824C (zh) * | 2005-11-07 | 2008-08-20 | 国际商业机器公司 | 多级虚拟存储器页面调度方法及系统 |
JP2019144921A (ja) * | 2018-02-22 | 2019-08-29 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
-
2003
- 2003-06-13 JP JP2003168757A patent/JP4244716B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100412824C (zh) * | 2005-11-07 | 2008-08-20 | 国际商业机器公司 | 多级虚拟存储器页面调度方法及系统 |
JP2019144921A (ja) * | 2018-02-22 | 2019-08-29 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
JP7069811B2 (ja) | 2018-02-22 | 2022-05-18 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4244716B2 (ja) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4250190B2 (ja) | ファイルシステムにおけるオブジェクトの効率的な記憶 | |
US6654772B1 (en) | Multi-volume extent based file system | |
JP6205650B2 (ja) | 不均等アクセス・メモリにレコードを配置するために不均等ハッシュ機能を利用する方法および装置 | |
JP6460497B2 (ja) | ファイルアクセス方法およびファイルアクセス装置、ならびに記憶装置 | |
KR102061079B1 (ko) | 파일 액세스 방법 및 관련 기기 | |
JP2571664B2 (ja) | コンピュータ主記憶域管理システムおよび方法 | |
US8099421B2 (en) | File system, and method for storing and searching for file by the same | |
US6928460B2 (en) | Method and apparatus for performing generational garbage collection in a segmented heap | |
US11861204B2 (en) | Storage system, memory management method, and management node | |
JP2858795B2 (ja) | 実記憶割り当て方法 | |
US20060212495A1 (en) | Method and system for storing data into a database | |
JPH08185275A (ja) | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 | |
CN111522507B (zh) | 一种低延迟的文件系统地址空间管理方法、系统及介质 | |
JP2003114816A (ja) | コンピュータメモリにインデックスを記憶するデータ構造 | |
JP2003030025A (ja) | 動的に生成されるウエブページのための仮想ファイルシステム | |
CN115599544A (zh) | 内存管理方法、装置、计算机设备及存储介质 | |
CN113535330A (zh) | 一种基于节点评价函数的超融合系统数据本地化存储方法 | |
JP2005537557A (ja) | 動的メモリ管理 | |
KR100907477B1 (ko) | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 | |
CN117473117A (zh) | 一种视频循环存储方法、系统及计算机 | |
JP4244716B2 (ja) | 多重仮想記憶システムの二次記憶管理方式および方法 | |
US7437528B1 (en) | Gang blocks | |
CN109871355B (zh) | 一种快照元数据存储方法、装置及设备、介质 | |
JP2920660B2 (ja) | ガーベッジコレクションシステムにおけるアクセス可能なオブジェクトの判別方法 | |
US7130857B2 (en) | Method for accessing a memory unit in which sequences of notes are stored, corresponding memory unit and corresponding program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050124 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050314 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050616 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070118 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080812 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081010 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081229 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |