JPWO2004102401A1 - 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法 - Google Patents

入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法 Download PDF

Info

Publication number
JPWO2004102401A1
JPWO2004102401A1 JP2004571833A JP2004571833A JPWO2004102401A1 JP WO2004102401 A1 JPWO2004102401 A1 JP WO2004102401A1 JP 2004571833 A JP2004571833 A JP 2004571833A JP 2004571833 A JP2004571833 A JP 2004571833A JP WO2004102401 A1 JPWO2004102401 A1 JP WO2004102401A1
Authority
JP
Japan
Prior art keywords
input
page
computer
output device
address
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
Application number
JP2004571833A
Other languages
English (en)
Other versions
JP4414349B2 (ja
Inventor
耕太 中島
耕太 中島
真司 住元
真司 住元
耕一 久門
耕一 久門
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
Publication of JPWO2004102401A1 publication Critical patent/JPWO2004102401A1/ja
Application granted granted Critical
Publication of JP4414349B2 publication Critical patent/JP4414349B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムであって、入出力装置と計算機は仮想アドレスを実アドレスに変換するためのアドレス変換表を備え、計算機は全ての入出力装置へページアウト処理やプロセスの消滅に伴う仮想アドレス空間の削除処理やページの変更処理等のページ操作の許可を要求し、入出力装置は計算機からの要求に応じてアドレス変換表の操作を行うとともに計算機へページ操作の許可を通知し、計算機は全ての入出力装置からページ操作の許可が得られた場合にアドレス変換表の操作を行うとともにページ操作を行う。

Description

本発明は、仮想記憶を持つ計算機システムにおいて、メモリ領域に対して仮想アドレスを用いる入出力を行う場合に、入出力装置側にページアウト処理やプロセスの消滅に伴う仮想アドレス空間の削除処理やページの変更処理等のページ操作の権限を持たせることを実現する入出力装置、計算機、計算機システム、入出力制御プログラム、OS、ページ管理プログラム、及びページ管理方法に関するものである。
初めに、計算機システムの構成について説明する。第8図は、計算機システムの構成の一例を示すブロック図である。第8図に示す計算機システムは、CPU(Central Processing Unit)1とメモリ2からなる計算機と、入出力装置(ディスクコントローラ)4と、入出力装置(NIC(Network Interface Card))5と、ディスク3と、通信路6から構成される。
CPU1は、OS(Operating system)を実行することにより計算機の制御を行う。入出力装置4,5は媒体とデータの入出力を行う装置であり、入出力制御プログラムを実行することにより入出力処理を行う。ここで、媒体とはディスク3と通信路6である。入出力装置4はメモリ2とディスク3の間でデータの入出力を行う装置であり、入出力装置5はメモリ2と通信路6の間でデータの入出力を行う装置である。また、計算機システムは仮想記憶を行うものとする。ここで、仮想記憶を行う記憶装置は主記憶装置と外部記憶装置からなり、主記憶装置はメモリ2であり、外部記憶装置はディスク3である。
仮想記憶を持つ計算機システムにおいて、プロセスは仮想アドレスを用いてアクセスするメモリ領域の指定を行う。このため、OSは、仮想アドレスを用いて記憶装置の記憶領域を管理している。
ここで、実アドレスと仮想アドレスについて説明する。実アドレスは、記憶装置に割り当てられるアドレスである。仮想アドレスは、実アドレスの代わりに、プロセスや入出力制御プログラムが用いるアドレスであり、必要に応じてOSがアドレス変換表を用いて実アドレスに変換することにより、記憶装置の実アドレスにおける読み書きが行われる。アドレス変換表は、仮想アドレスと実アドレスを対応づける表である。アドレス変換表において、仮想アドレスに対応する実アドレスが物理ページを示す場合、仮想アドレスに対応するページがページインされていることを表す。物理ページとは、ページのうちメモリ上に実在するページのことである。また、仮想アドレスに対応する実アドレスがディスクのスワップ領域の識別子である場合、仮想アドレスに対応するページがページアウトされていることを表す。また、仮想アドレスに対応する実アドレスがNULLの場合、仮想アドレスに対応するページの実体がないことを表す。
一方、入出力装置は、メモリ領域に対してアクセスする際に実アドレスを用いてメモリ領域の指定を行う。このため、プログラムが指定するメモリ領域に対して、入出力装置がデータの入出力を行う場合には、以下に示す2つの入出力方法のうち、いずれかを用いる必要がある。
まず第1の入出力方法について説明する。OSは、OS初期化時にページアウトされない入出力専用のメモリ領域である入出力専用領域を用意し、入出力専用領域の実アドレスを入出力制御プログラムに通知する。入出力制御プログラムは、通知された入出力専用領域のみを用いて入出力を行う。
入出力装置が出力を行う場合、CPUはプログラムが指定するメモリ領域から入出力専用領域に出力データをコピーし、入出力制御プログラムは入出力専用領域から出力データを読み込む。一方、入出力装置が入力を行う場合、入出力制御プログラムは入出力専用領域に入力データを書き込み、CPUは入出力専用領域からプログラムが指定するメモリ領域に入力データをコピーする。
次に第2の入出力方法について説明する。OSは、入出力処理毎にデータの入出力に用いるメモリ領域を含むページをページアウトされないようにピンダウン(ページロック)し、このメモリ領域の実アドレスを入出力制御プログラムに通知する。入出力制御プログラムは、直接このメモリ領域に対して入出力を行う。
第2の入出力方法においてピンダウンする理由は以下の通りである。まず、仮想記憶を行う計算機システムでは、仮想アドレス空間上の記憶領域に対して、常に物理ページが存在するとは限らない。また、仮想アドレスと実アドレスの対応が変わることがある。しかし、全メモリ領域のピンダウンを行うと、物理ページが不足した場合に、ページアウト処理によるメモリ領域の拡張ができない。従って、ピンダウン可能な物理ページ量は、ある程度制限される。このため、基本的には入出力処理毎にピンダウンする必要がある。
多くの計算機システムには、上述した第1の入出力方法が実装されている。その理由は、データの入出力にかかる時間に対し、入出力データをメモリ内でコピーする時間は短いため、コピー処理が性能面で大きなオーバヘッドとはならないためである。また、第2の入出力方法のように、入出力処理が発生する度にピンダウンすると入出力処理が繁雑になるためである。
一方、高速な入出力装置、特に1Gbpsを越える高速な通信路では、入出力にかかる時間に対し、入出力データのコピーのオーバヘッドが大きいため、第2の入出力方法によりデータ転送を実装する例がある。
実現例として、高速な通信路の一つであるMyrinetの通信ライブラリであるPMライブラリ(参考文献1)がある。PMライブラリでは、第2の入出力方法に加え、ピンダウンしたメモリ領域を入出力後すぐに解放せずにキャッシュしておくことでピンダウン処理回数を削減したり、データ受信等の入力処理が可能なメモリ領域をあらかじめピンダウンするという制約を与えることで割り込み発生を抑止したりしている(参考文献2)。
参考文献1:手塚宏史,堀敦史,石川裕:ワークステーションクラスタ通信ライブラリPMの設計と実装,並列処理シンポジウムJSPP’96,pp.41−48(1996).
参考文献2:H.Tezuka,F.’Carroll,A.Hori,and Y.Ishikawa,″Pin−down Cache:A Virtual Memory Management Technique for Zero−copy Communication ″,First Merged Symposium IPPS/SPDP 1998 12th International Parallel Processing symposium & 9th Symposium on Parallel and Distributed Processing,1998.
従来の技術では、OSがアドレス変換表の管理情報を持つ。すなわち、各ページのページインやページアウトといったページ操作や、ピンダウンやピンダウン解除といったページ管理は、OSが主導的に管理している。このため入出力装置側からは、仮想アドレスで指定される入出力対象となるメモリ領域がどの実アドレスを持つページに相当するか、また、現在実アドレスが物理ページに割り当てられているか否か、を検知することは一般に困難である。このため、上述した第1の入出力方法や第2の入出力方法を用いる必要があった。
しかしながら、第1の入出力方法には以下の問題点がある。まず、特に高速な入出力装置を用いて入出力を行う場合に、第1の入出力方法で行われるコピー処理は、入出力にかかる時間に対して入出力データのコピーのオーバヘッドが大きいことが重大な問題となる。また、一度に入出力しようとするデータの大きさが入出力専用領域の大きさよりも大きい場合は、複数回に分けてデータを転送する必要がある。
また、第2の入出力方法には以下の問題点がある。まず、基本的には入出力処理毎にピンダウン処理が発生する。また、入出力装置側から入出力の要求が発生する場合には、OSに対してピンダウン処理を依頼するために一般的には割り込みを発生させる必要がある。
また、多くの計算機システムではページアウト処理を行う際、ページに対する計算機のアクセス状況を記録した計算機アクセス情報を取得し、計算機アクセス情報に従って各ページの重要度を与え、重要度の低いページからページアウトの対象として選別する。しかし、ページに対する入出力装置のアクセス状況は考慮されないため、入出力装置のアクセス状況に従ってページアウトの対象を選別することはできない。
本発明は、このような問題を解決するためになされたものであり、ピンダウン処理のオーバヘッドを削減し、さらにページに対する入出力装置のアクセス状況を反映させてページアウトの対象となるページの選別を行うことにより、ページアウト処理実行後における計算機システムの性能の向上をはかることができる入出力装置、計算機、計算機システム、入出力制御プログラム、OS、ページ管理プログラム、及びページ管理方法を提供することを目的とする。
本発明は、仮想記憶を持つ計算機のメモリと媒体との間のデータの転送を行う入出力装置であって、仮想アドレスを実アドレスに変換するために計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、前記実アドレスを用いてデータの転送を行うデータ転送部と、前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部とを備えてなるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明に係る入出力装置において、さらに、前記入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記計算機からの要求に応じて前記計算機へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え、前記ページ操作許可部は、前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へ前記ページアウト処理の許可を通知することを特徴とするものである。
このような構成によれば、従来計算機が入出力処理毎に行っていたページアウト処理について、入出力装置がページアウト処理の許可を判定することにより、入出力処理毎のピンダウン処理のオーバヘッドを削減することができる。また、入出力装置からページへのアクセス状況を反映してページアウトするページを選別することにより、入出力装置からのアクセスが頻発しているページがページアウトされるのを防ぐことができる。
また、本発明は、仮想記憶を用いてプロセスを制御するとともに、入出力装置を介して媒体との間のデータの入出力を行う計算機であって、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部と、を備えてなるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明に係る計算機において、さらに、前記計算機からメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供する計算機アクセス情報管理部と、前記計算機アクセス情報管理部から計算機アクセス情報を取得し、入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置から取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するページアウト対象選別部とを備えたことを特徴とするものである。
このような構成によれば、計算機アクセス情報に加えて、入出力装置アクセス情報を反映してページアウト処理の対象を選別することにより、重要度の低いページが選択的にページアウトされるので、システム全体の性能を向上させることができる。
また、本発明に係る計算機において、前記ページアウト対象選別部は、前記重要度を算出する際に、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とするものである。
このような構成によれば、例えば頻繁に使用される入出力装置に大きく重み付けを行うことにより、ページアウト対象選別の信頼性を向上させることができる。
また、本発明は、データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムであって、前記入出力装置は、仮想アドレスを実アドレスに変換するために前記計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、前記実アドレスを用いてデータの転送を行うデータ転送部と、前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部とを備え、前記計算機は、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部とを備えたものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明に係る計算機システムにおいて、前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とするものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、仮想記憶を持つOSにおいてメモリと媒体との間のデータの転送を行うために入出力装置により読取可能な媒体に記憶された入出力制御プログラムであって、仮想アドレスを実アドレスに変換するために前記OSから提供されるプロセス毎のアドレス変換表を保持するステップと、前記媒体から入力されたデータを解析し、解析結果を前記OSへ提供するステップと、前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記実アドレスを用いてデータの転送を行うステップと、前記OSからの要求に応じて前記アドレス変換表の操作を行うとともに、前記OSへページ操作の許可を通知するステップとを入出力装置に実行させるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、仮想記憶を用いて、プロセスを制御するとともに、入出力制御プログラムを介して媒体との間のデータの入出力を行うために計算機により読取可能な媒体に記憶されたOSであって、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、全ての前記入出力制御プログラムへページ操作の許可を要求するステップと全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップとを計算機に実行させるものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、データの転送を行う入出力制御プログラムと、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行うOSとを備えてなるページ管理プログラムであって、前記入出力制御プログラムは、仮想アドレスを実アドレスに変換するために前記OSから提供されるプロセス毎のアドレス変換表を保持するステップと、前記媒体から入力されたデータを解析し、解析結果を前記OSへ提供するステップと、前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記実アドレスを用いてデータの転送を行うステップと、前記OSからの要求に応じて前記アドレス変換表の操作の指示を行うとともに、前記OSへページ操作の許可を通知するステップと、前記OSからの要求に応じて前記アドレス変換表の操作を行うステップとを備え、前記OSは、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、全ての前記入出力制御プログラムへページ操作の許可を要求するステップと全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップとを備えたものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
また、本発明は、データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムにおけるページ管理方法であって、前記計算機において前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供するステップと、前記入出力装置において前記計算機から提供されるプロセス毎のアドレス変換表を保持するステップと、前記入出力装置において前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供するステップと、データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、前記実アドレスを用いてデータの転送を行うステップと、前記計算機において全ての前記入出力装置へページ操作の許可を要求するステップと、前記入出力装置において前記計算機からの要求に応じて前記アドレス変換表の操作を行うとともに、前記計算機へページ操作の許可を通知するステップと、前記計算機において全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップとを備えたものである。
このような構成によれば、入出力装置が計算機に対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。
第1図は、本発明のページ管理プログラムの機能の構成例を示すブロック図である。
第2図は、ページアウト処理におけるOSの動作の一例を示すフローチャートである。
第3図は、ページアウト処理における入出力制御プログラムの動作の一例を示すフローチャートである。
第4図は、アクセス情報記録表の一例を示す図である。
第5図は、アクセス情報の記録の一例を示すフローチャートである。
第6図は、仮想アドレス空間削除処理におけるOSと入出力制御プログラムの動作の一例を示すシーケンス図である。
第7図は、アドレス変換表変更処理におけるOSと入出力制御プログラムの動作の一例を示すシーケンス図である。
第8図は、計算機システムの構成の一例を示すブロック図である。
以下、本発明の実施の形態について図面を参照して詳細に説明する。第1図は、本発明のページ管理プログラムの機能の構成例を示すブロック図である。ページ管理プログラムは、入出力制御プログラム10とOS20からなる。入出力制御プログラム10は、データ転送部11と入力データ解析部12と入出力装置アドレス変換部13と入出力装置アクセス情報管理部14とページ操作許可部15と媒体入出力部16とメモリ入出力部17からなる。OS20は、入出力領域指定部21と計算機アドレス変換部22と計算機アクセス情報管理部23とページアウト対象選別部24とページ操作部25からなる。計算機システムにおける各入出力装置は、それぞれ入出力制御プログラム10を備える。
媒体入出力部16は、ディスクや通信路等の媒体においてデータの読み込みと書き込みを行う。また、メモリ入出力部17は、メモリ2においてデータの読み込みと書き込みを行う。入出力装置アドレス変換部13と計算機アドレス変換部22は、同じ内容のアドレス変換表を保持する。各プロセスはそれぞれ仮想アドレス空間を持ち、アドレス変換表はプロセス単位で生成される。すなわち、プロセスが2つ存在する場合はアドレス変換表も2つ存在する。
次に、入出力制御プログラム10とOS20の動作について説明する。まず、入力処理について説明する。データ転送部11は、媒体入出力部16を介して受信した入力データのヘッダ情報等を、入力データ解析部12へ出力する。入力データ解析部12はヘッダ情報等の解析を行い、解析結果を入出力領域指定部21へ出力する。入出力領域指定部21は解析結果に応じて、入力データを書き込むメモリ領域を仮想アドレスで指定し、入出力装置アドレス変換部13へ通知する。入出力装置アドレス変換部13は、アドレス変換表を参照して指定された仮想アドレスを実アドレスに変換し、データ転送部11と入出力装置アクセス情報管理部14へ渡す。データ転送部11はメモリ入出力部17を介して、指定された実アドレスへ入力データを書き込む。同時に、入出力装置アクセス情報管理部14は指定された実アドレスを含むページ毎に、入出力装置によるアクセスの時刻を入出力装置アクセス情報として入出力装置アクセス情報記録表へ記録する。
次に、出力処理について説明する。入出力領域指定部21は、出力データを読み込むメモリ領域を仮想アドレスで指定し、入出力装置アドレス変換部13へ通知する。入出力装置アドレス変換部13は、指定された仮想アドレスを実アドレスに変換し、データ転送部11と入出力装置アクセス情報管理部14へ渡す。データ転送部11はメモリ入出力部17を介して、指定された実アドレスから出力データを読み込み、媒体入出力部16を介して媒体へ出力データを出力する。同時に、入出力装置アクセス情報管理部14は指定された実アドレスを含むページ毎に、入出力装置によるアクセスの時刻を入出力装置アクセス情報として入出力装置アクセス情報記録表へ記録する。
次に、OS20が行うページ操作について説明する。OS20はページ操作として、アドレス変換表への物理ページの登録、アドレス変換表からの物理ページの削除、及びアドレス変換表の変更を行うことができる。以下、ページ操作のそれぞれの動作について詳細に説明する。
まず、アドレス変換表への物理ページの登録について説明する。ページアウトされている記憶領域をページインする場合や、物理ページが割り当てられていないページにページを新規に割り当てる場合、アドレス変換表へ物理ページの登録が行われる。この場合、ページ操作部25は物理ページを確保し、計算機アドレス変換部22に対し、物理ページの登録の指示を行う。計算機アドレス変換部22は、アドレス変換表の該当ページの実アドレスに物理ページを登録する。この時、入出力装置アドレス変換部13のアドレス変換表は更新しない。
入出力装置アドレス変換部13は、アドレス変換表を参照した時、実アドレスに物理ページが登録されており、さらに読み込みと書き込みの操作が許可されている場合は対象メモリ領域に対する入出力処理を行うが、実アドレスに物理ページが登録されていない場合や書き込み不可の場合は割り込みを発生させ、計算機アドレス変換部22に問い合わせを行う。
計算機アドレス変換部22は、当該記憶領域がページアウトされている場合はページインし、その結果得られた実アドレスを入出力装置アドレス変換部13に通知する。また、当該記憶領域に物理ページが割り当てられていない場合は物理ページを割り当て、その結果得られた実アドレスを入出力装置アドレス変換部13に通知する。また、当該記憶領域にページが既に存在する場合は実アドレスを入出力装置アドレス変換部13に通知する。また、当該記憶領域がメモリ保護上等の理由から書き込み不可の場合は書き込み不可であることを入出力装置アドレス変換部13に通知し、コピーオンライト操作の対象記憶領域の場合はコピーオンライト操作を行い、その結果得られた実アドレスを入出力装置アドレス変換部13に通知する。
次に、アドレス変換表からの物理ページの削除について説明する。物理ページの削除には、ページアウト処理と仮想アドレス空間の削除の2つがある。まず、ページアウト処理を行う場合について第2図と第3図を用いて説明する。第2図は、ページアウト処理におけるOSの動作の一例を示すフローチャートである。第3図は、ページアウト処理における入出力制御プログラムの動作の一例を示すフローチャートである。
ページ操作部25はメモリに空きがなくなるとページアウトを行う。この時、ページアウトの対象が決定されていない場合(S1,No)、ページアウト対象選別部24は各入出力制御プログラム10の入出力装置アクセス情報管理部14へアクセス情報の要求を行う(S2)。
アクセス情報を要求された入出力装置アクセス情報管理部14は(S11,Yes)、ページアウト対象選別部24へ入出力装置アクセス情報を送信する(S12)。アクセス情報を要求されない場合(S11,No)、処理S13へ移行する。
次にページアウト対象選別部24は、各入出力制御プログラム10の入出力装置アクセス情報管理部14から入出力装置アクセス情報を取得する(S3)。次にページアウト対象選別部24は、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行い、重み付けされた各入出力装置アクセス情報と、計算機アクセス情報とを用いて各ページの重要度の算出を行う。ここで、計算機アクセス情報管理部23は、入出力装置アクセス情報管理部14と同様の手順で、計算機アドレス変換部22で得られる計算機によるアクセスの時刻を計算機アクセス情報として計算機アクセス情報記録表に記録している。
ページアウト対象選別部24は、ページアウトしたいメモリ領域分だけ、重要度が低いページからページアウト対象として選別し(S4)、ページ操作部25へ出力する。ページ操作部25は、ページアウトの対象となるページが決定されると(S1,Yes)。各入出力制御プログラム10のページ操作許可部15に、ページアウトの許可の要求を行う(S5)。
ページアウトの許可を要求されたページ操作許可部15は(S13,Yes)、入出力装置アクセス情報管理部14から該当ページの重要度を取得し、重要度が所定の基準値を超えるか否かの判断を行う(S14)。入出力装置アクセス情報管理部14は、ページ操作許可部15から該当ページの重要度を要求された場合、入出力装置アクセス情報を用いて該当ページに対する重要度を算出し、ページ操作許可部15へ渡す。
重要度が基準値を超えない場合(S14,No)、ページ操作許可部15は入出力装置アドレス変換部13に対し、該当するエントリの削除の指示を行う。入出力装置アドレス変換部13がアドレス変換表から該当するエントリを削除した後(S15)、ページ操作許可部15はページ操作部25へページアウトの許可を通知し(S16)、このフローを終了する。一方、重要度が基準値を超えた場合(S14,Yes)、ページ操作許可部15はページ操作部25へページアウトの不許可を通知し(S17)、このフローを終了する。
全ての入出力制御プログラム10からページアウトの許可を取得した場合(S6,Yes)、ページ操作部25は計算機アドレス変換部22に対し、該当するエントリの削除の指示を行う。計算機アドレス変換部22がアドレス変換表から該当するエントリを削除した後、ページ操作部25はページアウト処理を行い(S7)、このフローを終了する。一方、全ての入出力制御プログラム10からページアウトの許可を取得できなかった場合(S6,No)、ページ操作部25はページアウト処理を行わず、このフローを終了する。
次に、上述したアクセス情報の記録の一例について説明する。アクセス情報記録表は、所定の時刻を基準として各ページの入出力処理の時刻をn個まで保持するものである。第4図は、アクセス情報記録表の一例を示す図であり、ページ毎に5個の時刻を保持するアクセス情報記録表である。
第5図は、アクセス情報の記録の一例を示すフローチャートである。まず、ページの入出力操作が行われると、現在時刻を取得する(S21)。次に、その時刻を記録するエントリを決定する(S22)。ここで、前回の時刻を記録したエントリをpとすると、今回の時刻を記録するエントリqはp+1で決定される。
前回の時刻を記録したエントリpがアクセス情報記録表の最終エントリMAX以内であった場合(S23,No)、qが指し示すエントリに今回の時刻を記録し(S25)、このフローを終了する。一方、前回の時刻を記録したエントリpがアクセス情報記録表の最終エントリMAXであった場合、(S23,Yes)、今回の時刻を記録するエントリqを1とし(S24)、処理S25へ移行する。
以上のフローに従って時刻を記録すると、例えば第4図では、前回エントリ1に記録した場合は、エントリ2に記録することになり。前回エントリ5に記録した場合は、エントリ1に記録することになる。すなわち、5つ前に記録した時刻は上書きされる。
次に、上述したページの重要度の算出の一例について説明する。まず、現在時刻t0を取得する。次に、着目するページのアクセス情報として記録された各時刻tiについて、評価関数を用いて重要度の値を算出し、各時刻に関する重要度の値を累積する。ここでiは時刻を記録したエントリの数を示す。例えば、第4図に示すページ0×01は、時刻を記録したエントリを5個持つ。また、評価関数fを用いた重要度の値は、f(ti−t0)により算出される。なお、評価関数fは、x軸が負の領域で単調に増加し、正の値をとる関数を用いる。評価関数は、例えばf(x)=exp(x)、f(x)=−1/xである。第4図に示すページ0×01を例に挙げると、エントリ1〜5までの時刻についてf(ti−t0)を算出し、その結果を全て累積することにより、ページ0×01の重要度が算出される。複数のページの重要度が必要な場合には、全ページに対して重要度の算出を行う。
以上のように、全ての入出力装置から許可を取得した場合にのみ、OSはページアウト処理を行うため、入出力装置が持つアドレス変換表が不正な値を持つことを防ぐことができる。また、入出力装置アクセス情報に基づいてページアウトの対象となるページを決定することにより、計算機アクセス情報だけから判断すれば重要度が低いページであっても、入出力装置からのアクセスが頻発している場合に、入出力装置からのメモリへのアクセスによる性能低下を防止することが可能になる。また、より重要度の低いページをページアウトすることが可能になり、計算機システム全体の性能を向上させることが可能になる。
なお、本実施の形態では、ページアウト対象選別部24が、重み付けされた各入出力装置アクセス情報と、計算機アクセス情報とを用いて各ページの重要度の算出を行うとしたが、アクセス情報を要求された場合に、入出力装置アクセス情報管理部14と計算機アクセス情報管理部23それぞれが、自己のアクセス情報を用いて各ページの重要度を算出し、重要度が所定値を超えないページを集めて低重要度ページ情報とし、ページアウト対象選別部24へ送信するようにしても良い。
また、本実施の形態では、ページの重要度が基準値を超えない場合にページアウトを許可するとしたが、許可の要求を受けた時点で、該当するページの重要度は基準値を超えないが、該当するページがアクセス中である場合は、遅延してページアウトを許可するとしても良い。
次に、アドレス変換表からの物理ページの削除のうち、プロセスの消滅による仮想アドレス空間の削除を行う場合について説明する。第6図は、仮想アドレス空間削除処理におけるOSと入出力制御プログラムの動作の一例を示すシーケンス図である。
OSのページ操作部25はあるプロセスが消滅すると、各入出力制御プログラム10のページ操作許可部15へ、該当する仮想アドレス空間の削除要求を行う(S111)。
削除要求を受けたページ操作許可部15は、入出力装置アドレス変換部13に対し、該当する仮想アドレス空間に対するアドレス変換表の削除の指示を行う。次に入出力装置アドレス変換部13は、該当するアドレス変換表を削除する(S112)。次にページ操作許可部15は、ページ操作部25へ仮想アドレス空間の削除許可を通知する(S113)。
ページ操作部25は、全ての入出力制御プログラム10から仮想アドレス空間の削除許可を取得すると、計算機アドレス変換部22に対し、該当する仮想アドレス空間に対するアドレス変換表の削除の指示を行う。計算機アドレス変換部22が該当するアドレス変換表を削除し(S114)、ページ操作部25は該当する仮想アドレス空間を削除し(S115)、このシーケンスを終了する。
以上のように、全ての入出力装置から許可を取得した場合にのみ、OSはアドレス変換表の削除を行うため、仮想アドレス空間消滅時において、入出力装置が持つアドレス変換表とOSが持つアドレス変換表との不整合を防止することが可能になる。
次に、アドレス変換表の変更を行う場合について説明する。第7図は、アドレス変換表変更処理におけるOSと入出力制御プログラムの動作の一例を示すシーケンス図である。
コピーオンライト処理等により対応する実アドレスが変更される場合や、ページへの保護属性(書き込み可または不可)の情報が変更された場合、OSのページ操作部25は、入出力制御プログラムのページ操作許可部15へアドレス変換表の変更要求を行う(S121)。
変更要求を受けたページ操作許可部15は、入出力装置アドレス変換部13に対し、アドレス変換表のうち該当するエントリの変更の指示を行う。次に入出力装置アドレス変換部13は、アドレス変換表の変更を行う(S122)。次にページ操作許可部15は、ページ操作部25へ変更許可を通知する(S123)。
ページ操作部25は、全ての入出力制御装置から変更許可を取得すると、計算機アドレス変換部22に対し、アドレス変換表のうち該当するエントリの変更の指示を行う。計算機アドレス変換部22がアドレス変換表の変更を行い(S124)、ページ操作部25はアドレス変換表の変更に伴う変更処理を行い(S125)、このシーケンスを終了する。
以上のように、全ての入出力装置から許可を取得した場合にのみ、OSはアドレス変換表の変更を行うため、アドレス変換表の変更時において、入出力装置が持つアドレス変換表とOSが持つアドレス変換表との不整合を防止することが可能になる。
産業上の利用の可能性
以上説明したように本発明によれば、入出力装置がOSに対してページ操作の許可を与えることにより、入出力装置がページ操作の権限を持つことができる。また、OSに対してピンダウン処理を依頼することなしに、入出力装置のアドレス変換表が持つ実アドレスは常に正しいことが保証される。また、入出力装置アクセス情報を反映してページアウト処理の対象を選別することにより、重要度の低いページが選択的にページアウトされるので、システム全体の性能を向上させることができる。
また、従来の方式では、OSがページ操作を主導的に行い、ページ操作の許可または不許可を決定し、ピンダウン処理を行っているのに対し、本発明では、入出力装置がページ操作の許可または不許可を決定し、ピンダウン処理を行うことにより、入出力毎のピンダウン処理のオーバヘッドを削減することができる。
また、従来の方式では、ページアウト処理の対象の選別に入出力装置からのアクセス状態は全く反映されないのに対し、本発明では、入出力装置からのページへのアクセス状況を反映しページアウト処理の対象を選別する点において、従来のシステムより高い性能を発揮する可能性が高くなる。

Claims (25)

  1. 仮想記憶を持つ計算機のメモリと媒体との間のデータの転送を行う入出力装置であって、
    仮想アドレスを実アドレスに変換するために計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、
    前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、
    前記実アドレスを用いてデータの転送を行うデータ転送部と、
    前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部と
    を備えてなる入出力装置。
  2. 請求の範囲第1項に記載の入出力装置において、
    前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする入出力装置。
  3. 請求の範囲第1項に記載の入出力装置において、
    さらに、前記入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記計算機からの要求に応じて前記計算機へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え、
    前記ページ操作許可部は、前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へ前記ページアウト処理の許可を通知することを特徴とする入出力装置。
  4. 仮想記憶を用いてプロセスを制御するとともに、入出力装置を介して媒体との間のデータの入出力を行う計算機であって、
    データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、
    前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、
    全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部と
    を備えてなる計算機。
  5. 請求の範囲第4項に記載の計算機において、
    前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする計算機。
  6. 請求の範囲第4項に記載の計算機において、
    さらに、前記計算機からメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供する計算機アクセス情報管理部と、
    前記計算機アクセス情報管理部から計算機アクセス情報を取得し、入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置から取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するページアウト対象選別部と
    を備えたことを特徴とする計算機。
  7. 請求の範囲第6項に記載の計算機において、
    前記ページアウト対象選別部は、前記重要度を算出する際に、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とする計算機。
  8. データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムであって、
    前記入出力装置は、
    仮想アドレスを実アドレスに変換するために前記計算機から提供されるプロセス毎のアドレス変換表を保持し、前記計算機からの要求に応じて前記アドレス変換表の操作を行い、さらに前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する入出力装置アドレス変換部と、
    前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供する入力データ解析部と、
    前記実アドレスを用いてデータの転送を行うデータ転送部と、
    前記計算機からの要求に応じて前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へページ操作の許可を通知するページ操作許可部と、
    を備え、
    前記計算機は、
    データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定する入出力領域指定部と、
    前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供し、前記アドレス変換表の操作を行い、さらに計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換する計算機アドレス変換部と、
    全ての前記入出力装置へページ操作の許可を要求し、全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記計算機アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記ページ操作を行うページ操作部と
    を備えた計算機システム。
  9. 請求の範囲第8項に記載の計算機システムにおいて、
    前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする計算機システム。
  10. 請求の範囲第8項に記載の計算機システムにおいて、
    さらに、前記入出力装置は、前記入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記計算機からの要求に応じて前記計算機へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え、
    前記ページ操作許可部は、前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記入出力装置アドレス変換部へ前記アドレス変換表の操作の指示を行うとともに、前記計算機へ前記ページアウト処理の許可を通知することを特徴とする計算機システム。
  11. 請求の範囲第8項に記載の計算機システムにおいて、
    さらに、前記計算機は、前記計算機からメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供する計算機アクセス情報管理部と、
    前記計算機アクセス情報管理部から計算機アクセス情報を取得し、入出力装置からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置から取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するページアウト対象選別部と
    を備えたことを特徴とする計算機システム。
  12. 請求の範囲第11項に記載の計算機システムにおいて、
    前記ページアウト対象選別部は、前記重要度を算出する際に、予め与えられた各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とする計算機システム。
  13. 仮想記憶を持つOSにおいてメモリと媒体との間のデータの転送を行うために入出力装置により読取可能な媒体に記憶された入出力制御プログラムであって、
    仮想アドレスを実アドレスに変換するために前記OSから提供されるプロセス毎のアドレス変換表を保持するステップと、
    前記媒体から入力されたデータを解析し、解析結果を前記OSへ提供するステップと、
    前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
    前記実アドレスを用いてデータの転送を行うステップと、
    前記OSからの要求に応じて前記アドレス変換表の操作を行うとともに、前記OSへページ操作の許可を通知するステップと
    を入出力装置に実行させる入出力制御プログラム。
  14. 請求の範囲第13項に記載の入出力制御プログラムにおいて、
    前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とする入出力制御プログラム。
  15. 請求の範囲第13項に記載の入出力制御プログラムにおいて、
    さらに、前記入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記OSからの要求に応じて前記OSへ前記入出力装置アクセス状況を提供するステップを備え、
    前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記アドレス変換表の操作の指示を行うとともに、前記OSへ前記ページアウト処理の許可を通知することを特徴とする入出力制御プログラム。
  16. 仮想記憶を用いて、プロセスを制御するとともに、入出力制御プログラムを介して媒体との間のデータの入出力を行うために計算機により読取可能な媒体に記憶されたOSであって、
    データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、
    前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、
    計算機からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
    全ての前記入出力制御プログラムへページ操作の許可を要求するステップと
    全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップと
    を計算機に実行させるOS。
  17. 請求の範囲第16項に記載のOSにおいて、
    前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とするOS。
  18. 請求の範囲第16項に記載のOSにおいて、
    さらに、前記OSからメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供するステップと、
    前記計算機アクセス情報を取得し、入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力制御プログラムから取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するステップと
    を備えたことを特徴とするOS。
  19. 請求の範囲第18項に記載のOSにおいて、
    前記重要度を算出する際に、予め与えられた各入出力制御プログラムの重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とするOS。
  20. データの転送を行う入出力制御プログラムと、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行うOSとを備えてなるページ管理プログラムであって、
    前記入出力制御プログラムは、
    仮想アドレスを実アドレスに変換するために前記OSから提供されるプロセス毎のアドレス変換表を保持するステップと、
    前記媒体から入力されたデータを解析し、解析結果を前記OSへ提供するステップと、
    前記入出力制御プログラムからメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
    前記実アドレスを用いてデータの転送を行うステップと、
    前記OSからの要求に応じて前記アドレス変換表の操作の指示を行うとともに、前記OSへページ操作の許可を通知するステップと、
    前記OSからの要求に応じて前記アドレス変換表の操作を行うステップと、
    を備え、
    前記OSは、
    データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、
    前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステップと、
    全ての前記入出力制御プログラムへページ操作の許可を要求するステップと
    全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップと
    を備えたページ管理プログラム。
  21. 請求の範囲第20項に記載のページ管理プログラムにおいて、
    前記ページ操作は、ページアウト処理と、プロセスの消滅に伴う仮想アドレス空間の削除処理と、ページの変更処理であることを特徴とするページ管理プログラム。
  22. 請求の範囲第20項に記載のページ管理プログラムにおいて、
    さらに、前記入出力制御プログラムは、前記入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を記録し、前記OSからの要求に応じて前記OSへ前記入出力装置アクセス状況を提供するステップを備え、
    前記ページ操作がページアウト処理である場合に、前記入出力装置アクセス情報に基づいて前記ページアウト処理の許可を行うか否かの判定を行い、前記許可を行うと判定した場合に前記アドレス変換表の操作の指示を行うとともに、前記OSへ前記ページアウト処理の許可を通知することを特徴とするページ管理プログラム。
  23. 請求の範囲第20項に記載のページ管理プログラムにおいて、
    さらに、前記OSは、前記OSからメモリへのアクセス状況である計算機アクセス情報を記録し、必要に応じて前記計算機アクセス情報を提供するステップと、
    前記計算機アクセス情報を取得し、入出力制御プログラムからメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力制御プログラムから取得し、前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいてページの重要度を算出し、該重要度が低いページをページアウト処理の対象として選別するステップと
    を備えたことを特徴とするページ管理プログラム。
  24. 請求の範囲第23項に記載のページ管理プログラムにおいて、
    前記重要度を算出する際に、予め与えられた各入出力制御プログラムの重みに従って各入出力装置アクセス情報の重み付けを行うことを特徴とするページ管理プログラム。
  25. データの転送を行う入出力装置と、仮想記憶を用いてプロセスを制御するとともに、媒体との間のデータの入出力を行う計算機とを備えてなる計算機システムにおけるページ管理方法であって、
    前記計算機において前記メモリ領域を示す仮想アドレスを実アドレスに変換するためのアドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供するステップと、
    前記入出力装置において前記計算機から提供されるプロセス毎のアドレス変換表を保持するステップと、
    前記入出力装置において前記媒体から入力されたデータを解析し、解析結果を前記計算機へ提供するステップと、
    データの入出力を行うためのメモリ領域である入出力領域を仮想アドレスで指定するステップと、
    前記入出力装置からメモリへアクセスする際に前記アドレス変換表を用いて仮想アドレスを実アドレスに変換するステップと、
    前記実アドレスを用いてデータの転送を行うステップと、
    前記計算機において全ての前記入出力装置へページ操作の許可を要求するステップと、
    前記入出力装置において前記計算機からの要求に応じて前記アドレス変換表の操作を行うとともに、前記計算機へページ操作の許可を通知するステップと、
    前記計算機において全ての前記入出力装置から前記ページ操作の許可が得られた場合に前記アドレス変換表の操作を行うとともに、前記ページ操作を行うステップと
    を備えたページ管理方法。
JP2004571833A 2003-05-13 2003-05-13 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法 Expired - Fee Related JP4414349B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/005928 WO2004102401A1 (ja) 2003-05-13 2003-05-13 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法

Publications (2)

Publication Number Publication Date
JPWO2004102401A1 true JPWO2004102401A1 (ja) 2006-07-13
JP4414349B2 JP4414349B2 (ja) 2010-02-10

Family

ID=33446517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004571833A Expired - Fee Related JP4414349B2 (ja) 2003-05-13 2003-05-13 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法

Country Status (3)

Country Link
US (1) US7430649B2 (ja)
JP (1) JP4414349B2 (ja)
WO (1) WO2004102401A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7516291B2 (en) * 2005-11-21 2009-04-07 Red Hat, Inc. Cooperative mechanism for efficient application memory allocation
JP4899511B2 (ja) * 2006-02-08 2012-03-21 富士通株式会社 システム分析プログラム、システム分析装置、およびシステム分析方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57162164A (en) * 1981-03-30 1982-10-05 Nec Corp Data transfer device
JPH02238535A (ja) * 1989-03-13 1990-09-20 Nec Corp ページ数可変型オンデマンドページング方式
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
JP2858795B2 (ja) * 1989-07-14 1999-02-17 株式会社日立製作所 実記憶割り当て方法
JP3431936B2 (ja) * 1992-12-03 2003-07-28 キヤノン株式会社 メモリ管理方法及び装置
JP2932920B2 (ja) * 1993-11-30 1999-08-09 富士ゼロックス株式会社 情報格納装置
US6321293B1 (en) * 1995-11-14 2001-11-20 Networks Associates, Inc. Method for caching virtual memory paging and disk input/output requests
US7017018B1 (en) * 2001-09-19 2006-03-21 Adaptec, Inc. Method and apparatus for a virtual memory file system

Also Published As

Publication number Publication date
US7430649B2 (en) 2008-09-30
US20050216615A1 (en) 2005-09-29
WO2004102401A1 (ja) 2004-11-25
JP4414349B2 (ja) 2010-02-10

Similar Documents

Publication Publication Date Title
US6526472B2 (en) Access control method, access control apparatus and computer readable memory storing access control program
KR102407782B1 (ko) 변환 색인 버퍼의 엔트리들에 대한 리스의 적응 확장
JP4131514B2 (ja) ネットワークシステム、サーバ、データ処理方法及びプログラム
US7366835B2 (en) Data access responding system, storage system, client apparatus, cache apparatus, and method for accessing data access responding system
US7085909B2 (en) Method, system and computer program product for implementing copy-on-write of a file
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
JP3704573B2 (ja) クラスタシステム
US10078588B2 (en) Using leases for entries in a translation lookaside buffer
JP2008181243A (ja) ストレージシステムのキャッシュパーティション領域の設定を制御するデータベース管理システム
JP2017227969A (ja) 制御プログラム、システム、及び方法
WO2012016783A1 (en) A method of managing computer memory, corresponding computer program product; and data storage device therefor
US5339397A (en) Hardware primary directory lock
JP2024513734A (ja) 入出力デバイスによってアクセス可能なメモリのページの移行
CN113906389A (zh) 向访客操作系统提供输入输出存储器管理单元寄存器副本
JP4266629B2 (ja) ページ・テーブル属性によるバス・インタフェース選択
JPH06332625A (ja) ファイルのデータ多重化方法及びデータ処理システム
JP2024503259A (ja) 入出力デバイスによってアクセス可能なメモリのページの移行
JP4414349B2 (ja) 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法
JP7490036B2 (ja) ストレージシステム及びデータ処理方法
JP4580693B2 (ja) 共有排他制御方法
US6918023B2 (en) Method, system, and computer program product for invalidating pretranslations for dynamic memory removal
JP2006164218A (ja) ストレージシステム及びそのキャッシュ制御方法
US6308147B1 (en) Data structure synthesis in hardware using memory transaction translation techniques
JP3481391B2 (ja) ファイルデータ分散格納方式
KR100648065B1 (ko) 입출력 가속 기술이 적용된 하드웨어용 파일 시스템 및 그파일 시스템에서의 데이터 처리 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

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: 20091117

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: 20091119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

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: 20121127

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees