(57)【要約】データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムであって、入出力装置と計算機は仮想アドレスを実アドレスに変換するためのアドレス変換表を備え、計算機は全ての入出力装置へページアウト処理やプロセスの消滅に伴う仮想アドレス空間の削除処理やページの変更処理等のページ操作の許可を要求し、入出力装置は計算機からの要求に応じてアドレス変換表の操作を行うとともに計算機へページ操作の許可を通知し、計算機は全ての入出力装置からページ操作の許可が得られた場合にアドレス変換表の操作を行うとともにページ操作を行う。
2004102401.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶を持つ計算機のメモリと媒体との間のデータの転送を行う入出力装置であって、
仮想アドレスを実アドレスに変換するために計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、
前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、
前記実アドレスを用いてデータの転送を行うデータ転送部と、
前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部と
を備えてなる入出力装置。
【請求項２】
請求の範囲第１項に記載の入出力装置において、
前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする入出力装置。
【請求項３】
請求の範囲第１項に記載の入出力装置において、
さらに、前記入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記計算機からの要求に応じて前記計算機へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え、
前記ページ操作許可部は、前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へ前記ページアウト処理の許可を通知することを特徴とする入出力装置。
【請求項４】
仮想記憶を用いてプロセスを制御するとともに、入出力装置を介して媒体との間のデータの入出力を行う計算機であって、
データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、
前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、
全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部と
を備えてなる計算機。
【請求項５】
請求の範囲第４項に記載の計算機において、
前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする計算機。
【請求項６】
請求の範囲第４項に記載の計算機において、
さらに、前記計算機からメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供する計算機アクセス情報管理部と、
前記計算機アクセス情報管理部から計算機アクセス情報を取得し、入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置から取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するページアウト対象選別部と
を備えたことを特徴とする計算機。
【請求項７】
請求の範囲第６項に記載の計算機において、
前記ページアウト対象選別部は、前記重要度を算出する際に、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とする計算機。
【請求項８】
データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムであって、
前記入出力装置は、
仮想アドレスを実アドレスに変換するために前記計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、
前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、
前記実アドレスを用いてデータの転送を行うデータ転送部と、
前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部と、
を備え、
前記計算機は、
データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、
前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、
全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部と
を備えた計算機システム。
【請求項９】
請求の範囲第８項に記載の計算機システムにおいて、
前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする計算機システム。
【請求項１０】
請求の範囲第８項に記載の計算機システムにおいて、
さらに、前記入出力装置は、前記入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記計算機からの要求に応じて前記計算機へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え、
前記ページ操作許可部は、前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へ前記ページアウト処理の許可を通知することを特徴とする計算機システム。
【請求項１１】
請求の範囲第８項に記載の計算機システムにおいて、
さらに、前記計算機は、前記計算機からメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供する計算機アクセス情報管理部と、
前記計算機アクセス情報管理部から計算機アクセス情報を取得し、入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置から取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するページアウト対象選別部と
を備えたことを特徴とする計算機システム。
【請求項１２】
請求の範囲第１１項に記載の計算機システムにおいて、
前記ページアウト対象選別部は、前記重要度を算出する際に、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とする計算機システム。
【請求項１３】
仮想記憶を持つＯＳにおいてメモリと媒体との間のデータの転送を行うために入出力装置により読取可能な媒体に記憶された入出力制御プログラムであって、
仮想アドレスを実アドレスに変換するために前記ＯＳから提供されるプロセス毎のアドレス変換表を保持するステップと、
前記媒体から入力されたデータを解析し、解析結果を前記ＯＳへ提供するステップと、
前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
前記実アドレスを用いてデータの転送を行うステップと、
前記ＯＳからの要求に応じて前記アドレス変換表の操作を行うとともに、前記ＯＳへページ操作の許可を通知するステップと
を入出力装置に実行させる入出力制御プログラム。
【請求項１４】
請求の範囲第１３項に記載の入出力制御プログラムにおいて、
前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする入出力制御プログラム。
【請求項１５】
請求の範囲第１３項に記載の入出力制御プログラムにおいて、
さらに、前記入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記ＯＳからの要求に応じて前記ＯＳへ前記入出力装置アクセス状況を提供するステップを備え、
前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記アドレス変換表の操作の指示を行うとともに、前記ＯＳへ前記ページアウト処理の許可を通知することを特徴とする入出力制御プログラム。
【請求項１６】
仮想記憶を用いて、プロセスを制御するとともに、入出力制御プログラムを介して媒体との間のデータの入出力を行うために計算機により読取可能な媒体に記憶されたＯＳであって、
データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、
前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、
計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
全ての前記入出力制御プログラムへページ操作の許可を要求するステップと
全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップと
を計算機に実行させるＯＳ。
【請求項１７】
請求の範囲第１６項に記載のＯＳにおいて、
前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とするＯＳ。
【請求項１８】
請求の範囲第１６項に記載のＯＳにおいて、
さらに、前記ＯＳからメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供するステップと、
前記計算機アクセス情報を取得し、入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力制御プログラムから取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するステップと
を備えたことを特徴とするＯＳ。
【請求項１９】
請求の範囲第１８項に記載のＯＳにおいて、
前記重要度を算出する際に、予め与えられた各入出力制御プログラムの重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とするＯＳ。
【請求項２０】
データの転送を行う入出力制御プログラムと、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行うＯＳとを備えてなるページ管理プログラムであって、
前記入出力制御プログラムは、
仮想アドレスを実アドレスに変換するために前記ＯＳから提供されるプロセス毎のアドレス変換表を保持するステップと、
前記媒体から入力されたデータを解析し、解析結果を前記ＯＳへ提供するステップと、
前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
前記実アドレスを用いてデータの転送を行うステップと、
前記ＯＳからの要求に応じて前記アドレス変換表の操作の指示を行うとともに、前記ＯＳへページ操作の許可を通知するステップと、
前記ＯＳからの要求に応じて前記アドレス変換表の操作を行うステップと、
を備え、
前記ＯＳは、
データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、
前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、
全ての前記入出力制御プログラムへページ操作の許可を要求するステップと
全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップと
を備えたページ管理プログラム。
【請求項２１】
請求の範囲第２０項に記載のページ管理プログラムにおいて、
前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とするページ管理プログラム。
【請求項２２】
請求の範囲第２０項に記載のページ管理プログラムにおいて、
さらに、前記入出力制御プログラムは、前記入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記ＯＳからの要求に応じて前記ＯＳへ前記入出力装置アクセス状況を提供するステップを備え、
前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記アドレス変換表の操作の指示を行うとともに、前記ＯＳへ前記ページアウト処理の許可を通知することを特徴とするページ管理プログラム。
【請求項２３】
請求の範囲第２０項に記載のページ管理プログラムにおいて、
さらに、前記ＯＳは、前記ＯＳからメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供するステップと、
前記計算機アクセス情報を取得し、入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力制御プログラムから取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するステップと
を備えたことを特徴とするページ管理プログラム。
【請求項２４】
請求の範囲第２３項に記載のページ管理プログラムにおいて、
前記重要度を算出する際に、予め与えられた各入出力制御プログラムの重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とするページ管理プログラム。
【請求項２５】
データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムにおけるページ管理方法であって、
前記計算機において前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供するステップと、
前記入出力装置において前記計算機から提供されるプロセス毎のアドレス変換表を保持するステップと、
前記入出力装置において前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供するステップと、
データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、
前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
前記実アドレスを用いてデータの転送を行うステップと、
前記計算機において全ての前記入出力装置へページ操作の許可を要求するステップと、
前記入出力装置において前記計算機からの要求に応じて前記アドレス変換表の操作を行うとともに、前記計算機へページ操作の許可を通知するステップと、
前記計算機において全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップと
を備えたページ管理方法。
【発明の詳細な説明】
【技術分野】  本発明は、仮想記憶を持つ計算機システムにおいて、メモリ領域に対して仮想アドレスを用いる入出力を行う場合に、入出力装置側にページアウト処理やプロセスの消滅に伴う仮想アドレス空間の削除処理やページの変更処理等のページ操作の権限を持たせることを実現する入出力装置、計算機、計算機システム、入出力制御プログラム、ＯＳ、ページ管理プログラム、及びページ管理方法に関するものである。
【背景技術】  初めに、計算機システムの構成について説明する。第８図は、計算機システムの構成の一例を示すブロック図である。第８図に示す計算機システムは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１とメモリ２からなる計算機と、入出力装置（ディスクコントローラ）４と、入出力装置（ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ））５と、ディスク３と、通信路６から構成される。
ＣＰＵ１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）を実行することにより計算機の制御を行う。入出力装置４，５は媒体とデータの入出力を行う装置であり、入出力制御プログラムを実行することにより入出力処理を行う。ここで、媒体とはディスク３と通信路６である。入出力装置４はメモリ２とディスク３の間でデータの入出力を行う装置であり、入出力装置５はメモリ２と通信路６の間でデータの入出力を行う装置である。また、計算機システムは仮想記憶を行うものとする。ここで、仮想記憶を行う記憶装置は主記憶装置と外部記憶装置からなり、主記憶装置はメモリ２であり、外部記憶装置はディスク３である。
仮想記憶を持つ計算機システムにおいて、プロセスは仮想アドレスを用いてアクセスするメモリ領域の指定を行う。このため、ＯＳは、仮想アドレスを用いて記憶装置の記憶領域を管理している。
ここで、実アドレスと仮想アドレスについて説明する。実アドレスは、記憶装置に割り当てられるアドレスである。仮想アドレスは、実アドレスの代わりに、プロセスや入出力制御プログラムが用いるアドレスであり、必要に応じてＯＳがアドレス変換表を用いて実アドレスに変換することにより、記憶装置の実アドレスにおける読み書きが行われる。アドレス変換表は、仮想アドレスと実アドレスを対応づける表である。アドレス変換表において、仮想アドレスに対応する実アドレスが物理ページを示す場合、仮想アドレスに対応するページがページインされていることを表す。物理ページとは、ページのうちメモリ上に実在するページのことである。また、仮想アドレスに対応する実アドレスがディスクのスワップ領域の識別子である場合、仮想アドレスに対応するページがページアウトされていることを表す。また、仮想アドレスに対応する実アドレスがＮＵＬＬの場合、仮想アドレスに対応するページの実体がないことを表す。
一方、入出力装置は、メモリ領域に対してアクセスする際に実アドレスを用いてメモリ領域の指定を行う。このため、プログラムが指定するメモリ領域に対して、入出力装置がデータの入出力を行う場合には、以下に示す２つの入出力方法のうち、いずれかを用いる必要がある。
まず第１の入出力方法について説明する。ＯＳは、ＯＳ初期化時にページアウトされない入出力専用のメモリ領域である入出力専用領域を用意し、入出力専用領域の実アドレスを入出力制御プログラムに通知する。入出力制御プログラムは、通知された入出力専用領域のみを用いて入出力を行う。
入出力装置が出力を行う場合、ＣＰＵはプログラムが指定するメモリ領域から入出力専用領域に出力データをコピーし、入出力制御プログラムは入出力専用領域から出力データを読み込む。一方、入出力装置が入力を行う場合、入出力制御プログラムは入出力専用領域に入力データを書き込み、ＣＰＵは入出力専用領域からプログラムが指定するメモリ領域に入力データをコピーする。
次に第２の入出力方法について説明する。ＯＳは、入出力処理毎にデータの入出力に用いるメモリ領域を含むページをページアウトされないようにピンダウン（ページロック）し、このメモリ領域の実アドレスを入出力制御プログラムに通知する。入出力制御プログラムは、直接このメモリ領域に対して入出力を行う。
第２の入出力方法においてピンダウンする理由は以下の通りである。まず、仮想記憶を行う計算機システムでは、仮想アドレス空間上の記憶領域に対して、常に物理ページが存在するとは限らない。また、仮想アドレスと実アドレスの対応が変わることがある。しかし、全メモリ領域のピンダウンを行うと、物理ページが不足した場合に、ページアウト処理によるメモリ領域の拡張ができない。従って、ピンダウン可能な物理ページ量は、ある程度制限される。このため、基本的には入出力処理毎にピンダウンする必要がある。
多くの計算機システムには、上述した第１の入出力方法が実装されている。その理由は、データの入出力にかかる時間に対し、入出力データをメモリ内でコピーする時間は短いため、コピー処理が性能面で大きなオーバヘッドとはならないためである。また、第２の入出力方法のように、入出力処理が発生する度にピンダウンすると入出力処理が繁雑になるためである。
一方、高速な入出力装置、特に１Ｇｂｐｓを越える高速な通信路では、入出力にかかる時間に対し、入出力データのコピーのオーバヘッドが大きいため、第２の入出力方法によりデータ転送を実装する例がある。
実現例として、高速な通信路の一つであるＭｙｒｉｎｅｔの通信ライブラリであるＰＭライブラリ（参考文献１）がある。ＰＭライブラリでは、第２の入出力方法に加え、ピンダウンしたメモリ領域を入出力後すぐに解放せずにキャッシュしておくことでピンダウン処理回数を削減したり、データ受信等の入力処理が可能なメモリ領域をあらかじめピンダウンするという制約を与えることで割り込み発生を抑止したりしている（参考文献２）。
参考文献１：手塚宏史，堀敦史，石川裕：ワークステーションクラスタ通信ライブラリＰＭの設計と実装，並列処理シンポジウムＪＳＰＰ’９６，ｐｐ．４１−４８（１９９６）．
参考文献２：Ｈ．Ｔｅｚｕｋａ，Ｆ．’Ｃａｒｒｏｌｌ，Ａ．Ｈｏｒｉ，ａｎｄ  Ｙ．Ｉｓｈｉｋａｗａ，″Ｐｉｎ−ｄｏｗｎ  Ｃａｃｈｅ：Ａ  Ｖｉｒｔｕａｌ  Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｚｅｒｏ−ｃｏｐｙ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ″，Ｆｉｒｓｔ  Ｍｅｒｇｅｄ  Ｓｙｍｐｏｓｉｕｍ  ＩＰＰＳ／ＳＰＤＰ  １９９８  １２ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｓｙｍｐｏｓｉｕｍ  ＆  ９ｔｈ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｐａｒａｌｌｅｌ  ａｎｄ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｐｒｏｃｅｓｓｉｎｇ，１９９８．
従来の技術では、ＯＳがアドレス変換表の管理情報を持つ。すなわち、各ページのページインやページアウトといったページ操作や、ピンダウンやピンダウン解除といったページ管理は、ＯＳが主導的に管理している。このため入出力装置側からは、仮想アドレスで指定される入出力対象となるメモリ領域がどの実アドレスを持つページに相当するか、また、現在実アドレスが物理ページに割り当てられているか否か、を検知することは一般に困難である。このため、上述した第１の入出力方法や第２の入出力方法を用いる必要があった。
しかしながら、第１の入出力方法には以下の問題点がある。まず、特に高速な入出力装置を用いて入出力を行う場合に、第１の入出力方法で行われるコピー処理は、入出力にかかる時間に対して入出力データのコピーのオーバヘッドが大きいことが重大な問題となる。また、一度に入出力しようとするデータの大きさが入出力専用領域の大きさよりも大きい場合は、複数回に分けてデータを転送する必要がある。
また、第２の入出力方法には以下の問題点がある。まず、基本的には入出力処理毎にピンダウン処理が発生する。また、入出力装置側から入出力の要求が発生する場合には、ＯＳに対してピンダウン処理を依頼するために一般的には割り込みを発生させる必要がある。
また、多くの計算機システムではページアウト処理を行う際、ページに対する計算機のアクセス状況を記録した計算機アクセス情報を取得し、計算機アクセス情報に従って各ページの重要度を与え、重要度の低いページからページアウトの対象として選別する。しかし、ページに対する入出力装置のアクセス状況は考慮されないため、入出力装置のアクセス状況に従ってページアウトの対象を選別することはできない。
本発明は、このような問題を解決するためになされたものであり、ピンダウン処理のオーバヘッドを削減し、さらにページに対する入出力装置のアクセス状況を反映させてページアウトの対象となるページの選別を行うことにより、ページアウト処理実行後における計算機システムの性能の向上をはかることができる入出力装置、計算機、計算機システム、入出力制御プログラム、ＯＳ、ページ管理プログラム、及びページ管理方法を提供することを目的とする。
【発明の開示】
本発明は、仮想記憶を持つ計算機のメモリと媒体との間のデータの転送を行う入出力装置であって、仮想アドレスを実アドレスに変換するために計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、前記実アドレスを用いてデータの転送を行うデータ転送部と、前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部とを備えてなるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明に係る入出力装置において、さらに、前記入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記計算機からの要求に応じて前記計算機へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え、前記ページ操作許可部は、前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へ前記ページアウト処理の許可を通知することを特徴とするものである。
このような構成によれば、従来計算機が入出力処理毎に行っていたページアウト処理について、入出力装置がページアウト処理の許可を判定することにより、入出力処理毎のピンダウン処理のオーバヘッドを削減することができる。また、入出力装置からページへのアクセス状況を反映してページアウトするページを選別することにより、入出力装置からのアクセスが頻発しているページがページアウトされるのを防ぐことができる。
また、本発明は、仮想記憶を用いてプロセスを制御するとともに、入出力装置を介して媒体との間のデータの入出力を行う計算機であって、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部と、を備えてなるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明に係る計算機において、さらに、前記計算機からメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供する計算機アクセス情報管理部と、前記計算機アクセス情報管理部から計算機アクセス情報を取得し、入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置から取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するページアウト対象選別部とを備えたことを特徴とするものである。
このような構成によれば、計算機アクセス情報に加えて、入出力装置アクセス情報を反映してページアウト処理の対象を選別することにより、重要度の低いページが選択的にページアウトされるので、システム全体の性能を向上させることができる。
また、本発明に係る計算機において、前記ページアウト対象選別部は、前記重要度を算出する際に、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とするものである。
このような構成によれば、例えば頻繁に使用される入出力装置に大きく重み付けを行うことにより、ページアウト対象選別の信頼性を向上させることができる。
また、本発明は、データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムであって、前記入出力装置は、仮想アドレスを実アドレスに変換するために前記計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、前記実アドレスを用いてデータの転送を行うデータ転送部と、前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部とを備え、前記計算機は、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部とを備えたものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明に係る計算機システムにおいて、前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とするものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、仮想記憶を持つＯＳにおいてメモリと媒体との間のデータの転送を行うために入出力装置により読取可能な媒体に記憶された入出力制御プログラムであって、仮想アドレスを実アドレスに変換するために前記ＯＳから提供されるプロセス毎のアドレス変換表を保持するステップと、前記媒体から入力されたデータを解析し、解析結果を前記ＯＳへ提供するステップと、前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記実アドレスを用いてデータの転送を行うステップと、前記ＯＳからの要求に応じて前記アドレス変換表の操作を行うとともに、前記ＯＳへページ操作の許可を通知するステップとを入出力装置に実行させるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、仮想記憶を用いて、プロセスを制御するとともに、入出力制御プログラムを介して媒体との間のデータの入出力を行うために計算機により読取可能な媒体に記憶されたＯＳであって、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、全ての前記入出力制御プログラムへページ操作の許可を要求するステップと全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップとを計算機に実行させるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、データの転送を行う入出力制御プログラムと、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行うＯＳとを備えてなるページ管理プログラムであって、前記入出力制御プログラムは、仮想アドレスを実アドレスに変換するために前記ＯＳから提供されるプロセス毎のアドレス変換表を保持するステップと、前記媒体から入力されたデータを解析し、解析結果を前記ＯＳへ提供するステップと、前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記実アドレスを用いてデータの転送を行うステップと、前記ＯＳからの要求に応じて前記アドレス変換表の操作の指示を行うとともに、前記ＯＳへページ操作の許可を通知するステップと、前記ＯＳからの要求に応じて前記アドレス変換表の操作を行うステップとを備え、前記ＯＳは、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、全ての前記入出力制御プログラムへページ操作の許可を要求するステップと全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップとを備えたものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムにおけるページ管理方法であって、前記計算機において前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供するステップと、前記入出力装置において前記計算機から提供されるプロセス毎のアドレス変換表を保持するステップと、前記入出力装置において前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供するステップと、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記実アドレスを用いてデータの転送を行うステップと、前記計算機において全ての前記入出力装置へページ操作の許可を要求するステップと、前記入出力装置において前記計算機からの要求に応じて前記アドレス変換表の操作を行うとともに、前記計算機へページ操作の許可を通知するステップと、前記計算機において全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップとを備えたものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
【図面の簡単な説明】  第１図は、本発明のページ管理プログラムの機能の構成例を示すブロック図である。
第２図は、ページアウト処理におけるＯＳの動作の一例を示すフローチャートである。
第３図は、ページアウト処理における入出力制御プログラムの動作の一例を示すフローチャートである。
第４図は、アクセス情報記録表の一例を示す図である。
第５図は、アクセス情報の記録の一例を示すフローチャートである。
第６図は、仮想アドレス空間削除処理におけるＯＳと入出力制御プログラムの動作の一例を示すシーケンス図である。
第７図は、アドレス変換表変更処理におけるＯＳと入出力制御プログラムの動作の一例を示すシーケンス図である。
第８図は、計算機システムの構成の一例を示すブロック図である。
【発明を実施するための最良の形態】  以下、本発明の実施の形態について図面を参照して詳細に説明する。第１図は、本発明のページ管理プログラムの機能の構成例を示すブロック図である。ページ管理プログラムは、入出力制御プログラム１０とＯＳ２０からなる。入出力制御プログラム１０は、データ転送部１１と入力データ解析部１２と入出力装置アドレス変換部１３と入出力装置アクセス情報管理部１４とページ操作許可部１５と媒体入出力部１６とメモリ入出力部１７からなる。ＯＳ２０は、入出力領域指定部２１と計算機アドレス変換部２２と計算機アクセス情報管理部２３とページアウト対象選別部２４とページ操作部２５からなる。計算機システムにおける各入出力装置は、それぞれ入出力制御プログラム１０を備える。
媒体入出力部１６は、ディスクや通信路等の媒体においてデータの読み込みと書き込みを行う。また、メモリ入出力部１７は、メモリ２においてデータの読み込みと書き込みを行う。入出力装置アドレス変換部１３と計算機アドレス変換部２２は、同じ内容のアドレス変換表を保持する。各プロセスはそれぞれ仮想アドレス空間を持ち、アドレス変換表はプロセス単位で生成される。すなわち、プロセスが２つ存在する場合はアドレス変換表も２つ存在する。
次に、入出力制御プログラム１０とＯＳ２０の動作について説明する。まず、入力処理について説明する。データ転送部１１は、媒体入出力部１６を介して受信した入力データのヘッダ情報等を、入力データ解析部１２へ出力する。入力データ解析部１２はヘッダ情報等の解析を行い、解析結果を入出力領域指定部２１へ出力する。入出力領域指定部２１は解析結果に応じて、入力データを書き込むメモリ領域を仮想アドレスで指定し、入出力装置アドレス変換部１３へ通知する。入出力装置アドレス変換部１３は、アドレス変換表を参照して指定された仮想アドレスを実アドレスに変換し、データ転送部１１と入出力装置アクセス情報管理部１４へ渡す。データ転送部１１はメモリ入出力部１７を介して、指定された実アドレスへ入力データを書き込む。同時に、入出力装置アクセス情報管理部１４は指定された実アドレスを含むページ毎に、入出力装置によるアクセスの時刻を入出力装置アクセス情報として入出力装置アクセス情報記録表へ記録する。
次に、出力処理について説明する。入出力領域指定部２１は、出力データを読み込むメモリ領域を仮想アドレスで指定し、入出力装置アドレス変換部１３へ通知する。入出力装置アドレス変換部１３は、指定された仮想アドレスを実アドレスに変換し、データ転送部１１と入出力装置アクセス情報管理部１４へ渡す。データ転送部１１はメモリ入出力部１７を介して、指定された実アドレスから出力データを読み込み、媒体入出力部１６を介して媒体へ出力データを出力する。同時に、入出力装置アクセス情報管理部１４は指定された実アドレスを含むページ毎に、入出力装置によるアクセスの時刻を入出力装置アクセス情報として入出力装置アクセス情報記録表へ記録する。
次に、ＯＳ２０が行うページ操作について説明する。ＯＳ２０はページ操作として、アドレス変換表への物理ページの登録、アドレス変換表からの物理ページの削除、及びアドレス変換表の変更を行うことができる。以下、ページ操作のそれぞれの動作について詳細に説明する。
まず、アドレス変換表への物理ページの登録について説明する。ページアウトされている記憶領域をページインする場合や、物理ページが割り当てられていないページにページを新規に割り当てる場合、アドレス変換表へ物理ページの登録が行われる。この場合、ページ操作部２５は物理ページを確保し、計算機アドレス変換部２２に対し、物理ページの登録の指示を行う。計算機アドレス変換部２２は、アドレス変換表の該当ページの実アドレスに物理ページを登録する。この時、入出力装置アドレス変換部１３のアドレス変換表は更新しない。
入出力装置アドレス変換部１３は、アドレス変換表を参照した時、実アドレスに物理ページが登録されており、さらに読み込みと書き込みの操作が許可されている場合は対象メモリ領域に対する入出力処理を行うが、実アドレスに物理ページが登録されていない場合や書き込み不可の場合は割り込みを発生させ、計算機アドレス変換部２２に問い合わせを行う。
計算機アドレス変換部２２は、当該記憶領域がページアウトされている場合はページインし、その結果得られた実アドレスを入出力装置アドレス変換部１３に通知する。また、当該記憶領域に物理ページが割り当てられていない場合は物理ページを割り当て、その結果得られた実アドレスを入出力装置アドレス変換部１３に通知する。また、当該記憶領域にページが既に存在する場合は実アドレスを入出力装置アドレス変換部１３に通知する。また、当該記憶領域がメモリ保護上等の理由から書き込み不可の場合は書き込み不可であることを入出力装置アドレス変換部１３に通知し、コピーオンライト操作の対象記憶領域の場合はコピーオンライト操作を行い、その結果得られた実アドレスを入出力装置アドレス変換部１３に通知する。
次に、アドレス変換表からの物理ページの削除について説明する。物理ページの削除には、ページアウト処理と仮想アドレス空間の削除の２つがある。まず、ページアウト処理を行う場合について第２図と第３図を用いて説明する。第２図は、ページアウト処理におけるＯＳの動作の一例を示すフローチャートである。第３図は、ページアウト処理における入出力制御プログラムの動作の一例を示すフローチャートである。
ページ操作部２５はメモリに空きがなくなるとページアウトを行う。この時、ページアウトの対象が決定されていない場合（Ｓ１，Ｎｏ）、ページアウト対象選別部２４は各入出力制御プログラム１０の入出力装置アクセス情報管理部１４へアクセス情報の要求を行う（Ｓ２）。
アクセス情報を要求された入出力装置アクセス情報管理部１４は（Ｓ１１，Ｙｅｓ）、ページアウト対象選別部２４へ入出力装置アクセス情報を送信する（Ｓ１２）。アクセス情報を要求されない場合（Ｓ１１，Ｎｏ）、処理Ｓ１３へ移行する。
次にページアウト対象選別部２４は、各入出力制御プログラム１０の入出力装置アクセス情報管理部１４から入出力装置アクセス情報を取得する（Ｓ３）。次にページアウト対象選別部２４は、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行い、重み付けされた各入出力装置アクセス情報と、計算機アクセス情報とを用いて各ページの重要度の算出を行う。ここで、計算機アクセス情報管理部２３は、入出力装置アクセス情報管理部１４と同様の手順で、計算機アドレス変換部２２で得られる計算機によるアクセスの時刻を計算機アクセス情報として計算機アクセス情報記録表に記録している。
ページアウト対象選別部２４は、ページアウトしたいメモリ領域分だけ、重要度が低いページからページアウト対象として選別し（Ｓ４）、ページ操作部２５へ出力する。ページ操作部２５は、ページアウトの対象となるページが決定されると（Ｓ１，Ｙｅｓ）。各入出力制御プログラム１０のページ操作許可部１５に、ページアウトの許可の要求を行う（Ｓ５）。
ページアウトの許可を要求されたページ操作許可部１５は（Ｓ１３，Ｙｅｓ）、入出力装置アクセス情報管理部１４から該当ページの重要度を取得し、重要度が所定の基準値を超えるか否かの判断を行う（Ｓ１４）。入出力装置アクセス情報管理部１４は、ページ操作許可部１５から該当ページの重要度を要求された場合、入出力装置アクセス情報を用いて該当ページに対する重要度を算出し、ページ操作許可部１５へ渡す。
重要度が基準値を超えない場合（Ｓ１４，Ｎｏ）、ページ操作許可部１５は入出力装置アドレス変換部１３に対し、該当するエントリの削除の指示を行う。入出力装置アドレス変換部１３がアドレス変換表から該当するエントリを削除した後（Ｓ１５）、ページ操作許可部１５はページ操作部２５へページアウトの許可を通知し（Ｓ１６）、このフローを終了する。一方、重要度が基準値を超えた場合（Ｓ１４，Ｙｅｓ）、ページ操作許可部１５はページ操作部２５へページアウトの不許可を通知し（Ｓ１７）、このフローを終了する。
全ての入出力制御プログラム１０からページアウトの許可を取得した場合（Ｓ６，Ｙｅｓ）、ページ操作部２５は計算機アドレス変換部２２に対し、該当するエントリの削除の指示を行う。計算機アドレス変換部２２がアドレス変換表から該当するエントリを削除した後、ページ操作部２５はページアウト処理を行い（Ｓ７）、このフローを終了する。一方、全ての入出力制御プログラム１０からページアウトの許可を取得できなかった場合（Ｓ６，Ｎｏ）、ページ操作部２５はページアウト処理を行わず、このフローを終了する。
次に、上述したアクセス情報の記録の一例について説明する。アクセス情報記録表は、所定の時刻を基準として各ページの入出力処理の時刻をｎ個まで保持するものである。第４図は、アクセス情報記録表の一例を示す図であり、ページ毎に５個の時刻を保持するアクセス情報記録表である。
第５図は、アクセス情報の記録の一例を示すフローチャートである。まず、ページの入出力操作が行われると、現在時刻を取得する（Ｓ２１）。次に、その時刻を記録するエントリを決定する（Ｓ２２）。ここで、前回の時刻を記録したエントリをｐとすると、今回の時刻を記録するエントリｑはｐ＋１で決定される。
前回の時刻を記録したエントリｐがアクセス情報記録表の最終エントリＭＡＸ以内であった場合（Ｓ２３，Ｎｏ）、ｑが指し示すエントリに今回の時刻を記録し（Ｓ２５）、このフローを終了する。一方、前回の時刻を記録したエントリｐがアクセス情報記録表の最終エントリＭＡＸであった場合、（Ｓ２３，Ｙｅｓ）、今回の時刻を記録するエントリｑを１とし（Ｓ２４）、処理Ｓ２５へ移行する。
以上のフローに従って時刻を記録すると、例えば第４図では、前回エントリ１に記録した場合は、エントリ２に記録することになり。前回エントリ５に記録した場合は、エントリ１に記録することになる。すなわち、５つ前に記録した時刻は上書きされる。
次に、上述したページの重要度の算出の一例について説明する。まず、現在時刻ｔ０を取得する。次に、着目するページのアクセス情報として記録された各時刻ｔｉについて、評価関数を用いて重要度の値を算出し、各時刻に関する重要度の値を累積する。ここでｉは時刻を記録したエントリの数を示す。例えば、第４図に示すページ０×０１は、時刻を記録したエントリを５個持つ。また、評価関数ｆを用いた重要度の値は、ｆ（ｔｉ−ｔ０）により算出される。なお、評価関数ｆは、ｘ軸が負の領域で単調に増加し、正の値をとる関数を用いる。評価関数は、例えばｆ（ｘ）＝ｅｘｐ（ｘ）、ｆ（ｘ）＝−１／ｘである。第４図に示すページ０×０１を例に挙げると、エントリ１〜５までの時刻についてｆ（ｔｉ−ｔ０）を算出し、その結果を全て累積することにより、ページ０×０１の重要度が算出される。複数のページの重要度が必要な場合には、全ページに対して重要度の算出を行う。
以上のように、全ての入出力装置から許可を取得した場合にのみ、ＯＳはページアウト処理を行うため、入出力装置が持つアドレス変換表が不正な値を持つことを防ぐことができる。また、入出力装置アクセス情報に基づいてページアウトの対象となるページを決定することにより、計算機アクセス情報だけから判断すれば重要度が低いページであっても、入出力装置からのアクセスが頻発している場合に、入出力装置からのメモリへのアクセスによる性能低下を防止することが可能になる。また、より重要度の低いページをページアウトすることが可能になり、計算機システム全体の性能を向上させることが可能になる。
なお、本実施の形態では、ページアウト対象選別部２４が、重み付けされた各入出力装置アクセス情報と、計算機アクセス情報とを用いて各ページの重要度の算出を行うとしたが、アクセス情報を要求された場合に、入出力装置アクセス情報管理部１４と計算機アクセス情報管理部２３それぞれが、自己のアクセス情報を用いて各ページの重要度を算出し、重要度が所定値を超えないページを集めて低重要度ページ情報とし、ページアウト対象選別部２４へ送信するようにしても良い。
また、本実施の形態では、ページの重要度が基準値を超えない場合にページアウトを許可するとしたが、許可の要求を受けた時点で、該当するページの重要度は基準値を超えないが、該当するページがアクセス中である場合は、遅延してページアウトを許可するとしても良い。
次に、アドレス変換表からの物理ページの削除のうち、プロセスの消滅による仮想アドレス空間の削除を行う場合について説明する。第６図は、仮想アドレス空間削除処理におけるＯＳと入出力制御プログラムの動作の一例を示すシーケンス図である。
ＯＳのページ操作部２５はあるプロセスが消滅すると、各入出力制御プログラム１０のページ操作許可部１５へ、該当する仮想アドレス空間の削除要求を行う（Ｓ１１１）。
削除要求を受けたページ操作許可部１５は、入出力装置アドレス変換部１３に対し、該当する仮想アドレス空間に対するアドレス変換表の削除の指示を行う。次に入出力装置アドレス変換部１３は、該当するアドレス変換表を削除する（Ｓ１１２）。次にページ操作許可部１５は、ページ操作部２５へ仮想アドレス空間の削除許可を通知する（Ｓ１１３）。
ページ操作部２５は、全ての入出力制御プログラム１０から仮想アドレス空間の削除許可を取得すると、計算機アドレス変換部２２に対し、該当する仮想アドレス空間に対するアドレス変換表の削除の指示を行う。計算機アドレス変換部２２が該当するアドレス変換表を削除し（Ｓ１１４）、ページ操作部２５は該当する仮想アドレス空間を削除し（Ｓ１１５）、このシーケンスを終了する。
以上のように、全ての入出力装置から許可を取得した場合にのみ、ＯＳはアドレス変換表の削除を行うため、仮想アドレス空間消滅時において、入出力装置が持つアドレス変換表とＯＳが持つアドレス変換表との不整合を防止することが可能になる。
次に、アドレス変換表の変更を行う場合について説明する。第７図は、アドレス変換表変更処理におけるＯＳと入出力制御プログラムの動作の一例を示すシーケンス図である。
コピーオンライト処理等により対応する実アドレスが変更される場合や、ページへの保護属性（書き込み可または不可）の情報が変更された場合、ＯＳのページ操作部２５は、入出力制御プログラムのページ操作許可部１５へアドレス変換表の変更要求を行う（Ｓ１２１）。
変更要求を受けたページ操作許可部１５は、入出力装置アドレス変換部１３に対し、アドレス変換表のうち該当するエントリの変更の指示を行う。次に入出力装置アドレス変換部１３は、アドレス変換表の変更を行う（Ｓ１２２）。次にページ操作許可部１５は、ページ操作部２５へ変更許可を通知する（Ｓ１２３）。
ページ操作部２５は、全ての入出力制御装置から変更許可を取得すると、計算機アドレス変換部２２に対し、アドレス変換表のうち該当するエントリの変更の指示を行う。計算機アドレス変換部２２がアドレス変換表の変更を行い（Ｓ１２４）、ページ操作部２５はアドレス変換表の変更に伴う変更処理を行い（Ｓ１２５）、このシーケンスを終了する。
以上のように、全ての入出力装置から許可を取得した場合にのみ、ＯＳはアドレス変換表の変更を行うため、アドレス変換表の変更時において、入出力装置が持つアドレス変換表とＯＳが持つアドレス変換表との不整合を防止することが可能になる。
【産業上の利用の可能性】
以上説明したように本発明によれば、入出力装置がＯＳに対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。また、ＯＳに対してピンダウン処理を依頼することなしに、入出力装置のアドレス変換表が持つ実アドレスは常に正しいことが保証される。また、入出力装置アクセス情報を反映してページアウト処理の対象を選別することにより、重要度の低いページが選択的にページアウトされるので、システム全体の性能を向上させることができる。
また、従来の方式では、ＯＳがページ操作を主導的に行い、ページ操作の許可または不許可を決定し、ピンダウン処理を行っているのに対し、本発明では、入出力装置がページ操作の許可または不許可を決定し、ピンダウン処理を行うことにより、入出力毎のピンダウン処理のオーバヘッドを削減することができる。
また、従来の方式では、ページアウト処理の対象の選別に入出力装置からのアクセス状態は全く反映されないのに対し、本発明では、入出力装置からのページへのアクセス状況を反映しページアウト処理の対象を選別する点において、従来のシステムより高い性能を発揮する可能性が高くなる。
【図１】
2004102401.tif 000003
【図２】
2004102401.tif 000004
【図３】
2004102401.tif 000005
【図４】
2004102401.tif 000006
【図５】
2004102401.tif 000007
【図６】
2004102401.tif 000008
【図７】
2004102401.tif 000009
【図８】
2004102401.tif 000010
【国際調査報告】
2004102401.tif 000011
2004102401.tif 000012
2004102401.tif 000013