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

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

Info

Publication number
WO2004102401A1
WO2004102401A1 PCT/JP2003/005928 JP0305928W WO2004102401A1 WO 2004102401 A1 WO2004102401 A1 WO 2004102401A1 JP 0305928 W JP0305928 W JP 0305928W WO 2004102401 A1 WO2004102401 A1 WO 2004102401A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
page
computer
output device
address
Prior art date
Application number
PCT/JP2003/005928
Other languages
English (en)
French (fr)
Inventor
Kohta Nakashima
Shinji Sumimoto
Kouichi Kumon
Original Assignee
Fujitsu Limited
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 Limited filed Critical Fujitsu Limited
Priority to JP2004571833A priority Critical patent/JP4414349B2/ja
Priority to PCT/JP2003/005928 priority patent/WO2004102401A1/ja
Publication of WO2004102401A1 publication Critical patent/WO2004102401A1/ja
Priority to US11/133,291 priority patent/US7430649B2/en

Links

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

Definitions

  • a virtual memory in a computer system having virtual memory, a virtual memory
  • FIG. 8 is a block diagram showing an example of the configuration of a computer system.
  • the computer system shown in FIG. 8 includes a computer consisting of a CPU (Central Processing Unit) 1 and two memories, an input / output device (disk controller) 4, and an input / output device (NIC (Network Interface Card)) 5. , Disk 3 and communication path 6.
  • CPU Central Processing Unit
  • disk controller disk controller
  • NIC Network Interface Card
  • the I / O device specifies the memory area using the real address when accessing the memory area. Therefore, when an I / O device inputs and outputs data to and from a memory area specified by a program, it is necessary to use one of the following two I / O methods.
  • the CPU copies the output data from the memory area specified by the program to the I / O-only area, and the I / O control program reads the output data from the I / O-only area.
  • the I / O control program writes the input data to the I / O-only area, and the CPU copies the input data from the I / O-only area to the memory area specified by the program.
  • the second input / output method has the following problems.
  • pin-down processing occurs basically for each input / output processing.
  • the input / output device address conversion unit 13 converts the designated virtual address into a real address with reference to the address conversion table, and passes the converted address to the data transfer unit 11 and the input / output device access information management unit 14.
  • the data transfer unit 11 writes input data to a specified real address via the memory input / output unit 17.
  • the I / O device access information management unit 14 records the time of access by the I / O device as I / O device access information in the I / O device access information record table for each page including the specified real address.
  • the input / output area designation unit 21 designates a memory area from which output data is to be read by a virtual address, and notifies the input / output device address conversion unit 13.
  • the input / output device address conversion unit 13 When referring to the address conversion table, if the physical page is registered at the real address and the read and write operations are permitted, the input / output device address conversion unit 13 performs input / output processing on the target memory area. If the physical page is not registered in the actual address or if writing is not possible, an interrupt is generated and an inquiry is made to the computer address conversion unit 22.
  • the page operation unit 25 instructs the computer address conversion unit 22 to delete the corresponding entry. After the computer address conversion unit 22 deletes the corresponding entry from the address conversion table, the page operation unit 25 performs page word processing (S7), and ends this flow. On the other hand, if the page-out permission cannot be obtained from all the input / output control programs 10 (S6, No), the page operation unit 25 does not perform the page-out process and ends this flow.
  • the page-out target selection unit 24 calculates the importance of each page using the weighted input / output device access information and the computer access information.
  • the I / O device access information management unit 14 and the computer access information management unit 23 The importance of each page may be calculated, and the pages whose importance does not exceed a predetermined value may be collected as low-importance page information and transmitted to the page-attach target selection unit 24.
  • the page operation unit 25 When the page operation unit 25 obtains the permission to delete the virtual address space from all the input / output control programs 10, the page operation unit 25 instructs the computer address conversion unit 22 to delete the address conversion table for the corresponding virtual address space. Do.
  • the computer address conversion unit 22 deletes the corresponding address conversion table (S114), the page operation unit 25 deletes the corresponding virtual address space (S115), and ends this sequence.
  • the OS takes the initiative in page operations and permits page operations.
  • the pin-down process is performed by determining whether or not to permit the page operation by the input / output device and performing the pin-down process. Overhead can be reduced.
  • the access state from the input / output device is not reflected at all in selecting the target of the page-out processing.
  • the page access is reflected by the input / output device in the page status. Higher than conventional systems in selecting processing targets! / The possibility of exhibiting performance is increased.

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

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

Claims

請 求 の 範 囲
1 . 仮想記憶を持つ計算機のメモリと媒体との間のデータの転送を行う入出力装 置であって、
仮想ァドレスを実ァドレスに変換するために計算機から提供されるプロセス毎 のァドレス変換表を保持し、 前記計算機からの要求に応じて前記ァドレス変換表 の操作を行い、 さらに入出力装置からメモリへアクセスする際に前記ァドレス変 換表を用いて仮想ァドレスを実ァドレスに変換する入出力装置ァドレス変換部と 前記媒体から入力されたデータを解析し、 解析結果を前記計算機へ提供する入 力データ解析部と、
前記実ァドレスを用レヽてデ一タの転送を行うデータ転送部と、
前記計算機からの要求に応じて前記入出力装置ァドレス変換部へ前記ァドレス 変換表の操作の指示を行うとともに、 前記計算機へページ操作の許可を通知する ページ操作許可部と - を備えてなる入出力装置。
2 . 請求の範囲第 1項に記載の入出力装置において、
前記ページ操作は、 ページアウト処理と、 プロセスの消滅に伴う仮想アドレス 空間の削除処理と、 ページの変更処理であることを特徴とする入出力装置。
3 . 請求の範囲第 1項に記載の入出力装置において、
さらに、 前記入出力装置からメモリへのアクセス状況である入出力装置ァクセ ス情報を記録し、 前記計算機からの要求に応じて前記計算機へ前記入出力装置ァ クセス状況を提供する入出力装置アクセス情報管理部を備え、
前記ページ操作許可部は、 前記ページ操作がページァゥト処理である場合に、 前記入出力装置アクセス情報に基づいて前記ページァゥト処理の許可を行うか否 かの判定を行い、 前記許可を行うと判定した場合に前記入出力装置ァドレス変換 部へ前記ァドレス変換表の操作の指示を行うとともに、 前記計算機へ前記ページ ァゥト処理の許可を通知することを特徴とする入出力装置。
4 . 仮想記憶を用いてプロセスを制御するとともに、 入出力装置を介して媒体と の間のデータの入出力を行う計算機であって、
データの入出力を行うためのメモリ領域である入出力領域を仮想ァドレスで指 定する入出力領域指定部と、
前記メモリ領域を示す仮想ァドレスを実ァドレスに変換するためのァドレス変 換表をプロセス毎に生成するとともに入出力装置へ提供し、 前記ァドレス変換表 の操作を行レ、、 さらに計算機からメモリへアクセスする際に前記ァドレス変換表 を用いて仮想ァドレスを実ァドレスに変換する計算機ァドレス変換部と、 全ての前記入出力装置へページ操作の許可を要求し、 全ての前記入出力装置か ら前記ページ操作の許可が得られた場合に前記計算機ァドレス変換部へ前記ァド レス変換表の操作の指示を行うとともに、 前記ページ操作を行うページ操作部と を備えてなる計算機。
5 . 請求の範囲第 4項に記載の計算機において、
前記ページ操作は、 ページアウト処理と、 プロセスの消滅に伴う仮想アドレス 空間の削除処理と、 ページの変更処理であることを特徴とする計算機。
6 . 請求の範囲第 4項に記載の計算機において、
さらに、 前記計算機からメモリへのアクセス状況である計算機ァクセス情報を 記録し、 必要に応じて前記計算機ァクセス情報を提供する計算機ァクセス情報管 理部と、
前記計算機アクセス情報管理部から計算機アクセス情報を取得し、 入出力装置 からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置 から取得し、 前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに 基づいてページの重要度を算出し、 該重要度が低いページをページァゥト処理の 対象として選別するページァゥト対象選別部と
を備えたことを特徴とする計算機。
7 . 請求の範囲第 6項に記載の計算機において、
前記ページアウト対象選別部は、 前記重要度を算出する際に、 予め与えられた 各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを 特徴とする計算機。
8 . データの転送を行う入出力装置と、 .仮想記憶を用いてプロセスを制御すると ともに、 媒体との間のデータの入出力を行う計算機とを備えてなる計算機システ ムであって、
前記入出力装置は、
仮想ァドレスを実ァドレスに変換するために前記計算機から提供されるプロセ ス毎のァドレス変換表を保持し、 前記計算機からの要求に応じて前記ァドレス変 換表の操作を行い、 さらに前記入出力装置からメモリヘアクセスする際に前記ァ ドレス変換表を用いて仮想ァドレスを実ァドレスに変換する入出力装置ァドレス 変換部と、
前記媒体から入力されたデータを解析し、 解析結果を前記計算機へ提供する入 力データ解析部と、
前記実ァドレスを用いてデータの転送を行うデータ転送部と、
前記計算機からの要求に応じて前記入出力装置ァドレス変換部へ前記ァドレス 変換表の操作の指示を行うとともに、 前記計算機へページ操作の許可を通知する ページ操作許可部と、
を備え、
前記計算機は、
データの入出力を行うためのメモリ領域である入出力領域を仮想ァドレスで指 定する入出力領域指定部と、
前記メモリ領域を示す仮想ァドレスを実ァドレスに変換するためのァドレス変 換表をプロセス毎に生成するとともに前記入出力装置へ提供し、 前記ァドレス変 換表の操作を行レ、、 さらに計算機からメモリヘアクセスする際に前記ァドレス変 換表を用いて仮想ァドレスを実ァドレスに変換する計算機ァドレス変換部と、 全ての前記入出力装置へページ操作の許可を要求し、 全ての前記入出力装置か ら前記ページ操作の許可が得られた場合に前記計算機ァドレス変換部へ前記ァド レス変換表の操作の指示を行うとともに、 前記ページ操作を行うページ操作部と を備えた計算機システム。
9 . 請求の範囲第 8項に記載の計算機システムにおいて、
前記ページ操作は、 ページアウト処理と、 プロセスの消滅に伴う仮想アドレス 空間の削除処理と、 ページの変更処理であることを特徴とする計算機システム。
1 0 . 請求の範囲第 8項に記載の計算機システムにおいて、
さらに、 前記入出力装置は、 前記入出力装置からメモリへのアクセス状況であ る入出力装置アクセス情報を記録し、 前記計算機からの要求に応じて前記計算機 へ前記入出力装置アクセス状況を提供する入出力装置アクセス情報管理部を備え 前記ページ操作許可部は、 前記ページ操作がページアウト処理である場合に、 前記入出力装置アクセス情報に基づいて前記ページァゥト処理の許可を行うか否 かの判定を行い、 前記許可を行うと判定した場合に前記入出力装置ァドレス変換 部へ前記ァドレス変換表の操作の指示を行うとともに、 前記計算機へ前記ページ ァゥト処理の許可を通知することを特徴とする計算機システム。
1 1 . 請求の範囲第 8項に記載の計算機システムにおいて、
さらに、 前記計算機は、 前記計算機からメモリへのアクセス状況である計算機 ァクセス情報を記録し、 必要に応じて前記計算機ァクセス情報を提供する計算機 アクセス情報管理部と、
前記計算機ァクセス情報管理部から計算機ァクセス情報を取得し、 入出力装置 からメモリへのアクセス状況である入出力装置アクセス情報を全ての入出力装置 から取得し、 前記計算機ァクセス情報と全ての前記入出力装置ァクセス情報とに 基づいてページの重要度を算出し、 該重要度が低いページをページァゥト処理の 対象として選別するページァゥト対象選別部と を備えたことを特徴とする計算機システム
1 2 . 請求の範囲第 1 1項に記載の計算機システムにおいて、
前記ページアウト対象選別部は、 前記 ¾要度を算出する際に、 予め与えられた 各入出力装置の重みに従って各入出力装置アクセス情報の重み付けを行うことを 特徴とする計算機システム。
1 3 . 仮想記憶を持つ O Sにおいてメモリと媒体との間のデータの転送を行うた めに入出力装置により読取可能な媒体に記憶された入出力制御プログラムであつ て、
仮想ァドレスを実ァドレスに変換するために前記〇sから提供されるプロセス 毎のナドレス変換表を保持するステップと、
前記媒体から入力されたデータを解析し、 解析結果を前記 O Sへ提供するステ ップと、
前記入出力制御プログラムからメモリへアクセスする際に前記ァドレス変換表 を用いて仮想ァドレスを実ァドレスに変換するステップと、
前記実ァドレスを用いてデータの転送を行うステップと、
前記 O Sからの要求に応じて前記ァドレス変換表の操作を行うとともに、 前記 O Sへページ操作の許可を通知するステップと
を入出力装置に実行させる入出力制御プログラム。
1 4 . 請求の範囲第 1 3項に記載の入出力制御プログラムにおいて、
前記ページ操作は、 ページアウト処理と、 プロセスの消滅に伴う仮想アドレス 空間の削除処理と、 ページの変更処理であることを特徴とする入出力制御プログ ラム。
1 5 . 請求の範囲第 1 3項に記載の入出力制御プログラムにおいて、
さらに、 前記入出力制御プログラムからメモリへのアクセス状況である入出力 装置アクセス情報を記録し、 前記 O Sからの要求に応じて前記 O Sへ前記入出力 装置アクセス状況を提供するステップを備え、
前記ページ操作がページアウト処理である場合に、 前記入出力装置アクセス情 報に基づいて前記ページァゥト処理の許可を行うか否かの判定を行い、 前記許可 を行うと判定した場合に前記ァドレス変換表の操作の指示を行うとともに、 前記
O Sへ前記ページァゥト処理の許可を通知することを特徴とする入出力制御プロ グラム。
1 6 . 仮想記憶を用いて、 プロセスを制御するとともに、 入出力制御プログラム を介して媒体との間のデータの入出力を行うために計算機により読取可能な媒体 に記憶された〇Sであって、
データの入出力を行うためのメモリ領域である入出力領域を仮想ァドレスで指 定するステップと、
前記メモリ領域を示す仮想ァドレスを実ァドレスに変換するためのァドレス変 換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステ ップと、
計算機からメモリへアクセスする際に前記ァドレス変換表を用いて仮想ァドレ スを実ァドレスに変換するステップと、
全ての前記入出力制御プログラムへページ操作の許可を要求するステップと 全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に 前記ァドレス変換表の操作を行うとともに、'前記ページ操作を行うステップと を計算機に実行させる o s。
1 7 . 請求の範囲第 1 6項に記載の O Sにおいて、
前記ページ操作は、 ページアウト処理と、 プロセスの消滅に伴う仮想アドレス 空間の削除処理と、 ページの変更処理であることを特 ί敷とする〇 S。
1 8 . 請求の範囲第 1 6項に記載の O Sにおいて、
. さらに、 前記 O Sからメモリへのアクセス状況である計算機アクセス情報を記 録し、 必要に応じて前記計算機ァクセス情報を提供するステップと、 前記計算機ァクセス情報を取得し、 入出力制御プログラムからメモリへのァク セス状況である入出力装置ァクセス情報を全ての入出力制御プログラムから取得 し、 前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいて ページの重要度を算出し、 該重要度が低いページをページァゥト処理の対象とし て選別するステップと
を備えたことを特徴とする o s。
1 9 . 請求の範囲第 1 8項に記載の O Sにおいて、
前記重要度を算出する際に、 予め与えられた各入出力制御プログラムの重みに 従って各入出力装置アクセス情報の重み付けを行うことを特徴とする O S。
2 0 . データの転送を行う入出力制御プログラムと、 仮想記憶を用いてプロセス を制御するとともに、 媒体との間のデータの入出力を行う O Sとを備えてなるぺ
—ジ管理プログラムであって、
前記入出力制御プログラムは、
仮想ァドレスを実ァドレスに変換するために前記 O Sから提供されるプロセス 毎のァドレス変換表を保持するステップと、
前記媒体から入力されたデータを解析し、 解析結果を前記 o Sへ提供するステ ップと、
前記入出力制御プログラムからメモリへアクセスする際に前記ァドレス変換表 を用いて仮 ¾1ァドレスを実ァドレスに変換するステップと、
前記実ァドレスを用いてデータの転送を行うステップと、
前記 o sからの要求に応じて前記ァドレス変換表の操作の指示を行うとともに 、 前記 O Sへページ操作の許可を通知するステップと、
前記〇 Sからの要求に応じて前記ァドレス変換表の操作を行うステップと、 を備え、
前記 O Sは、
データの入出力を行うためのメモリ領域である入出力領域を仮想ァドレスで指 定するステップと、 前記メモリ領域を示す仮想ァドレスを実ァドレスに変換するためのァドレス変 換表をプロセス毎に生成するとともに前記入出力制御プログラムへ提供するステ ップと、
全ての前記入出力制御プログラムへページ操作の許可を要求するステップと 全ての前記入出力制御プログラムから前記ページ操作の許可が得られた場合に 前記ァドレス変換表の操作を行うとともに、 前記ページ操作を行うステップと を備えたぺージ管理プログラム。
2 1 . 請求の範囲第 2 0項に記載のページ管理プログラムにおいて、
前記ページ操作は、 ページアウト処理と、 プロセスの消滅に伴う仮想アドレス 空間の削除処理と、 ページの変更処理であることを特徴とするページ管理プログ ラム。
2 2 . 請求の範囲第 2 0項に記載のページ管理プログラムにおいて、
さらに、 前記入出力制御プログラムは、 前記入出力制御プログラムからメモリ へのアクセス状況である入出力装置アクセス情報を記録し、 前記 O Sからの要求 に応じて前記 O Sへ前記入出力装置アクセス状況を提供するステップを備え、 前記ページ操作がページァゥト処理である場合に、 前記入出力装置アクセス情 報に基づいて前記ページァゥト処理の許可を行うか否かの判定を行い、 前記許可 を行うと判定した場合に前記ァドレス変換表の操作の指示を行うとともに、 前記 O Sへ前記ページァゥト処理の許可を通知することを特徴とするページ管理プロ グラム。
2 3 . 請求の範囲第 2 0項に記載のページ管理プログラムにおいて、 · さらに、 前記 O Sは、 前記 O Sからメモリへのアクセス状況である計算機ァク セス情報を記録し、 必要に応じて前記計算機ァクセス情報を提供するステツプと 前記計算機アクセス情報を取得し、 入出力制御プログラムからメモリへのァク セス状況である入出力装置アクセス情報を全ての入出力制御プログラムから取得 し、 前記計算機アクセス情報と全ての前記入出力装置アクセス情報とに基づいて ページの重要度を算出し、 該重要度が低いページをページァゥト処理の対象とし て選別するステップと
を備えたことを特徴とするページ管理プログラム。
2 4 . 請求の範囲第 2 3項に記載のページ管理プログラムにおいて、
前記重要度を算出する際に、 予め与えられた各入出力制御プログラムの重みに 従って各入出力装置アクセス情報の重み付けを行うことを特徴とするページ管理 プログラム。
2 5 . データの転送を行う入出力装置と、 仮想記憶を用いてプロセスを制御する とともに、 媒体との間のデータの入出力を行う計算機とを備えてなる計算機シス テムにおけるぺージ管理方法であって、
前記計算機において前記メモリ領域を示す仮想ァドレスを実ァドレスに変換す るためのァドレス変換表をプロセス毎に生成するとともに前記入出力装置へ提供 するステップと、
前記入出力装置において前記計算機から提供されるプロセス毎のアドレス変換 表を保持するステップと、
前記入出力装置にぉレヽて前記媒体から入力されたデ一タを解析し、 解析結果を 前記計算機へ提供するステップと、
データの入出力を行うためのメモリ領域である入出力領域を仮想ァドレスで指 定するステップと、
前記入出力装置からメモリへアクセスする際に前記ァドレス変換表を用いて仮 想ァドレスを実ァドレスに変換するステップと、
前記実ァドレスを用いてデータの転送を行うステップと、
前記計算機において全ての前記入出力装置へページ操作の許可を要求するステ ップと、
前記入出力装置において前記計算機からの要求に応じて前記ァドレス変換表の 操作を行うとともに、 前記計算機へページ操作の許可を通知するステップと、 前記計算機において全ての前記入出力装置から前記ページ操作の許可が得られ た場合に前記ァドレス変換表の操作を行うとともに、 前記ページ操作を行ぅステ ップと
を備えたページ管理方法。
PCT/JP2003/005928 2003-05-13 2003-05-13 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法 WO2004102401A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004571833A JP4414349B2 (ja) 2003-05-13 2003-05-13 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法
PCT/JP2003/005928 WO2004102401A1 (ja) 2003-05-13 2003-05-13 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法
US11/133,291 US7430649B2 (en) 2003-05-13 2005-05-20 Input/output device, computer, computer system, input/output control program, OS, page management program, and page management method

Applications Claiming Priority (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/133,291 Continuation US7430649B2 (en) 2003-05-13 2005-05-20 Input/output device, computer, computer system, input/output control program, OS, page management program, and page management method

Publications (1)

Publication Number Publication Date
WO2004102401A1 true WO2004102401A1 (ja) 2004-11-25

Family

ID=33446517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/005928 WO2004102401A1 (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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353055A (ja) * 2004-05-27 2005-12-22 Internatl Business Mach Corp <Ibm> ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 富士通株式会社 システム分析プログラム、システム分析装置、およびシステム分析方法

Citations (3)

* 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 ページ数可変型オンデマンドページング方式
JPH06175927A (ja) * 1992-12-03 1994-06-24 Canon Inc メモリ管理方法及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 株式会社日立製作所 実記憶割り当て方法
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

Patent Citations (3)

* 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 ページ数可変型オンデマンドページング方式
JPH06175927A (ja) * 1992-12-03 1994-06-24 Canon Inc メモリ管理方法及び装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353055A (ja) * 2004-05-27 2005-12-22 Internatl Business Mach Corp <Ibm> ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8196139B2 (en) 2004-05-27 2012-06-05 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8495633B2 (en) 2004-05-27 2013-07-23 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8904390B2 (en) 2004-05-27 2014-12-02 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US9086905B2 (en) 2004-05-27 2015-07-21 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US9323560B2 (en) 2004-05-27 2016-04-26 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US10223300B2 (en) 2004-05-27 2019-03-05 International Business Machines Corporation Set buffer state instruction
US10698845B2 (en) 2004-05-27 2020-06-30 International Business Machines Corporation Set buffer state instruction

Also Published As

Publication number Publication date
JPWO2004102401A1 (ja) 2006-07-13
US7430649B2 (en) 2008-09-30
JP4414349B2 (ja) 2010-02-10
US20050216615A1 (en) 2005-09-29

Similar Documents

Publication Publication Date Title
US10853274B2 (en) Primary data storage system with data tiering
US5335334A (en) Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5619690A (en) Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
JP4131514B2 (ja) ネットワークシステム、サーバ、データ処理方法及びプログラム
JP3712922B2 (ja) データ処理システムにおいて独立したデータコピーを行う方法
JP5352491B2 (ja) シン・プロビジョニング・ボリュームのバックアップとリストアのための方法と装置
US7366835B2 (en) Data access responding system, storage system, client apparatus, cache apparatus, and method for accessing data access responding system
US20020166022A1 (en) Access control method, access control apparatus, and computer-readable memory storing access control program
US7743209B2 (en) Storage system for virtualizing control memory
JP5320557B2 (ja) ストレージシステム
JP2005010969A (ja) ネットワークシステム及びスイッチ
JP2017227969A (ja) 制御プログラム、システム、及び方法
US7058692B2 (en) Computer, computer system, and data transfer method
US6892283B2 (en) High speed memory cloner with extended cache coherency protocols and responses
US7430649B2 (en) Input/output device, computer, computer system, input/output control program, OS, page management program, and page management method
US7502917B2 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
US6986013B2 (en) Imprecise cache line protection mechanism during a memory clone operation
CN113243008A (zh) 具有共享页面高速缓存的分布式vfs
JP2000047972A (ja) 入出力制御方式
JP3481391B2 (ja) ファイルデータ分散格納方式
US20040111569A1 (en) High speed memory cloning facility via a coherently done mechanism
US6928524B2 (en) Data processing system with naked cache line write operations
JP4300133B2 (ja) クラスタメモリファイルシステム
JP2004227594A (ja) 計算機システムおよび二次記憶装置
US20240176520A1 (en) Storage system and storage control method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004571833

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11133291

Country of ref document: US