JPS61245253A - 仮想計算機の入出力制御方式 - Google Patents
仮想計算機の入出力制御方式Info
- Publication number
- JPS61245253A JPS61245253A JP60086356A JP8635685A JPS61245253A JP S61245253 A JPS61245253 A JP S61245253A JP 60086356 A JP60086356 A JP 60086356A JP 8635685 A JP8635685 A JP 8635685A JP S61245253 A JPS61245253 A JP S61245253A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- disk
- address
- input
- output
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、仮想計算機で使用する仮想磁気ディスク装置
を仮想計算機メモリとは別の仮想メモリ空間上に設け、
仮想計算機モニタのページング処理と仮想メモリ間のデ
ータ転送により、仮想計算機の入出力を実現した仮想計
算機システムに関するものである。
を仮想計算機メモリとは別の仮想メモリ空間上に設け、
仮想計算機モニタのページング処理と仮想メモリ間のデ
ータ転送により、仮想計算機の入出力を実現した仮想計
算機システムに関するものである。
仮想計算機システムでは、1台の計算機システム内に複
数個の論理的な計算機(仮想計算機)を作り出し、これ
らの仮想計算機では一般のオペレ−ティングシステム(
以下、O8という)をそのまま動作させることができる
。この仮想計算機を実現するため、その生成、管理を行
う仮想計算機モニタではCPUやメモリなどのハードウ
ェア資源を仮想化する技術を持つ。CPUについては、
時分割制御により各仮想計算機に均等にCPU時間を割
り振り、メモリについては、仮想メモリ方式により各仮
想計算機固有のメモリ空間を生成し、仮想計算機に与え
る。これらのメモリ空間は、それぞれ独立した仮想メモ
リ空間であり、他の仮想計算機からのメモリ破壊を防止
している。また入出力については、実入出力装置を仮想
計算機に接続した仮想入出力装置としてそのまま使う専
有装置方式と実入出力装置を複数の仮想計算機の仮想入
出力装置として共用して使う多重処理方式とがある。前
者の例としては、磁気テープ装置および磁気ディスク装
置が代表され、後者の例としては、カードリーダー5ラ
インプリンタなどのユニットレコード装置が一般に使用
される。仮想計算機の基本概念を第2図に示す。
数個の論理的な計算機(仮想計算機)を作り出し、これ
らの仮想計算機では一般のオペレ−ティングシステム(
以下、O8という)をそのまま動作させることができる
。この仮想計算機を実現するため、その生成、管理を行
う仮想計算機モニタではCPUやメモリなどのハードウ
ェア資源を仮想化する技術を持つ。CPUについては、
時分割制御により各仮想計算機に均等にCPU時間を割
り振り、メモリについては、仮想メモリ方式により各仮
想計算機固有のメモリ空間を生成し、仮想計算機に与え
る。これらのメモリ空間は、それぞれ独立した仮想メモ
リ空間であり、他の仮想計算機からのメモリ破壊を防止
している。また入出力については、実入出力装置を仮想
計算機に接続した仮想入出力装置としてそのまま使う専
有装置方式と実入出力装置を複数の仮想計算機の仮想入
出力装置として共用して使う多重処理方式とがある。前
者の例としては、磁気テープ装置および磁気ディスク装
置が代表され、後者の例としては、カードリーダー5ラ
インプリンタなどのユニットレコード装置が一般に使用
される。仮想計算機の基本概念を第2図に示す。
実計算機11上で仮想計算機モニタ(以下、VMMとい
う)14が動作し、仮想計算機12を作り出す。この仮
想計算機12は、実計算機11とほぼ同等の機能を有し
ているため、一般のO8をそのまま動作させることがで
き、また、この0815により生成される拡張計算機1
3の機能上で、ユーザプログラム16の実行が可能とな
る。
う)14が動作し、仮想計算機12を作り出す。この仮
想計算機12は、実計算機11とほぼ同等の機能を有し
ているため、一般のO8をそのまま動作させることがで
き、また、この0815により生成される拡張計算機1
3の機能上で、ユーザプログラム16の実行が可能とな
る。
ここで、実計算機11とVMM14の間およびVMM1
4の生成する仮想計算機12と0315の間のインタフ
ェースはマシンインタフェースであり、拡張計算機13
とユーザプログラム16の間はOSインタフェースであ
る。
4の生成する仮想計算機12と0315の間のインタフ
ェースはマシンインタフェースであり、拡張計算機13
とユーザプログラム16の間はOSインタフェースであ
る。
一方、この仮想計算機12の入出力を高速化する方式と
して仮想入出力方式がある。この方式は。
して仮想入出力方式がある。この方式は。
仮想計算機12の所有する仮想磁気ディスク装置(以下
、仮想ディスクという)の内容をVMM14の生成する
仮想メモリ空間に格納し、仮想計算機12から仮想ディ
スクに対する入出力命令およびこの入出力命令で指示す
る入出力チャネルプログラムをシミュレーションし、上
記仮想ディスクへのデータ転送要求はすべて仮想ディス
クの内容を持つ仮想メモリ空間(以下、仮想ディスク空
間という)へのデータ転送要求に置換え、メモリ間のデ
ータ移動により入出力を実現する方式である。この仮想
ディスク空間の概念図を第3図に示す。この図は仮想デ
ィスク空間を持つ仮想計算機の構成を示したものであり
、仮想計算機のメモリ空間(以下、仮想メモリという)
21とは別に仮想ディスク空間22が存在する。また、
その他に。
、仮想ディスクという)の内容をVMM14の生成する
仮想メモリ空間に格納し、仮想計算機12から仮想ディ
スクに対する入出力命令およびこの入出力命令で指示す
る入出力チャネルプログラムをシミュレーションし、上
記仮想ディスクへのデータ転送要求はすべて仮想ディス
クの内容を持つ仮想メモリ空間(以下、仮想ディスク空
間という)へのデータ転送要求に置換え、メモリ間のデ
ータ移動により入出力を実現する方式である。この仮想
ディスク空間の概念図を第3図に示す。この図は仮想デ
ィスク空間を持つ仮想計算機の構成を示したものであり
、仮想計算機のメモリ空間(以下、仮想メモリという)
21とは別に仮想ディスク空間22が存在する。また、
その他に。
仮想計算機全体を制御する仮想CPU24.入出力操作
を行う仮想コンソール25、仮想ラインプリンタ(LP
)26、仮想カードリーダー(CR)27、仮想磁気テ
ープ装置(MT)28などから構成される。
を行う仮想コンソール25、仮想ラインプリンタ(LP
)26、仮想カードリーダー(CR)27、仮想磁気テ
ープ装置(MT)28などから構成される。
仮想ディスク空間22は、仮想計算機に取り付けられた
仮想ディスク23の内容を持つものであり、仮想ディス
ク23の容量に従い1台の仮想ディスク23に対し、複
数の仮想ディスク空間22を構成することができる。こ
れは、仮想ディスク空間22内のデータ位置を示す仮想
アドレスが仮想メモリ21の上限数を越えた場合に作成
されるものである。例えば、24ビツトのアドレッシン
グモードの場合、1空間最大16MB(メガバイト)ま
でしか表すことができないため、20MBの容量を持つ
仮想ディスクを仮想ディスク空間に格納するためには、
16MBのメモリ゛空間4MBのメモリ空間の2面の空
間を必要とする。第3図の例では、この複数の仮想ディ
スク空間が作成されている様子を示している。
仮想ディスク23の内容を持つものであり、仮想ディス
ク23の容量に従い1台の仮想ディスク23に対し、複
数の仮想ディスク空間22を構成することができる。こ
れは、仮想ディスク空間22内のデータ位置を示す仮想
アドレスが仮想メモリ21の上限数を越えた場合に作成
されるものである。例えば、24ビツトのアドレッシン
グモードの場合、1空間最大16MB(メガバイト)ま
でしか表すことができないため、20MBの容量を持つ
仮想ディスクを仮想ディスク空間に格納するためには、
16MBのメモリ゛空間4MBのメモリ空間の2面の空
間を必要とする。第3図の例では、この複数の仮想ディ
スク空間が作成されている様子を示している。
第4図は、仮想計算機の入出力命令のシミュレーション
処理を示した図である。
処理を示した図である。
次に、仮想入出力方式の処理手順を第4図を用いて説明
する。
する。
入出力の実行時、仮想計算機上のO8は該当する仮想デ
ィスクに対し、入出力命令である5IO(Start
I / O)命令を発行する。このSI○命令は特権命
令であり、仮想計算機から発行されると、仮想の特権命
令、つまり非特権命令として実行されるため、特権命令
例外のプログラム割り込みが発行し、VMMに制御が渡
る。第4図はこのプログラム割り込み処理を示したもの
である。
ィスクに対し、入出力命令である5IO(Start
I / O)命令を発行する。このSI○命令は特権命
令であり、仮想計算機から発行されると、仮想の特権命
令、つまり非特権命令として実行されるため、特権命令
例外のプログラム割り込みが発行し、VMMに制御が渡
る。第4図はこのプログラム割り込み処理を示したもの
である。
VMMでは、プログラム割り込みが発生すると、その割
り込みの割り込みコードを調べ(ステップ401)、特
権命令例外割り込みであることを感知し、次に特権命令
がSIO命令であるか否かを割り込みアドレスの示すメ
モリの内容を参照することで判断する(ステップ4o2
)。次にSIO命令のオペランドを調べ、このオペラン
ドで指定した仮想ディスク装置アドレスが目的の仮想入
出力を行う仮想ディスクか否かを判定する(ステップ4
03)、この判定処理403は、仮想ディスクを定義し
た仮想計算機のディレクトリファイルの入出力構成文よ
り作成される仮想ディスク対応の管理テーブル上に仮想
入出力モードピットを持ち、この入出力モードピットを
判定することにより行われる。もし、仮想入出力用の仮
想ディスクならば、次に入出力チャネルプログラムのシ
ミュレーションを行う(ステップ404,405)。
り込みの割り込みコードを調べ(ステップ401)、特
権命令例外割り込みであることを感知し、次に特権命令
がSIO命令であるか否かを割り込みアドレスの示すメ
モリの内容を参照することで判断する(ステップ4o2
)。次にSIO命令のオペランドを調べ、このオペラン
ドで指定した仮想ディスク装置アドレスが目的の仮想入
出力を行う仮想ディスクか否かを判定する(ステップ4
03)、この判定処理403は、仮想ディスクを定義し
た仮想計算機のディレクトリファイルの入出力構成文よ
り作成される仮想ディスク対応の管理テーブル上に仮想
入出力モードピットを持ち、この入出力モードピットを
判定することにより行われる。もし、仮想入出力用の仮
想ディスクならば、次に入出力チャネルプログラムのシ
ミュレーションを行う(ステップ404,405)。
この入出力チャネルプログラムは、各入出力動作を記述
したC CW (Channel Command W
ord)より構成される。通常の入出力動作におけpc
’cW。
したC CW (Channel Command W
ord)より構成される。通常の入出力動作におけpc
’cW。
例を第5図に示す。
以下、CCWの説明して第4図に戻る。
(i )SEEKコマンド41
ディスクヘッドを指定のシリンダ番号位置に位置付ける
。
。
(…)Set 5ectorコマンド42セクタ番号を
セットし、回転で検知されるセクタ番号位置が目的のセ
クタ位置に到達するまで、入出力チャネルと入出力制御
装置の切り離しを行う。
セットし、回転で検知されるセクタ番号位置が目的のセ
クタ位置に到達するまで、入出力チャネルと入出力制御
装置の切り離しを行う。
(iii )Searchコマンド43目的のレコード
を捜す。目的のレコードは5earchコマンド43の
データアドレスで示すCCHIIRとディスク上のレコ
ードのカウント部に入っている(1.CHHRとの照合
により求められる。
を捜す。目的のレコードは5earchコマンド43の
データアドレスで示すCCHIIRとディスク上のレコ
ードのカウント部に入っている(1.CHHRとの照合
により求められる。
(iv)TICコマンド44
Searchコマンド43と連結して使われ、目的のレ
コードが見付かるまで、5earchコマンド43に戻
り、サーチを繰り返す。
コードが見付かるまで、5earchコマンド43に戻
り、サーチを繰り返す。
(v )READ/ WRITEコマンド45READ
(入力)またはRITE (出力)動作を指定する
コマンドであり、バッファアドレスと転送バイト数によ
り、ディスク上のレコードの入出力を行う。
(入力)またはRITE (出力)動作を指定する
コマンドであり、バッファアドレスと転送バイト数によ
り、ディスク上のレコードの入出力を行う。
このようなチャネルプログラムを準備し、そのアドレス
をメモリ上の固定番地にあるCAW(Channel
AddressWord) 46にセットし、目的のデ
ィスク装置アドレスをオペランドに指定して、SI○命
令を発行することにより入出力が実行される。第4図の
仮想入出力方式の処理では、このCCWを解析しくステ
ップ404)、シミュレーションを行う(ステップ40
5)。このシミュレーション処理405は次の通りであ
る。5earchコマンド43で指定するレコードの物
理アドレスCCHHRを該当する仮想ディスクに対応し
た仮想ディスク空間内の仮想アドレスに変換する。この
変換処理1よ、別出願の明細書(発明の名称:仮想計算
機の入出力方式、特願昭60− 発明者:高崎(本発明者)他2名)で示した通り、ハツ
シング方式などにより実行できる。この例を第6図に示
す。CCHHR変換テーブルは、ハツシュ回路56、ハ
ツシュテーブル57およびシノニムテーブル58より構
成され、CCHHRをハツシュ回路56にてハツシュテ
ーブルエントリ番号に変換し、ハツシュテーブル57の
エントリ内にCCHHRと仮想アドレスを入れておくこ
とにより(この場合を51で示す) 、CCHHRの仮
想アドレス変換が可能となる。もし、この変換で同一イ
ンデックスの発生、つまり、シノニムが発生した場合5
2には、シノニムテーブル58を使用する。このシノニ
ムテーブル58には、シノニムテーブルとして同一アン
デツクスを示すCCHHRがチェインされており、この
チェインをたどり、入力のCCH)IR53と一致する
CCHHRを仮想アドレスレジスタ55に′選び出すこ
とにより、目的の仮想アドレスを得ることができる。ま
た、ハツシュテーブル57およびシノニムテーブル58
は仮想ディスク対応に設けられており、そのアドレスは
仮想ディスクの管理テーブル54上に保持されている。
をメモリ上の固定番地にあるCAW(Channel
AddressWord) 46にセットし、目的のデ
ィスク装置アドレスをオペランドに指定して、SI○命
令を発行することにより入出力が実行される。第4図の
仮想入出力方式の処理では、このCCWを解析しくステ
ップ404)、シミュレーションを行う(ステップ40
5)。このシミュレーション処理405は次の通りであ
る。5earchコマンド43で指定するレコードの物
理アドレスCCHHRを該当する仮想ディスクに対応し
た仮想ディスク空間内の仮想アドレスに変換する。この
変換処理1よ、別出願の明細書(発明の名称:仮想計算
機の入出力方式、特願昭60− 発明者:高崎(本発明者)他2名)で示した通り、ハツ
シング方式などにより実行できる。この例を第6図に示
す。CCHHR変換テーブルは、ハツシュ回路56、ハ
ツシュテーブル57およびシノニムテーブル58より構
成され、CCHHRをハツシュ回路56にてハツシュテ
ーブルエントリ番号に変換し、ハツシュテーブル57の
エントリ内にCCHHRと仮想アドレスを入れておくこ
とにより(この場合を51で示す) 、CCHHRの仮
想アドレス変換が可能となる。もし、この変換で同一イ
ンデックスの発生、つまり、シノニムが発生した場合5
2には、シノニムテーブル58を使用する。このシノニ
ムテーブル58には、シノニムテーブルとして同一アン
デツクスを示すCCHHRがチェインされており、この
チェインをたどり、入力のCCH)IR53と一致する
CCHHRを仮想アドレスレジスタ55に′選び出すこ
とにより、目的の仮想アドレスを得ることができる。ま
た、ハツシュテーブル57およびシノニムテーブル58
は仮想ディスク対応に設けられており、そのアドレスは
仮想ディスクの管理テーブル54上に保持されている。
次に、入力動作か出力動作かをR11!AD/WRIT
Eコマンド45で判断し、このコマンド45で指定する
人出力バツファと該当する仮想ディスク空間内のデータ
ブロックとでデータ転送を実施する(ステップ406)
、このデータ転送に使用する仮想計算機上の人出力バツ
ファアドレス、仮想ディスク空間上のデータブロックア
ドレスはいずれも仮想アドレスであり、データ転送時に
は実アドレスに変換する必要がある。この実アドレス変
換は、通常のアドレス変換命令L RA (Load
RealAddress )を使用して実施できるが、
この変換で変換例外が発生した場合、つまり実メモリ上
に該当する仮想メモリページが存在しない場合には、V
MMのページング装置よりページングする必要がある(
ステップ407)、この制御は、VMMのメモリ管理が
行う(ステップ408)、また。
Eコマンド45で判断し、このコマンド45で指定する
人出力バツファと該当する仮想ディスク空間内のデータ
ブロックとでデータ転送を実施する(ステップ406)
、このデータ転送に使用する仮想計算機上の人出力バツ
ファアドレス、仮想ディスク空間上のデータブロックア
ドレスはいずれも仮想アドレスであり、データ転送時に
は実アドレスに変換する必要がある。この実アドレス変
換は、通常のアドレス変換命令L RA (Load
RealAddress )を使用して実施できるが、
この変換で変換例外が発生した場合、つまり実メモリ上
に該当する仮想メモリページが存在しない場合には、V
MMのページング装置よりページングする必要がある(
ステップ407)、この制御は、VMMのメモリ管理が
行う(ステップ408)、また。
データ転送の実行には大容量のデータ転送に有効なMV
CL (Move Long )命令を利用する。
CL (Move Long )命令を利用する。
その他、5EEKコマンド41のようなディスクヘッド
の移動制御を行うコマンドはディスクヘッドを持たない
仮想ディスク空間とは関係なく省酩できるため、 N
OP (Nap OPeration :何もしない)
として扱う。Set 5ectorコマンド42による
入出力チャネルの切り離しは、入出力チャネルを使用し
ない仮想入出力方式では省略できる。TICコマンド4
4は、5earchコマンド43のシミュレーションが
サーチのような検索動作ではなく、オペランドのCCH
HRより直接計算にて目的のレコードアドレスを求める
ことができるため、TICコマンドも必要なく、省略で
きる。このように、仮想入出力方式ではディスクヘッド
の移動制御など磁気ディスクの複雑な動作制御を省略で
きるため、入出力オペレーションも簡略化することがで
きる。
の移動制御を行うコマンドはディスクヘッドを持たない
仮想ディスク空間とは関係なく省酩できるため、 N
OP (Nap OPeration :何もしない)
として扱う。Set 5ectorコマンド42による
入出力チャネルの切り離しは、入出力チャネルを使用し
ない仮想入出力方式では省略できる。TICコマンド4
4は、5earchコマンド43のシミュレーションが
サーチのような検索動作ではなく、オペランドのCCH
HRより直接計算にて目的のレコードアドレスを求める
ことができるため、TICコマンドも必要なく、省略で
きる。このように、仮想入出力方式ではディスクヘッド
の移動制御など磁気ディスクの複雑な動作制御を省略で
きるため、入出力オペレーションも簡略化することがで
きる。
これらのCCWシミュレーション処理がすべて終了し、
データ転送が完了すると、仮想計算機に渡す仮想終了割
り込みを作成しくステップ409)、仮想計算機ディス
パッチャを経由して仮想計算機に制御が戻る(ステップ
410)。
データ転送が完了すると、仮想計算機に渡す仮想終了割
り込みを作成しくステップ409)、仮想計算機ディス
パッチャを経由して仮想計算機に制御が戻る(ステップ
410)。
このように仮想入出力方式を採用した仮想計算機システ
ムでは、仮想ディスクに対する入出力を仮想メモリ間の
データ転送と効率の良いページング入出力に置換えるこ
とができるため、仮想計算機の処理能力を大幅な向上が
可能である。しかしながら、この仮想入出力方式では1
次のような点については配慮されていなかった。
ムでは、仮想ディスクに対する入出力を仮想メモリ間の
データ転送と効率の良いページング入出力に置換えるこ
とができるため、仮想計算機の処理能力を大幅な向上が
可能である。しかしながら、この仮想入出力方式では1
次のような点については配慮されていなかった。
(i)仮想入出力方式では、仮想ディスク空間の作成は
仮想計算機が発行する入出力チャネルプログラムのRI
TE系コマンドにて作成され、READ系コマンドにて
、その内容の読出しを行うことになる。
仮想計算機が発行する入出力チャネルプログラムのRI
TE系コマンドにて作成され、READ系コマンドにて
、その内容の読出しを行うことになる。
そして、その内容を保持する手段がないため、仮想計算
機が稼動している間しか存在しない一時ディスクとして
しか使用できず、使用範囲が限定される。
機が稼動している間しか存在しない一時ディスクとして
しか使用できず、使用範囲が限定される。
(…)仮想入出力方式を使用する仮想ディスクは一時デ
ィスクであり、仮想計算機上のO8にとっては新品のデ
ィスクとして扱うため、使用開始時には常にディスクの
初期設定(イニシャライズ)処理が必要とされる。
ィスクであり、仮想計算機上のO8にとっては新品のデ
ィスクとして扱うため、使用開始時には常にディスクの
初期設定(イニシャライズ)処理が必要とされる。
(in)仮想ディスク空間は仮想メモリであり1作成し
た内容を保存できない。
た内容を保存できない。
本発明の目的は、このような問題を解決し、従来の仮想
入出力方式を一時的に作成される仮想ディスクだけでは
なく、恒久ファイルの存在する一般の磁気ディスク装置
にまで適用し、仮想計算機の入出力処理を高速化するこ
とができる仮想計算機の入出力制御方式を提供すること
にある。
入出力方式を一時的に作成される仮想ディスクだけでは
なく、恒久ファイルの存在する一般の磁気ディスク装置
にまで適用し、仮想計算機の入出力処理を高速化するこ
とができる仮想計算機の入出力制御方式を提供すること
にある。
上記目的を達成するために、本発明では次のような方式
を採用した。
を採用した。
(i)仮想計算機の所有する仮想ディスクの内、仮想入
出力方式を使用する仮想ディスクの内容を該仮想ディス
クの使用前に仮想ディスク空間上に読込む。この読込み
の契機としては、仮想計算機の起動時または該仮想計算
機ユーザが指定する任意の時点に設定する。これを実現
するため、次の制御文または制御コマンドを設ける。
出力方式を使用する仮想ディスクの内容を該仮想ディス
クの使用前に仮想ディスク空間上に読込む。この読込み
の契機としては、仮想計算機の起動時または該仮想計算
機ユーザが指定する任意の時点に設定する。これを実現
するため、次の制御文または制御コマンドを設ける。
(a)ディレクトリファイル中のVDISK文仮想計算
機起動時のパラメータである仮想計算機ディレクトリフ
ァイル中の入出力構成文に仮想ディスク空間の作成を定
義する仮想ディスク文を設ける。この文をVDISK文
と呼び、第7図に例を示す。このVDISK文には次の
情報を指定する。
機起動時のパラメータである仮想計算機ディレクトリフ
ァイル中の入出力構成文に仮想ディスク空間の作成を定
義する仮想ディスク文を設ける。この文をVDISK文
と呼び、第7図に例を示す。このVDISK文には次の
情報を指定する。
■仮想装置アドレス
仮想ディスクの装置アドレスを指定する。
デバイスタイプ
■仮想ディスクのデバイスタイプを指定する。該デバイ
スタイプの指定によりVMMは仮想ディスクのシリンダ
数、トラック数、トラックサイズなどのデバイス情報を
得ることができる。
スタイプの指定によりVMMは仮想ディスクのシリンダ
数、トラック数、トラックサイズなどのデバイス情報を
得ることができる。
■ボリュームシリアル番号または実装置アドレス該仮想
ディスクが存在する実デイスク装置を、実デイスク装置
のボリュームシリアル番号または実デイスク装置の装置
アドレスで指定する。これによりV M M ci、処
理対象の実デイスク装置を識別することができる。
ディスクが存在する実デイスク装置を、実デイスク装置
のボリュームシリアル番号または実デイスク装置の装置
アドレスで指定する。これによりV M M ci、処
理対象の実デイスク装置を識別することができる。
■開始シリンダ番号および終了シリンダ番号実デイスク
全体ではなく一部を仮想ディスクとして使用する場合(
例えば、IBM社のVM/CM S (Conver
sational Mon1tor System )
のミニディスクの場合)、または実ディスクの一部だけ
を取出し、仮想ディスクとして使用したい場合に指定す
る。この指定はシリンダ単位に行う。この指定がない場
合には、実デイスク装置の全シリンダが仮想ディスク空
間の対象となる。
全体ではなく一部を仮想ディスクとして使用する場合(
例えば、IBM社のVM/CM S (Conver
sational Mon1tor System )
のミニディスクの場合)、または実ディスクの一部だけ
を取出し、仮想ディスクとして使用したい場合に指定す
る。この指定はシリンダ単位に行う。この指定がない場
合には、実デイスク装置の全シリンダが仮想ディスク空
間の対象となる。
VMMでは、このVDISK文を仮想計算機の起動時に
読取り、該仮想ディスク用の仮想メモリ空間を作成する
。仮想メモリ空間の作成方法は、仮想メモリ空間をアド
レッシングするための変換テーブル(セグメント/ペー
ジテーブル)を作成し、該変換テーブルアドレスを仮想
ディスク毎に設けた管理テーブル内にセットすることに
より行われる0次に、該仮想ディスクの内容を該仮想デ
ィスクが存在する実ディスクから読込み、該仮想メモリ
空間に移す。この読込み方法としては、カウント部、キ
一部、データ部より構成されるレコードを1トラック分
1度にすべて読込む方法が、オーバヘッドが少なくと良
い。そのためには、読込み用のCCWとしてREAD
M CK D (Read MultipleCou
nt Key And Date)コマンドを利用する
(例えば、Mシリーズ計算機マニュアル:Mシリーズ統
合ディスク制御機構(8080−2−012)参照)。
読取り、該仮想ディスク用の仮想メモリ空間を作成する
。仮想メモリ空間の作成方法は、仮想メモリ空間をアド
レッシングするための変換テーブル(セグメント/ペー
ジテーブル)を作成し、該変換テーブルアドレスを仮想
ディスク毎に設けた管理テーブル内にセットすることに
より行われる0次に、該仮想ディスクの内容を該仮想デ
ィスクが存在する実ディスクから読込み、該仮想メモリ
空間に移す。この読込み方法としては、カウント部、キ
一部、データ部より構成されるレコードを1トラック分
1度にすべて読込む方法が、オーバヘッドが少なくと良
い。そのためには、読込み用のCCWとしてREAD
M CK D (Read MultipleCou
nt Key And Date)コマンドを利用する
(例えば、Mシリーズ計算機マニュアル:Mシリーズ統
合ディスク制御機構(8080−2−012)参照)。
この磁気ディスク空間内へのレコードの格納と同時に、
該レコードのCCHHRと仮想アドレスの対応付けを第
6図に示すようなハツシュテーブルエントリまたはシノ
ニムテーブルエントリ内にセットする。
該レコードのCCHHRと仮想アドレスの対応付けを第
6図に示すようなハツシュテーブルエントリまたはシノ
ニムテーブルエントリ内にセットする。
(b)仮想ディスク空間作成コマンド(VDISKコマ
ンド) 稼動中の仮想計算機を停止することなく、任意の時点で
仮想ディスク空間を作成できるようにするため、仮想デ
ィスク空間作成用のオペレータコマンドを設ける。この
コマンド例を第8図に示す。
ンド) 稼動中の仮想計算機を停止することなく、任意の時点で
仮想ディスク空間を作成できるようにするため、仮想デ
ィスク空間作成用のオペレータコマンドを設ける。この
コマンド例を第8図に示す。
ただし、第8図の例では、下記に示す仮想ディスク空間
の消去のオペランド(OF’Fの指定)も含んでいる。
の消去のオペランド(OF’Fの指定)も含んでいる。
該コマンドで指定する゛オペランドの内容は、上記項番
(a)と同じく仮想装置アドレス。
(a)と同じく仮想装置アドレス。
デバイスタイプ、ボリュームシリアル番号または実装置
アドレス、および開始と終了シリンダ番号から構成され
る。このコマンドが仮想計算機使用者(仮想計算機オペ
レータ)より発行されると、VMMでは上記(a)と同
様、実装置上にある仮想ディスクの内容を仮想ディスク
空間上に移す。
アドレス、および開始と終了シリンダ番号から構成され
る。このコマンドが仮想計算機使用者(仮想計算機オペ
レータ)より発行されると、VMMでは上記(a)と同
様、実装置上にある仮想ディスクの内容を仮想ディスク
空間上に移す。
そして、その後の仮想計算機の入出力はすべて該仮想デ
ィスク空間と仮想計算機のメモリ空間とのデータ転送に
より実行する。
ィスク空間と仮想計算機のメモリ空間とのデータ転送に
より実行する。
このように、VDISK文、VDISKコマンドの設定
および実デイスク上に存在する仮想ディスクの読込み処
理の設定により、恒久ファイルを仮想ディスク空間上に
置くことができる。
および実デイスク上に存在する仮想ディスクの読込み処
理の設定により、恒久ファイルを仮想ディスク空間上に
置くことができる。
(…)仮想計算機の終了時または仮想計算機オペレータ
の要求により、仮想ディスク空間の内容を仮想ディスク
上に移す、仮想計算機の終了時には、現在どの仮想ディ
スクが仮想ディスク空間を使用しているかは各仮想ディ
スクの管理テーブルのハツシュテーブルのアドレスフィ
ールドに値が入っているか否かで判断できるため、該仮
想ディスク空間の内容を読込むのとは、逆の手順により
、仮想ディスクの存在する実デイスク装置上に書き出す
、ただし、システムのライブラリファイルなど。
の要求により、仮想ディスク空間の内容を仮想ディスク
上に移す、仮想計算機の終了時には、現在どの仮想ディ
スクが仮想ディスク空間を使用しているかは各仮想ディ
スクの管理テーブルのハツシュテーブルのアドレスフィ
ールドに値が入っているか否かで判断できるため、該仮
想ディスク空間の内容を読込むのとは、逆の手順により
、仮想ディスクの存在する実デイスク装置上に書き出す
、ただし、システムのライブラリファイルなど。
読込み動作だけを行い、書き込み動作を行わないREA
Dオンリーの仮想ディスク空間に対しては、書込みは行
わない。この制御は、仮想ディスクの管理テーブル内に
判断ビットを持ち、仮想ディスクへのチャネルプログラ
ムでvRITE系コマンドを検出した時のみ該ビットを
セットするようにする。
Dオンリーの仮想ディスク空間に対しては、書込みは行
わない。この制御は、仮想ディスクの管理テーブル内に
判断ビットを持ち、仮想ディスクへのチャネルプログラ
ムでvRITE系コマンドを検出した時のみ該ビットを
セットするようにする。
一方、仮想ディスク上のデータの保全のため、任意の時
点で仮想ディスク空間の中身を実ディスクとに書き出す
必要がある。そのため、仮想ディスク空間の書込み用コ
マンドを用意する。該コマンドは第8図のVDISKコ
マンドにオペランドを追加したものであり、次の指定項
目からなる。
点で仮想ディスク空間の中身を実ディスクとに書き出す
必要がある。そのため、仮想ディスク空間の書込み用コ
マンドを用意する。該コマンドは第8図のVDISKコ
マンドにオペランドを追加したものであり、次の指定項
目からなる。
■仮想装置アドレス
仮想装置アドレスを指定し、該当の仮想ディスク空間を
定義する。
定義する。
■” OF F ”指定
“OFF”と指定することにより、該仮想ディスク空間
の書込みを指示する。書込みは、第6図に示す全てのC
GII)IHに対し行われる。書込み動作は、RITE
CK D (Illrite Count Key
And Date)コマンドによりルーコードずつ出力
するが、コマンドチェインを利用することにより複数レ
コードを連続して出力することができ、効率的に実行す
ることができる。
の書込みを指示する。書込みは、第6図に示す全てのC
GII)IHに対し行われる。書込み動作は、RITE
CK D (Illrite Count Key
And Date)コマンドによりルーコードずつ出力
するが、コマンドチェインを利用することにより複数レ
コードを連続して出力することができ、効率的に実行す
ることができる。
以下、本発明の一実施例を、図面により詳細に説明する
。
。
本実施例は、仮想ディスクの読込み処理と書込み処理に
分かれる。
分かれる。
(i)読込み処理
第1図(a)は、本発明を適用したVMMによる読込み
処理のフローチャー1へ図である。これは。
処理のフローチャー1へ図である。これは。
第7図のVDISK文および第8図のVDISKコマン
ドの発行により、VMMで実行する仮想ディスクの読込
み処理をフローチャートで示したものである。
ドの発行により、VMMで実行する仮想ディスクの読込
み処理をフローチャートで示したものである。
以下、第1図(a)の処理を説明する。
まず、V[)ISに文に記述した仮想装置アドレス対応
に管理テーブル54を作成する(ステップ101)。
に管理テーブル54を作成する(ステップ101)。
次に、CCIIIIRの仮想アドレスへの変換に必要な
ハツシュテーブル57およびシノニムテーブル58を確
保し、そのアドレスを上記管理テーブル54内にセット
する。また、同時に仮想メモリ空間を作成し、そのセグ
メントテーブルアドレスも管理テーブル54上にセット
する(ステップ102)。
ハツシュテーブル57およびシノニムテーブル58を確
保し、そのアドレスを上記管理テーブル54内にセット
する。また、同時に仮想メモリ空間を作成し、そのセグ
メントテーブルアドレスも管理テーブル54上にセット
する(ステップ102)。
テーブルをセットした後、VDISK文のデバイスタイ
プより、該当する仮想ディスクのシリンダ当たりのトラ
ック数およびトラック長を求める(ステップ1o3)。
プより、該当する仮想ディスクのシリンダ当たりのトラ
ック数およびトラック長を求める(ステップ1o3)。
これは、デバイス特性を記述した定数テーブルを用意し
ておき、デバイスタイプに応じて、その値を取出すこと
により得ることができる。
ておき、デバイスタイプに応じて、その値を取出すこと
により得ることができる。
実デイスク上のレコードをトラック単位に読出すため、
トラック長分のバッファを確保しておき(ステップ10
4)、仮想アドレスの初期値としてゼロを設定する(ス
テップ105)。仮想ディスク空間の中は、キー(K)
部92とデータ(D)部93から構成されており(この
例を第9図に示す)、仮想アドレスはこの先頭アドレス
を示すことになる。レコードを仮想ディスク空間23内
に読込むに従って、この仮想アドレスは、各々のレコー
ドのキ一部とデータ部の長さを加えることにより更新さ
れる。このキ一部92とデータ部93の長さは、レコー
ドのカウント(C)部91に入っている値を利用する。
トラック長分のバッファを確保しておき(ステップ10
4)、仮想アドレスの初期値としてゼロを設定する(ス
テップ105)。仮想ディスク空間の中は、キー(K)
部92とデータ(D)部93から構成されており(この
例を第9図に示す)、仮想アドレスはこの先頭アドレス
を示すことになる。レコードを仮想ディスク空間23内
に読込むに従って、この仮想アドレスは、各々のレコー
ドのキ一部とデータ部の長さを加えることにより更新さ
れる。このキ一部92とデータ部93の長さは、レコー
ドのカウント(C)部91に入っている値を利用する。
実ディスクより1トラック分のレコードを読込む(ステ
ップ106)。どの実ディスクから読込むかはVDIS
K文のボリュームシリアル番号または実デイスク装置ア
ドレスで指定した値により決定される。また、どのシリ
ンダのトラックから読込みを開始するかは、 VDIS
K文に開始シリンダ番号が指定してあれば該当する番号
のシリンダから。
ップ106)。どの実ディスクから読込むかはVDIS
K文のボリュームシリアル番号または実デイスク装置ア
ドレスで指定した値により決定される。また、どのシリ
ンダのトラックから読込みを開始するかは、 VDIS
K文に開始シリンダ番号が指定してあれば該当する番号
のシリンダから。
指定していなければシリンダ0から読込みを開始する。
トラックはトラック0から開始する。これは仮想ディス
クの指定が、シリンダ境界を原則としているからである
。
クの指定が、シリンダ境界を原則としているからである
。
読込みが終了すると、バッファよりルーコードずつ取出
しくステップ107)、このレコードのカウント部に入
っているCCHIIRを第6図のハツシュ回路56を使
って、ハツシュテーブルエントリ(以下、)I T E
という)番号に変換する(ステンプ108)。
しくステップ107)、このレコードのカウント部に入
っているCCHIIRを第6図のハツシュ回路56を使
って、ハツシュテーブルエントリ(以下、)I T E
という)番号に変換する(ステンプ108)。
変換されたHTEに既にデータが入っているか否かI
(Invalid )ビット59で判定しくステップ1
09)、入っていなければ(Iビット59が′1′の場
合)該当するHTEにCCHHRと仮想アドレスをセッ
トすると共に、■ビット59を′02にする(ステップ
110)。もし、入っていれば(エビット59がl O
j の場合)、シノニムレコードの発生として、シノニ
ムテーブル58より空きエントリを得ると共に、このシ
ノニムレコードの発生が初めてか否か、つまり既にシノ
ニムレコードが発生しているか否か判断する(ステップ
111)、それは、上記HTEエントリのS(Syno
nym )ビット60の判定にて行い、このSビット6
0が′O′の場合は初めてであり、′1′の場合は初め
てでないことを示す。初めての場合には、上記HTEに
は、 CCHHRと仮想アドレスのデータが入っている
ため、そのデータもシノニムテーブルに移し、チェイン
する。もし、Sビット60が11′の場合には、既にシ
ノニムレコードは存在するので、チェインをたどり、チ
ェインの最後に該当するシノニムレコードを繋ぐ。これ
により、第6図に示すようなハツシュテーブル57とシ
ノニムテーブル58を完成させることができる。そして
、該当するレコードのキ一部とデータ部を仮想ディスク
空間内の目的仮想アドレス位置に移す。
(Invalid )ビット59で判定しくステップ1
09)、入っていなければ(Iビット59が′1′の場
合)該当するHTEにCCHHRと仮想アドレスをセッ
トすると共に、■ビット59を′02にする(ステップ
110)。もし、入っていれば(エビット59がl O
j の場合)、シノニムレコードの発生として、シノニ
ムテーブル58より空きエントリを得ると共に、このシ
ノニムレコードの発生が初めてか否か、つまり既にシノ
ニムレコードが発生しているか否か判断する(ステップ
111)、それは、上記HTEエントリのS(Syno
nym )ビット60の判定にて行い、このSビット6
0が′O′の場合は初めてであり、′1′の場合は初め
てでないことを示す。初めての場合には、上記HTEに
は、 CCHHRと仮想アドレスのデータが入っている
ため、そのデータもシノニムテーブルに移し、チェイン
する。もし、Sビット60が11′の場合には、既にシ
ノニムレコードは存在するので、チェインをたどり、チ
ェインの最後に該当するシノニムレコードを繋ぐ。これ
により、第6図に示すようなハツシュテーブル57とシ
ノニムテーブル58を完成させることができる。そして
、該当するレコードのキ一部とデータ部を仮想ディスク
空間内の目的仮想アドレス位置に移す。
これらの処理を終了すると、次のレコードの仮想アドレ
スの計算を行う。これは、該当する仮想アドレス値にそ
のレコードのキー長およびデータ長を加えることにより
得られる(ステップ112) 。
スの計算を行う。これは、該当する仮想アドレス値にそ
のレコードのキー長およびデータ長を加えることにより
得られる(ステップ112) 。
この時、仮想アドレス値が仮想メモリサイズの上限を超
えた場合、仮想ディスク空間を追加作成し。
えた場合、仮想ディスク空間を追加作成し。
多重仮想空間を構成する。
第9図は、この多重仮想ディスク空間のアドレッシング
方法を現在の計算機(例えば、Mシリーズ計算機参照)
で採用している24アドレツシングモードの側番使って
示したものであり〜CCHHRの変換された仮想アドレ
スレジスタ55内の仮想アドレスの上位8ビツトで仮想
ディスク空間の番号を示し、残り24ビツトにてその仮
想ディスク空間内の仮想アドレスを示す。これら複数の
仮想ディスク空間のアドレスは、STO(Segmen
tTable Origin)スタックとして管理テー
ブル54内に、そのアドレスが保持される。
方法を現在の計算機(例えば、Mシリーズ計算機参照)
で採用している24アドレツシングモードの側番使って
示したものであり〜CCHHRの変換された仮想アドレ
スレジスタ55内の仮想アドレスの上位8ビツトで仮想
ディスク空間の番号を示し、残り24ビツトにてその仮
想ディスク空間内の仮想アドレスを示す。これら複数の
仮想ディスク空間のアドレスは、STO(Segmen
tTable Origin)スタックとして管理テー
ブル54内に、そのアドレスが保持される。
該当するレコードの処理が終了すると、処理ステップ1
06で読込んだバッファ中に、まだ、レコードがあるか
否か判定しくステップ113)、ある場合はそのレコー
ドの仮想ディスク空間へのセットを行うため、処理ステ
ップ107に戻る。
06で読込んだバッファ中に、まだ、レコードがあるか
否か判定しくステップ113)、ある場合はそのレコー
ドの仮想ディスク空間へのセットを行うため、処理ステ
ップ107に戻る。
残りレコードがない場合には1次のトラックを読むため
、読込みのチャネルプログラムのCCHHRのトラック
番号(HH)をカウントアツプする(ステップ114)
。もし、カウントアツプ後のトラック番号がそのディス
クのシリンダ当たりのトラック数を超える場合には、こ
のシリンダの全トラックの処理終了として次のシリンダ
に移り、1トラック分のレコードの読込み処理106よ
り繰り返す。次のシリンダに移る場合には、HHとRの
ゼロクリアする(ステップ115,116)。
、読込みのチャネルプログラムのCCHHRのトラック
番号(HH)をカウントアツプする(ステップ114)
。もし、カウントアツプ後のトラック番号がそのディス
クのシリンダ当たりのトラック数を超える場合には、こ
のシリンダの全トラックの処理終了として次のシリンダ
に移り、1トラック分のレコードの読込み処理106よ
り繰り返す。次のシリンダに移る場合には、HHとRの
ゼロクリアする(ステップ115,116)。
全てのシリンダを終了すると、この読込み処理は終了す
る(ステップ117)。
る(ステップ117)。
第9図は、仮想ディスク上のレコードの物理位置を示す
CCHHRから仮想ディスク空間上の仮想アドレス、お
よび実アドレスへの変換過程を示したものである。仮想
ディスク上のカウント部91の内、CCHHRは仮想ア
ドレス変換回路94を経由して仮想アドレスに変換され
る。この仮想アドレス変換回路94の内容は、第6図に
示す通りである。
CCHHRから仮想ディスク空間上の仮想アドレス、お
よび実アドレスへの変換過程を示したものである。仮想
ディスク上のカウント部91の内、CCHHRは仮想ア
ドレス変換回路94を経由して仮想アドレスに変換され
る。この仮想アドレス変換回路94の内容は、第6図に
示す通りである。
変換された仮想アドレスの内上位8ビット95は、仮想
ディスク空間の番号を示し、下位24ビツトにて該仮想
ディスク空間内の仮想アドレスを示す。
ディスク空間の番号を示し、下位24ビツトにて該仮想
ディスク空間内の仮想アドレスを示す。
仮想ディスク空間番号95は1選択回路96を経由して
該当のセグメントテーブル先頭(STO)アドレスを選
び出す、このST○アドレスは、制御レジスタ98にセ
ットされ、仮想アドレスレジスタ55の下位24ビツト
にある仮想アドレスがアドレス変換機構(Dynami
c AddressTranslation )97に
より実アドレス99に変換される。
該当のセグメントテーブル先頭(STO)アドレスを選
び出す、このST○アドレスは、制御レジスタ98にセ
ットされ、仮想アドレスレジスタ55の下位24ビツト
にある仮想アドレスがアドレス変換機構(Dynami
c AddressTranslation )97に
より実アドレス99に変換される。
(n)書込み処理
仮想計算機の終了およびVDISKオペレータコマンド
のOFF指定で起動される仮想ディスク空間の書込み処
理は第1図(b)の通りである。この書込み処理は読込
み処理の逆であり、仮想ディスク空間内のレコードのキ
一部、データ部およびハツシュテーブル57やシノニム
テーブル58内にあるカウント部を実デイスク上に書込
む。
のOFF指定で起動される仮想ディスク空間の書込み処
理は第1図(b)の通りである。この書込み処理は読込
み処理の逆であり、仮想ディスク空間内のレコードのキ
一部、データ部およびハツシュテーブル57やシノニム
テーブル58内にあるカウント部を実デイスク上に書込
む。
以下、第1図(b)の処理を説明する。
仮想ディスク空間に対し、一度もWRITE系コマンド
が発行されなかった場合には、その仮想ディスクは更新
されていないので、実ディスクへの書込みを行う必要が
ない(ステップ120)、その時には、仮想ディスク空
間の解放のみを行う(ステップ134)、これは、仮想
ディスクの管理テーブル54内に、WRITE系コマン
ドが発行された時にのみオンとなる情報ビットを設け、
そのビットを判定することにより実現できる。
が発行されなかった場合には、その仮想ディスクは更新
されていないので、実ディスクへの書込みを行う必要が
ない(ステップ120)、その時には、仮想ディスク空
間の解放のみを行う(ステップ134)、これは、仮想
ディスクの管理テーブル54内に、WRITE系コマン
ドが発行された時にのみオンとなる情報ビットを設け、
そのビットを判定することにより実現できる。
実ディスクに出力する場合は、読込み処理と同様、トラ
ック単位に出力を行うため、1トラツク分のバッファを
確保する(ステップ121)。
ック単位に出力を行うため、1トラツク分のバッファを
確保する(ステップ121)。
次に、本仮想ディスク空間23が出力する実デイスク上
の位置を求める(ステップ122)。これは、仮想ディ
スク空間の作成時、VDISK文より得た開始シリンダ
番号であり、仮想ディスクの管理テーブル54内に保持
されている。このシリンダ番号(CC)にトラック番号
(HH)とレコード番号(R)を加え、 CCHHRを
構成する。トラック番号とレコード番号の初期値は、い
ずれもゼロである。
の位置を求める(ステップ122)。これは、仮想ディ
スク空間の作成時、VDISK文より得た開始シリンダ
番号であり、仮想ディスクの管理テーブル54内に保持
されている。このシリンダ番号(CC)にトラック番号
(HH)とレコード番号(R)を加え、 CCHHRを
構成する。トラック番号とレコード番号の初期値は、い
ずれもゼロである。
CCHHRを第6図のハツシュ回路(アドレス変換回路
)56を使用して、仮想ディスク空間内の仮想アドレス
に変換する(ステップ123)、その後、変換された仮
想アドレスを第9図のような選択回路96およびDAT
機構97を経由して実アドレス99に変換する。これら
変換処理101が不成功に終った場合には(ステップ1
24)、そのCCI(HRのレコードは存在しないもの
とみなす。
)56を使用して、仮想ディスク空間内の仮想アドレス
に変換する(ステップ123)、その後、変換された仮
想アドレスを第9図のような選択回路96およびDAT
機構97を経由して実アドレス99に変換する。これら
変換処理101が不成功に終った場合には(ステップ1
24)、そのCCI(HRのレコードは存在しないもの
とみなす。
この場合、同一トラック内には、後続のレコードも存在
しないため、トラック終了と判断し、該トラックへの出
力処理128に移る。
しないため、トラック終了と判断し、該トラックへの出
力処理128に移る。
変換成功の場合には(ステップ124)、出力バッファ
にカウント部、キ一部、データ部をセットシ(ステップ
113) 、WRITE CKD CCVにバッファア
ドレスをセットし、その他のCCWとコマンドチェイン
で繋ぐ(ステップ126)。
にカウント部、キ一部、データ部をセットシ(ステップ
113) 、WRITE CKD CCVにバッファア
ドレスをセットし、その他のCCWとコマンドチェイン
で繋ぐ(ステップ126)。
そして、レコード番号Rの値をカウントアツプしくステ
ップ127)、再度CCHHHのアドレス変換処理ステ
ップ123に向う。
ップ127)、再度CCHHHのアドレス変換処理ステ
ップ123に向う。
トラック出力処理128では、まず、出力バッファ上に
レコードが存在しているか否かチェックし、存在してい
たならば、CCWの作成処理126で作成したチャネル
プログラムを使用して上記出力バッファの内容を実デイ
スク上に出力する(ステップ129)、レコードが存在
していない場合には、トラックにはレコードはないもの
とみなし、実ディスクへの入出力命令は実行しない。
レコードが存在しているか否かチェックし、存在してい
たならば、CCWの作成処理126で作成したチャネル
プログラムを使用して上記出力バッファの内容を実デイ
スク上に出力する(ステップ129)、レコードが存在
していない場合には、トラックにはレコードはないもの
とみなし、実ディスクへの入出力命令は実行しない。
そして、トラック番号のカウントアツプ(ステップ13
0,131)またはシリンダ番号のカウントアツプをし
ながら(ステップ132,133)、1トラツクずつ出
力する(ステップ129)。
0,131)またはシリンダ番号のカウントアツプをし
ながら(ステップ132,133)、1トラツクずつ出
力する(ステップ129)。
最後に、全シリンダ分出力し終ったことを確認し、ハツ
シュテーブル57、シノニムテーブル58、バッファな
どの制御テーブルの他、仮想ディスク空間23を解放し
くステップ134)、この仮想ディスク空間の書込み処
理は終了する。仮想ディスク空間の解放処理は、この仮
想ディスク空間に割当てられていた実メモリページを解
放すると共に、VMMのページング装置上の領域を解放
し、最後にセグメント/ページテーブルを解放すること
により行われる。
シュテーブル57、シノニムテーブル58、バッファな
どの制御テーブルの他、仮想ディスク空間23を解放し
くステップ134)、この仮想ディスク空間の書込み処
理は終了する。仮想ディスク空間の解放処理は、この仮
想ディスク空間に割当てられていた実メモリページを解
放すると共に、VMMのページング装置上の領域を解放
し、最後にセグメント/ページテーブルを解放すること
により行われる。
このようにして、本実施例によれば、従来、一時ディス
クでしか実現できなかった仮想入出力方式の対象を通常
の恒久ファイルの存在する一般ディスクまで広げること
ができるようになる。
クでしか実現できなかった仮想入出力方式の対象を通常
の恒久ファイルの存在する一般ディスクまで広げること
ができるようになる。
以上説明したように、本発明によれば、従来、一時ディ
スクでしか実現できなかった仮想入出力方式の対象を通
常の恒久ファイルの存在する一般ディスクまで広げるこ
とができ、かつ、仮想計算機の入出力処理を高速化する
ことができる。
スクでしか実現できなかった仮想入出力方式の対象を通
常の恒久ファイルの存在する一般ディスクまで広げるこ
とができ、かつ、仮想計算機の入出力処理を高速化する
ことができる。
第1図は本発明を適用したVMMによる仮想ディスクへ
の読込み処理と書込み処理を示すフローチャート図、第
2図は仮想計算機システムの概念図、第3図は仮想計算
機の構成図、第4図は仮想計算機の入出力命令のシミュ
レーション処理を示したフローチャート図、第5図はデ
ィスクへの入出力チャネルプログラムの例を、示した説
明図、第6図は仮想入出力方式で使用するCCHHR変
換テーブルの構成図、第7図はVDISKパラメータ文
の例を示す図、第8図はVDISKオペレータコマンド
の例を示す図、第9図はCCHHRの実アドレス変換回
路である。 41.42,43,44.45・・・CCW、46・・
・CAW、53.55・・・レジスタ、56・・・ハツ
シュ回路、94・・・仮想アドレス変換回路、96・・
・選択* ノ E戸【〕 (αつ 第1目 第 2 口 第 4 口 第 6 目 第 9 口
の読込み処理と書込み処理を示すフローチャート図、第
2図は仮想計算機システムの概念図、第3図は仮想計算
機の構成図、第4図は仮想計算機の入出力命令のシミュ
レーション処理を示したフローチャート図、第5図はデ
ィスクへの入出力チャネルプログラムの例を、示した説
明図、第6図は仮想入出力方式で使用するCCHHR変
換テーブルの構成図、第7図はVDISKパラメータ文
の例を示す図、第8図はVDISKオペレータコマンド
の例を示す図、第9図はCCHHRの実アドレス変換回
路である。 41.42,43,44.45・・・CCW、46・・
・CAW、53.55・・・レジスタ、56・・・ハツ
シュ回路、94・・・仮想アドレス変換回路、96・・
・選択* ノ E戸【〕 (αつ 第1目 第 2 口 第 4 口 第 6 目 第 9 口
Claims (1)
- 【特許請求の範囲】 1、仮想計算機と、該仮想計算機を管理する仮想計算機
モニタとで構成され、該仮想計算機に接続された仮想磁
気ディスク装置の内容を仮想計算機モニタの作成する仮
想メモリ空間内に格納し、上記仮想計算機から該仮想磁
気ディスク装置へ発行する入出力命令のシミユレーシヨ
ン処理をする際、上記仮想メモリ空間と仮想計算機のメ
モリ空間とのデータ転送により入出力を実行する仮想計
算機システムにおいて、上記仮想計算機より仮想計算機
モニタに対し、該仮想磁気ディスク装置のアドレスと仮
想磁気ディスク装置が存在する実磁気ディスク装置アド
レスを連絡する手段、該連絡を契機として該仮想磁気デ
ィスク装置の内容を読取り、該内容を仮想磁気ディスク
装置対応に存在する仮想メモリ空間上に格納する手段を
有することを特徴とする仮想計算機の入出力制御方式。 2、上記仮想磁気ディスク装置の使用終了時には、上記
仮想計算機より仮想計算機モニタに対し、上記仮想磁気
ディスク装置アドレスを連絡し、該連絡を契機として該
仮想磁気ディスク装置の内容を保持した仮想メモリ空間
の内容を該仮想磁気ディスク装置に書込むことを特徴と
する特許請求の範囲第1項記載の仮想計算機の入出力制
御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60086356A JPS61245253A (ja) | 1985-04-24 | 1985-04-24 | 仮想計算機の入出力制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60086356A JPS61245253A (ja) | 1985-04-24 | 1985-04-24 | 仮想計算機の入出力制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS61245253A true JPS61245253A (ja) | 1986-10-31 |
Family
ID=13884610
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60086356A Pending JPS61245253A (ja) | 1985-04-24 | 1985-04-24 | 仮想計算機の入出力制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61245253A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11345134A (ja) * | 1998-06-03 | 1999-12-14 | Hitachi Ltd | オペレーティングシステム |
| JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
| US7895476B2 (en) | 2006-12-12 | 2011-02-22 | Fujitsu Limited | Data relay device, storage device and data-relay method |
| JP5251974B2 (ja) * | 2008-04-11 | 2013-07-31 | 富士通株式会社 | 管理装置、管理方法及びプログラム |
-
1985
- 1985-04-24 JP JP60086356A patent/JPS61245253A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
| JPH11345134A (ja) * | 1998-06-03 | 1999-12-14 | Hitachi Ltd | オペレーティングシステム |
| US7895476B2 (en) | 2006-12-12 | 2011-02-22 | Fujitsu Limited | Data relay device, storage device and data-relay method |
| JP5251974B2 (ja) * | 2008-04-11 | 2013-07-31 | 富士通株式会社 | 管理装置、管理方法及びプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3245364B2 (ja) | 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム | |
| EP0462180B1 (en) | Method of reading and writing files on nonerasable storage media | |
| US5301304A (en) | Emulating records in one record format in another record format | |
| US4812981A (en) | Memory management system improving the efficiency of fork operations | |
| JPS61190638A (ja) | 仮想計算機のフアイル制御方式 | |
| JP2804115B2 (ja) | ディスクファイルシステム | |
| JPH0120773B2 (ja) | ||
| JP2001101046A (ja) | 情報処理装置及びその方法、コンピュータ可読メモリ | |
| US20030037019A1 (en) | Data storage and retrieval apparatus and method of the same | |
| EP0347032B1 (en) | Record format emulation | |
| JPS59167761A (ja) | 計算機システム | |
| JPS62239226A (ja) | 直接アクセス記憶装置のデ−タ・レコ−ドの部分的変更方法 | |
| JPH1063551A (ja) | 情報処理装置 | |
| JP3127796B2 (ja) | 情報記録再生装置 | |
| US6209057B1 (en) | Storage device having data buffer | |
| JPS61206042A (ja) | 仮想計算機の入出力方式 | |
| JP2681986B2 (ja) | 計算機システム | |
| JP3925461B2 (ja) | 計算機システム | |
| JP3376316B2 (ja) | ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体 | |
| JPH0644118A (ja) | ファイルバックアップ方式 | |
| JP3925246B2 (ja) | 計算機システム | |
| JP2966431B2 (ja) | 情報処理装置におけるファイル領域クリア方法 | |
| JP2509972B2 (ja) | 環境設定方式 | |
| JPS62108346A (ja) | プロセス間通信方式 | |
| Al-Rabeh | Removing inter-minidisk gaps on IBM's VM/CMS operating systems |