JPH11149387A - 共有装置制御方法及びその実施装置 - Google Patents
共有装置制御方法及びその実施装置Info
- Publication number
- JPH11149387A JPH11149387A JP9315209A JP31520997A JPH11149387A JP H11149387 A JPH11149387 A JP H11149387A JP 9315209 A JP9315209 A JP 9315209A JP 31520997 A JP31520997 A JP 31520997A JP H11149387 A JPH11149387 A JP H11149387A
- Authority
- JP
- Japan
- Prior art keywords
- control information
- processing
- reception
- storage area
- line
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
ログラムから共有装置にアクセスすることが可能な技術
を提供する。 【解決手段】 複数のプログラムで共有される共有装置
を制御する共有装置制御方法において、共有装置で特定
の処理を行う為の制御情報を制御情報格納領域中の特定
領域に格納し、前記制御情報を格納した特定領域を示す
制御情報IDを単一の書き込みにより制御情報ID保持
手段に保持し、複数の制御情報IDを格納する受け付け
制御情報ID格納手段の空き領域に前記制御情報ID保
持手段中の制御情報IDを格納し、前記受け付け制御情
報ID格納手段中の制御情報IDに対応する特定領域の
制御情報を制御情報格納領域から取得して前記特定の処
理を行うものである。
Description
共有される共有装置を制御する共有装置制御装置に関
し、特に複数の計算機を相互に結合する為の多重化ネッ
トワークアダプタを複数のユーザプログラムから排他制
御することなく利用可能とする共有装置制御装置に適用
して有効な技術に関するものである。
有装置にアクセスする場合には、同時に複数のプログラ
ムから同一の共有装置にアクセスしない様にオペレーテ
ィングシステム(OS)によって排他制御を行ってい
る。
を送出する際には、同時に複数のプログラムから同一の
ネットワークアダプタを制御しない様にOSによって排
他的に制御を行っている。この処理は例えば、Douglas
E.COMER他著、"INTERNETWORKING WITH TCP/IP VOLUME I
I"、pp.7-25に記載のTCP/IP(Transmission Control Prot
ocol/Internet Protocol)で利用されている。
コンテクストの退避回復等の処理が必要である。この処
理については、S.J Leffler他著「UNIX 4.3BSDの設計と
実装」(原書:S.J.Leffler et al. The Design and Imple
mentation of the 4.3BSD UNIX Operating System)、p.2
4に記載されている。
退避回復等の処理のオーバヘッドがかかる為、実装され
る通信プロトコルの処理負荷が低い場合にはOSによる
オーバヘッドの通信処理全体に対する比率が高くなり、
OSのオーバヘッドが性能上の隘路となることがある。
ネットワークアダプタを制御する方法がUSENIX 1997 Co
nference, January 6-10, 1997, Anaheim, California,
USAで行われたSteven H. Rodrigues; Thomas E. Ander
son; David E. Culler, University of California, Be
rkeleyによる"High-Performance Local-Area Communica
tion With Fast Sockets"に報告されている。
ットワークアダプタを占有することで低いレイテンシを
実現しているが、複数のプログラムからネットワークア
ダプタを利用できる様にすると排他制御の為に性能低下
が起こることが示されている。そこで各通信に対して個
別のハードウェア資源を持てば排他制御を行なう必要が
なくなって低レイテンシの通信が可能となるが、この為
には個別のネットワークアダプタを複数接続することが
必要となる。
れた計算機の処理する対象が例えば科学技術計算等の各
計算機上で限られた少数のプログラムが動作する処理で
あれば、上述の複数のネットワークアダプタを実装する
方法でも必要な数の通信を行うことが可能である。
ントランザクションシステム等を構成する場合には、各
計算機上で非常に多くのプログラムが複数の通信回線を
利用して処理を行う。この場合にはシステムで利用する
通信の数は1024以上等の大規模で非常に多数なもの
となる。
実装する方法では、接続可能なネットワークアダプタの
数は例えば最大64枚程度であり、必要な通信回線数を
用意することができないことがある為、殆どの通信にお
いてネットワークアダプタを共有せざるを得ない。ネッ
トワークアダプタ等のハードウェア資源を共有するには
必ず排他制御が必要になる為、低レイテンシを実現する
ことができなくなってしまうという問題がある。
000トランザクション/秒を実現する為には、1秒間
に20000回以上の通信が必要になる為、50マイク
ロ秒に一回以上の通信が行われる。ここで一回の排他制
御処理を必要とする部分が1マイクロ秒であり、定常的
に5つのプログラムが要求待ち行列にあるとすると、定
常的に一回の通信当たり5マイクロ秒待たされることに
なり、この場合には性能が10%低下することになる。
とにすれば、前記排他制御処理による性能低下は生じな
い為、排他制御を必要としない通信多重化機構を実現す
ることでシステムの性能は上記の例で10%向上するこ
とになる。
よる排他制御を行うことなく複数のプログラムから共有
装置にアクセスすることが可能な技術を提供することに
ある。
ムで共有される共有装置を制御する共有装置制御装置に
おいて、制御情報IDを単一の処理によって書き込むこ
とにより共有装置への処理要求を出し、前記処理要求を
受け付けて共有装置での処理を行うものである。
装置で特定の処理を行う為の制御情報を制御情報格納領
域中の特定領域に格納し、前記制御情報を格納した特定
領域を示す制御情報IDを単一の書き込みにより制御情
報ID保持手段に保持して処理要求を行う。
け制御情報ID格納手段に空き領域があるかどうかを調
べ、制御情報ID格納手段に空き領域がある場合には前
記制御情報ID保持手段中の制御情報IDを制御情報I
D格納手段に格納して前記処理要求を受け付ける。
ら制御情報IDを取り出し、その制御情報IDに対応す
る特定領域の制御情報を制御情報格納領域から取得して
前記特定の処理を行う。
に制御情報ID保持手段への単一の書き込みにより共有
装置への処理要求を行うので、特定のプログラムからの
処理要求の途中に他のプログラムからの処理要求が入り
込むことがなく、よって排他制御を行う必要がない。こ
の為、OSによる排他制御を行うことなく複数のプログ
ラムから共有装置にアクセスすることができる。
れば、単一の書き込みにより共有装置への処理要求を受
け付けてその処理要求を実行するので、OSによる排他
制御を行うことなく複数のプログラムから共有装置にア
クセスすることが可能である。
機を相互に結合する為の多重化ネットワークアダプタを
排他制御することなく複数のユーザプログラムから利用
可能とする実施形態1の共有装置制御装置について説明
する。
略構成を示す図である。図1に示す様に本実施形態の計
算機100は、プロセッサ130と、メインメモリ15
0と、多重化ネットワークアダプタ110と、キーボー
ド131と、ディスプレイ装置132と、磁気ディスク
装置133と、CD−ROM装置134と、システムバ
ス180とを有している。
作を制御する処理装置である。メインメモリ150はメ
モリ常駐処理部162及び回線要求解放処理部163等
の処理プログラムや回線制御情報等のデータをロードす
る記憶装置である。
制御を行うことなく複数のユーザプログラムからの送信
処理要求を受け付け、多重化されたユーザ転送データ1
71を送受信するアダプタである。キーボード131は
ユーザプログラムの起動等の指示を入力する装置であ
る。
ムの処理経過等を表示する装置である。磁気ディスク装
置133はメモリ常駐処理部162及び回線要求解放処
理部163等の処理プログラムを含む各種プログラムや
データを格納する装置である。
部162及び回線要求解放処理部163等の処理プログ
ラムを含む各種プログラムを記録したCD−ROMを読
み込む装置である。システムバス180はプロセッサ1
30、メインメモリ150や多重化ネットワークアダプ
タ110等を相互に接続するバスである。
ットワーク多重化送受信部111と、回線制御情報位置
保持手段112と、回線ID保持手段113と、バスイ
ンタフェース制御部114と、受け付けFIFOメモリ
120と、状態回復退避部121と、受け付け判定部1
22とを有している。
のユーザプログラムからのユーザ転送データ171を多
重化してネットワーク190に送信したり、多重化され
たユーザ転送データ171をネットワーク190から受
信する回路である。
御情報格納領域161中の各回線制御情報が格納された
特定領域の位置を起動回線IDに対応付けて保持するレ
ジスタである。回線ID保持手段113は回線制御情報
格納領域161中の特定領域を示す起動回線IDを単一
の書き込みにより保持するレジスタ等の制御情報ID保
持手段である。
ネットワークアダプタ110をシステムバス180に接
続する制御部である。受け付けFIFOメモリ120は
複数の起動回線IDを格納する受け付け制御情報ID格
納手段であり、先入れ先出し(FIFO)で処理するR
AM等のメモリである。
メモリ120中の起動回線IDに対応する特定領域の回
線制御情報を回線制御情報格納領域161から取得して
送信処理を行い、その処理結果を示す情報を回線制御情
報格納領域161中の前記起動回線IDに対応する特定
領域に書き込む回路である。
メモリ120の空き領域の有無に応じて当該送信処理の
受け付け結果を示す情報を回線制御情報格納領域161
中の当該起動回線IDに対応する特定領域に書き込み、
受け付けFIFOメモリ120の空き領域に回線ID保
持手段113中の起動回線IDを格納する回路である。
と、回線制御情報格納領域161と、メモリ常駐処理部
162と、回線要求解放処理部163と、ユーザ空間1
70と、ユーザ転送データ171とを有している。
る。回線制御情報格納領域161は多重化ネットワーク
アダプタ110で送信処理を行う為の複数の回線制御情
報を格納する制御情報格納領域である。メモリ常駐処理
部162はユーザ転送データ171をメインメモリ15
0上に常駐させる処理部である。
ラムからの通信回線の要求に対して回線制御情報格納領
域161中の未使用領域の起動回線IDを応答し、呼出
し側のユーザプログラムのユーザ空間170での当該起
動回線IDに対応する特定領域の割り付けや解放を行う
処理部である。
作する空間である。ユーザ転送データ171はユーザプ
ログラムが多重化ネットワークアダプタ110を介して
転送するデータである。
を接続するEthernet(IEEE802にて標準
化)やATM(Asynchronous Trans
fer Mode)等による通信ケーブルである。
によって接続された複数の計算機100による疎結合計
算機システムの一例を示しており、この疎結合計算機シ
ステムは、計算機100がネットワーク190に2つ以
上結合されて構成される。
サ130、メインメモリ150及び多重化ネットワーク
アダプタ110がシステムバス180に結合されて構成
される。なお図中のユーザ空間170及びユーザ転送デ
ータ171に付加された数字は対応するN個のユーザプ
ログラムを識別する整数を表している。
数のユーザプログラムからの送信処理要求を排他制御を
行うことなく受け付けることが可能である。これを実現
する為に、送信を行う為に必要な回線制御情報の本体は
メインメモリ150上の回線制御情報格納領域161に
置かれる。
域161中の特定領域を示す起動回線IDを有する単一
の書き込みを発行し、多重化ネットワークアダプタ11
0からのこの起動回線IDに対応する受け付け状況のメ
インメモリ150への書き込みにより、送信処理要求の
成否を確認する。
クアダプタ110への書き込みが単一の書き込みである
為、多重化ネットワークアダプタ110への書き込みは
一度に単一のユーザプログラムのみから行われることと
なり、複数のユーザプログラム間での排他制御は必要で
はなくなる。
通信を行うネットワーク多重化送受信部111、回線制
御情報位置保持手段112、回線ID保持手段113、
受け付けFIFOメモリ120、状態回復退避部121
及び受け付け判定部122がバスインタフェース制御部
114を介してシステムバス180に接続されている。
化ネットワークアダプタ110は内部にネットワーク多
重化送受信部111を持つ構成であるが、多重化の為の
部分を多重化部として独立にシステムバス180に接続
し、ネットワーク多重化送受信部111を既存のネット
ワークアダプタとしてシステムバス180に接続して、
ユーザプログラムは多重化部を介して制御する様な構成
として実装しても良い。
ークアダプタ110に対して発行された送信処理要求を
行う書き込みを受け付けて、後で処理する為に受け付け
FIFOメモリ120に取り込むことができるか否かを
判定し、受け付けFIFOメモリ120に起動回線ID
を保持する為の空があるかないかによって値の異なる受
け付け状態情報(例えば、空がある場合には「1」、空
がない場合には「0」となる)を、回線ID保持手段1
13の内容である起動回線ID及び回線制御情報位置保
持手段112から得られる回線制御情報格納領域161
内の特定の位置に書き戻す処理を行う回路であり、例え
ばTTLやCMOS等の論理によって構成される。
Oメモリ120に貯えられた起動回線IDの内容と回線
制御情報位置保持手段112に保持された位置情報とか
ら、メインメモリ150上にある回線制御情報をDMA
(Direct Memory Accsess)処理
により取得してネットワーク多重化送受信部111に設
定して送信処理を行い、その送信処理の結果をメインメ
モリ150上の回線制御情報格納領域161に書き戻す
回路であり、例えばTTLやCMOS等の論理とRAM
によって構成される。
ついて示す。メモリ空間は大きくOS空間160とユー
ザ空間170に分かれている。OSは通常多くのサービ
スルーチンや構造体を持つが、ここでは本実施形態の共
有装置制御装置に関連する項目のみ示す。
ラムが転送する対象となるデータ領域がメインメモリ1
50にある様に保証する為の処理を行う処理部であり、
通常はOSの仮想記憶動作におけるページアウトの対象
から外すことによって前記データ領域をメインメモリ1
50に常駐させる。
r他著、UNIX 4.3BSDの設計と実装 (原書:S.J.Leffler et
al. The Design and Implementation of the 4.3BSD U
NIXOperating System)、pp.112-114に記載されている。
グラムからの通信回線の要求に対して、回線制御情報格
納領域161中の未使用の通信回線の番号及び該通信回
線に対応する領域のアドレスを呼出し側のプロセスのユ
ーザ空間170に割り付ける処理を行う。OS空間16
0内のデータ構造として回線制御情報格納領域161が
あり、この詳細を図2に示す。
161の一例を示す図である。図2に示す様に本実施形
態の回線制御情報格納領域161は、受け付け状態21
0と、DMA先頭アドレス220と、DMA長230
と、ヘッダ情報240と、コマンド250と、ステータ
ス260と、管理テーブル270とを有している。
要求した送信処理の多重化ネットワークアダプタ110
での受け付け結果を示す情報である。DMA先頭アドレ
ス220はDMA処理によって送信されるユーザ転送デ
ータ171の先頭アドレスであり、状態回復退避部12
1がネットワーク多重化送受信部111に設定するアド
レスである。
ータ長を示す情報である。ヘッダ情報240はユーザ転
送データ171を送信するネットワークパケットのヘッ
ダの情報である。コマンド250は複数の送信処理を連
続して行う等の処理内容を指示する情報である。
求した送信処理の多重化ネットワークアダプタ110で
の処理結果を示すステータス情報である。管理テーブル
270は回線制御情報格納領域161の各領域の使用状
況を示すテーブルである。
ログラムが通信制御を行う際に書き込みを行う制御ブロ
ックである受け付け状態210からステータス260の
テーブルと、それらを管理する管理テーブル270とか
ら構成されている。なお図中の受け付け状態210から
ステータス260に付加された数字は対応するN個の通
信回線を識別する整数を表している。
60までの制御ブロックと独立に存在する管理テーブル
270は、OSが管理する資源で各通信回線の使用状況
を示しており、OSが更新するテーブルである。管理テ
ーブル270以外の他の資源はユーザプログラム間での
共有情報を有していない為、一度各ユーザプログラムに
割り当てられた後には排他制御を行う必要はない。
に分かれており、転送対象となるユーザ転送データ17
1が格納された領域は、OSのメモリ常駐処理部162
を介してDMA転送前にメインメモリ150に常駐され
る様に設定される。
に回線制御情報格納領域161の特定領域が呼出し側の
ユーザプログラムの空間に割り当てられる。この割り当
ては仮想メモリによって実現することができる。
1を転送するネットワークパケットとメインメモリ15
0上のメモリ構造の対応について説明する。
ットの構成例を示す図である。図3に示す様に本実施形
態の転送ネットワークパケットのヘッダ情報240は、
タイプ310と、送信元アドレス320と、受信先アド
レス330とを有している。
別を示す情報である。送信元アドレス320は送信元を
示すアドレスである。受信先アドレス330は受信先を
特定するアドレスである。
メインメモリ150上のユーザ転送データ171及びヘ
ッダ情報240から構成されている。なお図中のユーザ
転送データ171及びヘッダ情報240に付加された
「i」は、対応するN個のユーザプログラム及び通信回
線を識別する整数を表している。
ークアダプタ110で通信を行う際に通信回線を要求す
る処理の流れを図4を用いて説明する。
順を示すフローチャートである。まずステップ410で
ユーザプログラムはOSの回線要求解放処理部163に
対して回線要求を発行する。
163は、回線制御情報格納領域161の管理テーブル
270において未使用の通信回線を検索する。
線制御情報格納領域161の管理テーブル270中に未
使用の通信回線がある場合にはステップ450に進み、
未使用の通信回線の起動回線IDを取得して前記回線要
求を発行したユーザプログラムに返し、当該起動回線I
Dに対応する特定領域を前記ユーザプログラムのユーザ
空間170に割り当てる。その際に管理テーブル270
に前記ユーザプログラムのプロセスIDと、当該通信回
線が使用されていることを示す情報を設定する。
果、未使用の通信回線が無い場合にはステップ440に
進み、前記ユーザプログラムに通信回線無しを通知す
る。
ークアダプタ110で通信を行った後に通信回線の解放
を要求する処理の流れを図5を用いて説明する。
理手順を示すフローチャートである。まずステップ51
0でユーザプログラムは起動回線IDを指定してOSの
回線要求解放処理部163に対して当該起動回線IDの
通信回線の解放を要求する回線解放要求を発行する。
163は、回線制御情報格納領域161の管理テーブル
270に対して、解放要求のあった起動回線IDの通信
回線のテーブルを検索する。
線解放要求を発行したユーザプログラムが当該通信回線
の利用者であるかどうかを確認する。この確認は、呼出
し側のユーザプログラムのプロセスIDと管理テーブル
270に設定されているプロセスIDが一致するか否か
によって行う。
果、該当回線解放要求が正しいユーザプログラムからの
ものである場合にはステップ550に進み、該当通信回
線を解放し、回線制御情報格納領域161の該当領域を
ユーザプログラムの仮想空間から解放する。その際に管
理テーブル270から前記ユーザプログラムのプロセス
IDと当該通信回線が使用されていることを示す情報を
削除する。
果、該当回線解放要求が正しいユーザプログラムからの
ものでない場合にはステップ540に進み、前記ユーザ
プログラムに該当通信回線無しを通知する。
ークアダプタ110に対してユーザ転送データ171の
送信処理要求を行う際の処理の流れを図6を用いて説明
する。
順を示すフローチャートである。まずステップ610で
ユーザプログラムは、転送対象となるユーザ転送データ
171が格納された領域をOSのメモリ常駐処理部16
2によりメインメモリ150に常駐させる。
は、回線要求処理を行って回線要求解放処理部163か
ら起動回線IDを取得し、回線制御情報格納領域161
の前記取得した起動回線IDに対応する特定領域に、ユ
ーザ転送データ171のDMA先頭アドレス220、D
MA長230、ヘッダ情報240及びコマンド250を
書き込む。これらの処理の対象となる空間はユーザ空間
170に割り当てられており、ユーザプログラムが排他
的にアクセスすることが保証されている為、排他制御を
行う必要はない。
は、前記起動回線IDを示す単一の書き込みを多重化ネ
ットワークアダプタ110に発行する。起動回線IDを
示す書き込みは単一の書き込みである為、ここでも他の
ユーザプログラムとの排他制御を行う必要はない。
の起動回線IDを示す書き込みに対して回線制御情報格
納領域161の前記起動回線IDに対応する特定領域に
受け付け状態210の書き込みを行う。
は、回線制御情報格納領域161の前記起動回線IDに
対応する特定領域中の受け付け状態210を参照し、先
ほどの送信処理要求の受け付けが成功したか否かを確認
する。
認した結果、受け付けが成功した場合には当該送信処理
要求処理を終了し、受け付けが失敗した場合にはステッ
プ630に戻って以下同様の処理を繰り返す。但しユー
ザプログラムの処理手順によっては、この再要求処理を
すぐに繰り返さずに他の処理を実行してから再要求処理
を行っても良い。
ユーザプログラムから送信処理要求を受け付けた際の回
線ID保持手段113と受け付け判定部122の処理の
流れを図7を用いて説明する。
の処理手順を示すフローチャートである。まずステップ
710で多重化ネットワークアダプタ110は、ユーザ
プログラムから発行された起動回線IDを示す単一の書
き込みを回線ID保持手段113で受け取る。
アダプタ110の受け付け判定部122は、受け付けF
IFOメモリ120の空き状態を調べ、受け付けFIF
Oメモリ120に空き領域があればステップ730に進
み、空き領域がなければステップ750に進む。
は、回線ID保持手段113に保持された起動回線ID
に対応する回線制御情報格納領域161中の特定領域の
位置情報を回線制御情報位置保持手段112から読み出
し、その位置情報を用いて回線制御情報格納領域161
中の前記起動回線IDに対応する回線制御情報の受け付
け状態210に、受け付け成功の値として「1」を書き
込み、ステップ740に進む。
は、回線ID保持手段113に保持された起動回線ID
を受け付けFIFOメモリ120の空き領域に格納す
る。
2は、回線制御情報格納領域161中の前記起動回線I
Dに対応する回線制御情報の受け付け状態210に、受
け付け失敗の値として「0」を書き込んで処理を終了す
る。
ユーザプログラムから送信処理要求を受け付けた際の状
態回復退避部121の処理の流れを図8を用いて説明す
る。
の処理手順を示すフローチャートである。まずステップ
810で状態回復退避部121は、ネットワーク多重化
送受信部111の初期化を行う。続いてステップ820
で状態回復退避部121は、起動回線IDを受け付けF
IFOメモリ120から取り出す。ここで受け付けFI
FOメモリ120が空の場合は、起動回線IDを示す書
き込みがユーザプログラムから発行されるまで待つ。
メモリ120から取り出した起動回線IDに対応する回
線制御情報格納領域161中の特定領域の位置情報を回
線制御情報位置保持手段112から読み出し、その位置
情報を用いて回線制御情報格納領域161中の前記起動
回線IDに対応する回線制御情報をメインメモリ150
から取得する。
A先頭アドレス220、DMA長230、ヘッダ情報2
40及びコマンド250である。但し複数の領域からの
DMA処理を行う為には複数の情報構造を持つものとし
ても良い。
1は、前記取得した回線制御情報をネットワーク多重化
送受信部111に投入し、ステップ850で処理完了を
待つ。
840及びステップ850では、一回の制御のみ行う例
を示すが、複数の制御を行う為の情報を回線制御情報と
して保持しても良い。その場合、状態回復退避部121
は複数の制御を行う様にコマンド250の解釈を行いな
がら動作する。
1は、ネットワーク多重化送受信部111からの処理完
了時のステータス情報を取得する。ここで、複数の制御
を行う場合には各制御のステータス情報の履歴を各々と
っておく必要がある。
21は、前記取得したステータス情報を、メインメモリ
150の回線制御情報格納領域161中の前記起動回線
IDに対応する回線制御情報のステータス260に設定
し、ステップ820以下の処理を繰り返す。
御装置によれば、単一の書き込みにより共有装置への処
理要求を受け付けてその処理要求を実行するので、OS
による排他制御を行うことなく複数のプログラムから共
有装置にアクセスすることが可能である。
行う為のネットワークアダプタを排他制御することなく
複数のユーザプログラムから利用可能とする実施形態2
の共有装置制御装置について説明する。
略構成を示す図である。図9に示す様に本実施形態の計
算機100はネットワークアダプタ910を有してい
る。ネットワークアダプタ910は排他制御を行うこと
なく複数のユーザプログラムからの送信処理要求を受け
付けてユーザ転送データ171を送受信するアダプタで
ある。
ーク送受信部911と、通信制御情報位置保持手段91
2と、制御情報ID保持手段913と、バスインタフェ
ース制御部914と、受け付けFIFOメモリ920
と、状態回復退避部921と、受け付け判定部922と
を有している。
ザプログラムからのユーザ転送データ171をネットワ
ーク190経由で送受信する回路である。通信制御情報
位置保持手段912は通信制御情報格納領域961中の
各通信制御情報が格納された特定領域の位置を制御情報
IDに対応付けて保持するレジスタである。制御情報I
D保持手段913は通信制御情報格納領域961中の特
定領域を示す制御情報IDを単一の書き込みにより保持
するレジスタ等の保持手段である。
ワークアダプタ910をシステムバス180に接続する
制御部である。受け付けFIFOメモリ920は複数の
制御情報IDを格納する受け付け制御情報ID格納手段
であり、複数の制御情報IDを先入れ先出しで処理する
RAM等のメモリである。
メモリ920中の制御情報IDに対応する特定領域の通
信制御情報を通信制御情報格納領域961から取得して
送信処理を行い、その処理結果を示す情報を通信制御情
報格納領域961中の前記制御情報IDに対応する特定
領域に書き込む回路である。
メモリ920の空き領域の有無に応じて当該送信処理の
受け付け結果を示す情報を通信制御情報格納領域961
中の当該制御情報IDに対応する特定領域に書き込み、
受け付けFIFOメモリ920の空き領域に制御情報I
D保持手段913中の制御情報IDを格納する回路であ
る。
領域961と、制御情報ID要求解放処理部963とを
有している。
クアダプタ910で送信処理を行う為の複数の通信制御
情報を格納する制御情報格納領域である。制御情報ID
要求解放処理部963はユーザプログラムからの制御情
報IDの要求に対して通信制御情報格納領域961中の
未使用領域の制御情報IDを応答し、呼出し側のユーザ
プログラムのユーザ空間170での当該制御情報IDに
対応する特定領域の割り付けや解放を行う処理部であ
る。
て通信を行う計算機システムの一例を示しており、この
疎結合計算機システムは計算機100がネットワーク1
90に2つ以上結合されて構成される。前記説明した以
外の各部の構成は図1に示したものと同様とする。
ーザプログラムからの送信処理要求を排他制御を行うこ
となく受け付けることが可能である。これを実現する為
に、送信を行う為に必要な通信制御情報の本体はメイン
メモリ150上の通信制御情報格納領域961に置かれ
る。
域961中の特定領域を示す制御情報IDを有する単一
の書き込みを発行し、ネットワークアダプタ910から
のこの制御情報IDに対応する受け付け状況のメインメ
モリ150への書き込みにより、送信処理要求の成否を
確認する。
プタ910への書き込みが単一の書き込みである為、ネ
ットワークアダプタ910への書き込みは一度に単一の
ユーザプログラムのみから行われることとなり、複数の
ユーザプログラム間での排他制御は必要ではなくなる。
ダプタ910に対して発行された送信処理要求を行う書
き込みを受け付けて、後で処理する為に受け付けFIF
Oメモリ920に取り込むことができるか否かを判定
し、受け付けFIFOメモリ920に制御情報IDを保
持する為の空があるかないかによって値の異なる受け付
け状態情報(例えば、空がある場合には「1」、空がな
い場合には「0」となる)を、制御情報ID保持手段9
13の内容である制御情報ID及び通信制御情報位置保
持手段912から得られる通信制御情報格納領域961
内の特定の位置に書き戻す処理を行う回路であり、例え
ばTTLやCMOS等の論理によって構成される。
Oメモリ920に貯えられた制御情報IDの内容と通信
制御情報位置保持手段912に保持された位置情報とか
ら、メインメモリ150上にある通信制御情報をDMA
処理により取得してネットワーク送受信部911に設定
して送信処理を行い、その送信処理の結果をメインメモ
リ150上の通信制御情報格納領域961に書き戻す回
路であり、例えばTTLやCMOS等の論理とRAMに
よって構成される。
ーザプログラムからの制御情報IDの要求に対して、通
信制御情報格納領域961中の未使用の制御情報IDの
番号及び該制御情報IDに対応する領域のアドレスを呼
出し側のプロセスのユーザ空間170に割り付ける処理
を行う。OS空間160内のデータ構造として通信制御
情報格納領域961があり、この詳細を図10に示す。
域961の一例を示す図である。図10に示す様に本実
施形態の通信制御情報格納領域961は、受け付け状態
1010と、DMA先頭アドレス1020と、DMA長
1030と、ヘッダ情報1040と、コマンド1050
と、ステータス1060と、管理テーブル1070とを
有している。
が要求した送信処理のネットワークアダプタ910での
受け付け結果を示す情報である。DMA先頭アドレス1
020はDMA処理によって送信されるユーザ転送デー
タ171の先頭アドレスであり、状態回復退避部921
がネットワーク送受信部911に設定するアドレスであ
る。
データ長を示す情報である。ヘッダ情報1040はユー
ザ転送データ171を送信するネットワークパケットの
ヘッダの情報である。コマンド1050は複数の送信処
理を連続して行う等の処理内容を指示する情報である。
要求した送信処理のネットワークアダプタ910での処
理結果を示すステータス情報である。管理テーブル10
70は通信制御情報格納領域961の各領域の使用状況
を示すテーブルである。
ログラムが通信制御を行う際に書き込みを行う制御ブロ
ックである受け付け状態1010からステータス106
0のテーブルと、それらを管理する管理テーブル107
0とから構成されている。なお図中の受け付け状態10
10からステータス1060に付加された数字は対応す
るN個の領域を識別する整数を表している。
1060までの制御ブロックと独立に存在する管理テー
ブル1070は、OSが管理する資源で各制御情報ID
の使用状況を示しており、OSが更新するテーブルであ
る。管理テーブル1070以外の他の資源はユーザプロ
グラム間での共有情報を有していない為、一度各ユーザ
プログラムに割り当てられた後には排他制御を行う必要
はない。
に分かれており、転送対象となるユーザ転送データ17
1が格納された領域は、OSのメモリ常駐処理部162
を介してDMA転送前にメインメモリ150に常駐され
る様に設定される。
呼出し時に通信制御情報格納領域961の特定領域が呼
出し側のユーザプログラムの空間に割り当てられる。こ
の割り当ては仮想メモリによって実現することができ
る。
ダプタ910で通信を行う際に制御情報IDを要求する
処理の流れを図11を用いて説明する。
理の処理手順を示すフローチャートである。まずステッ
プ1110でユーザプログラムはOSの制御情報ID要
求解放処理部963に対して制御情報ID要求を発行す
る。
解放処理部963は、通信制御情報格納領域961の管
理テーブル1070において未使用の制御情報IDを検
索する。
通信制御情報格納領域961の管理テーブル1070中
に未使用の制御情報IDがある場合にはステップ115
0に進み、未使用の制御情報IDを取得して前記制御情
報ID要求を発行したユーザプログラムに返し、当該制
御情報IDに対応する特定領域を前記ユーザプログラム
のユーザ空間170に割り当てる。その際に管理テーブ
ル1070に前記ユーザプログラムのプロセスIDと、
当該制御情報IDが使用されていることを示す情報を設
定する。
結果、未使用の制御情報IDが無い場合にはステップ1
140に進み、前記ユーザプログラムに制御情報ID無
しを通知する。
ダプタ910で通信を行った後に制御情報IDの解放を
要求する処理の流れを図12を用いて説明する。
求処理の処理手順を示すフローチャートである。まずス
テップ1210でユーザプログラムは制御情報IDを指
定してOSの制御情報ID要求解放処理部963に対し
て当該制御情報IDの解放を要求する。
解放処理部963は、通信制御情報格納領域961の管
理テーブル1070に対して、解放要求のあった制御情
報IDのテーブルを検索する。
制御情報ID解放要求を発行したユーザプログラムが当
該制御情報IDの利用者であるかどうかを確認する。こ
の確認は、呼出し側のユーザプログラムのプロセスID
と管理テーブル1070に設定されているプロセスID
が一致するか否かによって行う。
結果、該当制御情報ID解放要求が正しいユーザプログ
ラムからのものである場合にはステップ1250に進
み、該当制御情報IDを解放し、通信制御情報格納領域
961の該当領域をユーザプログラムの仮想空間から解
放する。その際に管理テーブル1070から前記ユーザ
プログラムのプロセスIDと当該制御情報IDが使用さ
れていることを示す情報を削除する。
結果、該当制御情報ID解放要求が正しいユーザプログ
ラムからのものでない場合にはステップ1240に進
み、前記ユーザプログラムに該当制御情報ID無しを通
知する。
ダプタ910に対してユーザ転送データ171の送信処
理要求を行う際の処理の流れを図13を用いて説明す
る。
手順を示すフローチャートである。まずステップ131
0でユーザプログラムは、転送対象となるユーザ転送デ
ータ171が格納された領域をOSのメモリ常駐処理部
162によりメインメモリ150に常駐させる。
は、制御情報ID要求処理を行って制御情報ID要求解
放処理部963から制御情報IDを取得し、通信制御情
報格納領域961の前記取得した制御情報IDに対応す
る特定領域に、ユーザ転送データ171のDMA先頭ア
ドレス1020、DMA長1030、ヘッダ情報104
0及びコマンド1050を書き込む。これらの処理の対
象となる空間はユーザ空間170に割り当てられてお
り、ユーザプログラムが排他的にアクセスすることが保
証されている為、排他制御を行う必要はない。
は、前記制御情報IDを示す単一の書き込みをネットワ
ークアダプタ910に発行する。制御情報IDを示す書
き込みは単一の書き込みである為、ここでも他のユーザ
プログラムとの排他制御を行う必要はない。
情報IDを示す書き込みに対して通信制御情報格納領域
961の前記制御情報IDに対応する特定領域に受け付
け状態1010の書き込みを行う。
ムは、通信制御情報格納領域961の前記制御情報ID
に対応する特定領域中の受け付け状態1010を参照
し、先ほどの送信処理要求の受け付けが成功したか否か
を確認する。
を確認した結果、受け付けが成功した場合には当該送信
処理要求処理を終了し、受け付けが失敗した場合にはス
テップ1330に戻って以下同様の処理を繰り返す。但
しユーザプログラムの処理手順によっては、この再要求
処理をすぐに繰り返さずに他の処理を実行してから再要
求処理を行っても良い。
プログラムから送信処理要求を受け付けた際の制御情報
ID保持手段913と受け付け判定部922の処理の流
れを図14を用いて説明する。
2の処理手順を示すフローチャートである。まずステッ
プ1410でネットワークアダプタ910は、ユーザプ
ログラムから発行された制御情報IDを示す単一の書き
込みを制御情報ID保持手段913で受け取る。
プタ910の受け付け判定部922は、受け付けFIF
Oメモリ920の空き状態を調べ、受け付けFIFOメ
モリ920に空き領域があればステップ1430に進
み、空き領域がなければステップ1450に進む。
は、制御情報ID保持手段913に保持された制御情報
IDに対応する通信制御情報格納領域961中の特定領
域の位置情報を通信制御情報位置保持手段912から読
み出し、その位置情報を用いて通信制御情報格納領域9
61中の前記制御情報IDに対応する通信制御情報の受
け付け状態1010に、受け付け成功の値として「1」
を書き込み、ステップ1440に進む。
は、制御情報ID保持手段913に保持された制御情報
IDを受け付けFIFOメモリ920の空き領域に格納
する。
22は、通信制御情報格納領域961中の前記制御情報
IDに対応する通信制御情報の受け付け状態1010
に、受け付け失敗の値として「0」を書き込んで処理を
終了する。
プログラムから送信処理要求を受け付けた際の状態回復
退避部921の処理の流れを図15を用いて説明する。
1の処理手順を示すフローチャートである。まずステッ
プ1510で状態回復退避部921は、ネットワーク送
受信部911の初期化を行う。続いてステップ1520
で状態回復退避部921は、制御情報IDを受け付けF
IFOメモリ920から取り出す。ここで受け付けFI
FOメモリ920が空の場合は、制御情報IDを示す書
き込みがユーザプログラムから発行されるまで待つ。
Oメモリ920から取り出した制御情報IDに対応する
通信制御情報格納領域961中の特定領域の位置情報を
通信制御情報位置保持手段912から読み出し、その位
置情報を用いて通信制御情報格納領域961中の前記制
御情報IDに対応する通信制御情報をメインメモリ15
0から取得する。
A先頭アドレス1020、DMA長1030、ヘッダ情
報1040及びコマンド1050が通信制御情報であ
る。但し複数の領域からのDMA処理を行う為には複数
の情報構造を持つものとしても良い。
21は、前記取得した通信制御情報をネットワーク送受
信部911に投入し、ステップ1550で処理完了を待
つ。
1540及びステップ1550では、一回の制御のみ行
う例を示すが、複数の制御を行う為の情報を通信制御情
報として保持しても良い。その場合、状態回復退避部9
21は複数の制御を行う様にコマンド1050の解釈を
行いながら動作する。
21は、ネットワーク送受信部911からの処理完了時
のステータス情報を取得する。ここで、複数の制御を行
う場合には各制御のステータス情報の履歴を各々とって
おく必要がある。
921は、前記取得したステータス情報を、メインメモ
リ150の通信制御情報格納領域961中の前記制御情
報IDに対応する通信制御情報のステータス1060に
設定し、ステップ1520以下の処理を繰り返す。
御装置によれば、単一の書き込みにより共有装置への処
理要求を受け付けてその処理要求を実行するので、OS
による排他制御を行うことなく複数のプログラムから共
有装置にアクセスすることが可能である。
データ転送を行う為のSCSI(Small Comp
uter System Interface)アダプ
タを排他制御することなく複数のユーザプログラムから
利用可能とする実施形態3の共有装置制御装置について
説明する。
概略構成を示す図である。図16に示す様に本実施形態
の計算機100は、SCSIアダプタ1610と、磁気
ディスク装置1690とを有している。
うことなく複数のユーザプログラムからの転送処理要求
を受け付けてユーザ転送データ171を転送するアダプ
タである。磁気ディスク装置1690はSCSIアダプ
タ1610の制御により複数のユーザプログラムとの間
でユーザ転送データ171の転送を行うI/O装置であ
る。
信部1611と、SCSI制御情報位置保持手段161
2と、制御情報ID保持手段1613と、バスインタフ
ェース制御部1614と、受け付けFIFOメモリ16
20と、状態回復退避部1621と、受け付け判定部1
622とを有している。
置1690との間で複数のユーザプログラムからのユー
ザ転送データ171の転送を行う回路である。SCSI
制御情報位置保持手段1612はSCSI制御情報格納
領域1661中の各SCSI制御情報が格納された特定
領域の位置を制御情報IDに対応付けて保持するレジス
タである。
制御情報格納領域1661中の特定領域を示す制御情報
IDを単一の書き込みにより保持するレジスタ等の保持
手段である。
SIアダプタ1610をシステムバス180に接続する
制御部である。受け付けFIFOメモリ1620は複数
の制御情報IDを格納する受け付け制御情報ID格納手
段であり、複数の制御情報IDを先入れ先出しで処理す
るRAM等のメモリである。
Oメモリ1620中の制御情報IDに対応する特定領域
のSCSI制御情報をSCSI制御情報格納領域166
1から取得して転送処理を行い、その処理結果を示す情
報をSCSI制御情報格納領域1661中の前記制御情
報IDに対応する特定領域に書き込む回路である。
Oメモリ1620の空き領域の有無に応じて当該転送処
理の受け付け結果を示す情報をSCSI制御情報格納領
域1661中の当該制御情報IDに対応する特定領域に
書き込み、受け付けFIFOメモリ1620の空き領域
に制御情報ID保持手段1613中の制御情報IDを格
納する回路である。
格納領域1661と、制御情報ID要求解放処理部16
63とを有している。
SIアダプタ1610で転送処理を行う為の複数のSC
SI制御情報を格納する制御情報格納領域である。制御
情報ID要求解放処理部1663はユーザプログラムか
らの制御情報IDの要求に対してSCSI制御情報格納
領域1661中の未使用領域の制御情報IDを応答し、
呼出し側のユーザプログラムのユーザ空間170での当
該制御情報IDに対応する特定領域の割り付けや解放を
行う処理部である。
て通信を行う計算機システムの一例を示している。前記
説明した以外の各部の構成は図1に示したものと同様と
する。
ザプログラムからの処理要求を排他制御を行うことなく
受け付けることが可能である。これを実現する為に、転
送を行う為に必要なSCSI制御情報の本体はメインメ
モリ150上のSCSI制御情報格納領域1661に置
かれる。
納領域1661中の特定領域を示す制御情報IDを有す
る単一の書き込みを発行し、SCSIアダプタ1610
からのこの制御情報IDに対応する受け付け状況のメイ
ンメモリ150への書き込みにより、処理要求の成否を
確認する。
1610への書き込みが単一の書き込みである為、SC
SIアダプタ1610への書き込みは一度に単一のユー
ザプログラムのみから行われることとなり、複数のユー
ザプログラム間での排他制御は必要ではなくなる。
プタ1610に対して発行された処理要求を行う書き込
みを受け付けて、後で処理する為に受け付けFIFOメ
モリ1620に取り込むことができるか否かを判定し、
受け付けFIFOメモリ1620に制御情報IDを保持
する為の空があるかないかによって値の異なる受け付け
状態情報(例えば、空がある場合には「1」、空がない
場合には「0」となる)を、制御情報ID保持手段16
13の内容である制御情報ID及びSCSI制御情報位
置保持手段1612から得られるSCSI制御情報格納
領域1661内の特定の位置に書き戻す処理を行う回路
であり、例えばTTLやCMOS等の論理によって構成
される。
FOメモリ1620に貯えられた制御情報IDの内容と
SCSI制御情報位置保持手段1612に保持された位
置情報とから、メインメモリ150上にあるSCSI制
御情報をDMA処理により取得してデータ送受信部16
11に設定して転送処理を行い、その転送処理の結果を
メインメモリ150上のSCSI制御情報格納領域16
61に書き戻す回路であり、例えばTTLやCMOS等
の論理とRAMによって構成される。
ユーザプログラムからの制御情報IDの要求に対して、
SCSI制御情報格納領域1661中の未使用の制御情
報IDの番号及び該制御情報IDに対応する領域のアド
レスを呼出し側のプロセスのユーザ空間170に割り付
ける処理を行う。OS空間160内のデータ構造として
SCSI制御情報格納領域1661があり、この詳細を
図17に示す。
納領域1661の一例を示す図である。図17に示す様
に本実施形態のSCSI制御情報格納領域1661は、
受け付け状態1710と、DMA先頭アドレス1720
と、DMA長1730と、ヘッダ情報1740と、コマ
ンド1750と、ステータス1760と、管理テーブル
1770とを有している。
が要求した転送処理のSCSIアダプタ1610での受
け付け結果を示す情報である。DMA先頭アドレス17
20はDMA処理によって転送されるユーザ転送データ
171の先頭アドレスであり、状態回復退避部1621
がデータ送受信部1611に設定するアドレスである。
データ長を示す情報である。ヘッダ情報1740はユー
ザ転送データ171を転送するネットワークパケットの
ヘッダの情報である。コマンド1750は複数の転送処
理を連続して行う等の処理内容を指示する情報である。
要求した転送処理のSCSIアダプタ1610での処理
結果を示すステータス情報である。管理テーブル177
0はSCSI制御情報格納領域1661の各領域の使用
状況を示すテーブルである。
ーザプログラムが通信制御を行う際に書き込みを行う制
御ブロックである受け付け状態1710からステータス
1760のテーブルと、それらを管理する管理テーブル
1770とから構成されている。なお図中の受け付け状
態1710からステータス1760に付加された数字は
対応するN個の領域を識別する整数を表している。
1760までの制御ブロックと独立に存在する管理テー
ブル1770は、OSが管理する資源で各制御情報ID
の使用状況を示しており、OSが更新するテーブルであ
る。管理テーブル1770以外の他の資源はユーザプロ
グラム間での共有情報を有していない為、一度各ユーザ
プログラムに割り当てられた後には排他制御を行う必要
はない。
に分かれており、転送対象となるユーザ転送データ17
1が格納された領域は、OSのメモリ常駐処理部162
を介してDMA転送前にメインメモリ150に常駐され
る様に設定される。
の呼出し時にSCSI制御情報格納領域1661の特定
領域が呼出し側のユーザプログラムの空間に割り当てら
れる。この割り当ては仮想メモリによって実現すること
ができる。
タ1610で通信を行う際に制御情報IDを要求する処
理の流れを図18を用いて説明する。
理の処理手順を示すフローチャートである。まずステッ
プ1810でユーザプログラムはOSの制御情報ID要
求解放処理部1663に対して制御情報ID要求を発行
する。
解放処理部1663は、SCSI制御情報格納領域16
61の管理テーブル1770において未使用の制御情報
IDを検索する。
SCSI制御情報格納領域1661の管理テーブル17
70中に未使用の制御情報IDがある場合にはステップ
1850に進み、未使用の制御情報IDを取得して前記
制御情報ID要求を発行したユーザプログラムに返し、
当該制御情報IDに対応する特定領域を前記ユーザプロ
グラムのユーザ空間170に割り当てる。その際に管理
テーブル1770に前記ユーザプログラムのプロセスI
Dと、当該制御情報IDが使用されていることを示す情
報を設定する。
結果、未使用の制御情報IDが無い場合にはステップ1
840に進み、前記ユーザプログラムに制御情報ID無
しを通知する。
タ1610で通信を行った後に制御情報IDの解放を要
求する処理の流れを図19を用いて説明する。
求処理の処理手順を示すフローチャートである。まずス
テップ1910でユーザプログラムは制御情報IDを指
定してOSの制御情報ID要求解放処理部1663に対
して当該制御情報IDの解放を要求する。
解放処理部1663は、SCSI制御情報格納領域16
61の管理テーブル1770に対して、解放要求のあっ
た制御情報IDのテーブルを検索する。
制御情報ID解放要求を発行したユーザプログラムが当
該制御情報IDの利用者であるかどうかを確認する。こ
の確認は、呼出し側のユーザプログラムのプロセスID
と管理テーブル1770に設定されているプロセスID
が一致するか否かによって行う。
結果、該当制御情報ID解放要求が正しいユーザプログ
ラムからのものである場合にはステップ1950に進
み、該当制御情報IDを解放し、SCSI制御情報格納
領域1661の該当領域をユーザプログラムの仮想空間
から解放する。その際に管理テーブル1770から前記
ユーザプログラムのプロセスIDと当該制御情報IDが
使用されていることを示す情報を削除する。
結果、該当制御情報ID解放要求が正しいユーザプログ
ラムからのものでない場合にはステップ1940に進
み、前記ユーザプログラムに該当制御情報ID無しを通
知する。
タ1610に対してユーザ転送データ171の転送処理
要求を行う際の処理の流れを図20を用いて説明する。
手順を示すフローチャートである。まずステップ201
0でユーザプログラムは、転送対象となるユーザ転送デ
ータ171が格納された領域をOSのメモリ常駐処理部
162によりメインメモリ150に常駐させる。
は、制御情報ID要求処理を行って制御情報ID要求解
放処理部1663から制御情報IDを取得し、SCSI
制御情報格納領域1661の前記取得した制御情報ID
に対応する特定領域に、ユーザ転送データ171のDM
A先頭アドレス1720、DMA長1730、ヘッダ情
報1740及びコマンド1750を書き込む。これらの
処理の対象となる空間はユーザ空間170に割り当てら
れており、ユーザプログラムが排他的にアクセスするこ
とが保証されている為、排他制御を行う必要はない。
は、前記制御情報IDを示す単一の書き込みをSCSI
アダプタ1610に発行する。制御情報IDを示す書き
込みは単一の書き込みである為、ここでも他のユーザプ
ログラムとの排他制御を行う必要はない。
報IDを示す書き込みに対してSCSI制御情報格納領
域1661の前記制御情報IDに対応する特定領域に受
け付け状態1710の書き込みを行う。
ムは、SCSI制御情報格納領域1661の前記制御情
報IDに対応する特定領域中の受け付け状態1710を
参照し、先ほどの処理要求の受け付けが成功したか否か
を確認する。
を確認した結果、受け付けが成功した場合には当該処理
要求処理を終了し、受け付けが失敗した場合にはステッ
プ2030に戻って以下同様の処理を繰り返す。但しユ
ーザプログラムの処理手順によっては、この再要求処理
をすぐに繰り返さずに他の処理を実行してから再要求処
理を行っても良い。
ログラムから転送処理要求を受け付けた際の制御情報I
D保持手段1613と受け付け判定部1622の処理の
流れを図21を用いて説明する。
22の処理手順を示すフローチャートである。まずステ
ップ2110でSCSIアダプタ1610は、ユーザプ
ログラムから発行された制御情報IDを示す単一の書き
込みを制御情報ID保持手段1613で受け取る。
1610の受け付け判定部1622は、受け付けFIF
Oメモリ1620の空き状態を調べ、受け付けFIFO
メモリ1620に空き領域があればステップ2130に
進み、空き領域がなければステップ2150に進む。
2は、制御情報ID保持手段1613に保持された制御
情報IDに対応するSCSI制御情報格納領域1661
中の特定領域の位置情報をSCSI制御情報位置保持手
段1612から読み出し、その位置情報を用いてSCS
I制御情報格納領域1661中の前記制御情報IDに対
応するSCSI制御情報の受け付け状態1710に、受
け付け成功の値として「1」を書き込み、ステップ21
40に進む。
2は、制御情報ID保持手段1613に保持された制御
情報IDを受け付けFIFOメモリ1620の空き領域
に格納する。
622は、SCSI制御情報格納領域1661中の前記
制御情報IDに対応するSCSI制御情報の受け付け状
態1710に、受け付け失敗の値として「0」を書き込
んで処理を終了する。
ログラムから転送処理要求を受け付けた際の状態回復退
避部1621の処理の流れを図22を用いて説明する。
21の処理手順を示すフローチャートである。まずステ
ップ2210で状態回復退避部1621は、データ送受
信部1611の初期化を行う。続いてステップ2220
で状態回復退避部1621は、制御情報IDを受け付け
FIFOメモリ1620から取り出す。ここで受け付け
FIFOメモリ1620が空の場合は、制御情報IDを
示す書き込みがユーザプログラムから発行されるまで待
つ。
Oメモリ1620から取り出した制御情報IDに対応す
るSCSI制御情報格納領域1661中の特定領域の位
置情報をSCSI制御情報位置保持手段1612から読
み出し、その位置情報を用いてSCSI制御情報格納領
域1661中の前記制御情報IDに対応するSCSI制
御情報をメインメモリ150から取得する。
DMA先頭アドレス1720、DMA長1730、ヘッ
ダ情報1740及びコマンド1750がSCSI制御情
報である。但し複数の領域からのDMA処理を行う為に
は複数の情報構造を持つものとしても良い。
621は、前記取得したSCSI制御情報をデータ送受
信部1611に投入し、ステップ2250で処理完了を
待つ。
2240及びステップ2250では、一回の制御のみ行
う例を示すが、複数の制御を行う為の情報をSCSI制
御情報として保持しても良い。その場合、状態回復退避
部1621は複数の制御を行う様にコマンド1750の
解釈を行いながら動作する。
621は、データ送受信部1611からの処理完了時の
ステータス情報を取得する。ここで、複数の制御を行う
場合には各制御のステータス情報の履歴を各々とってお
く必要がある。
1621は、前記取得したステータス情報を、メインメ
モリ150のSCSI制御情報格納領域1661中の前
記制御情報IDに対応するSCSI制御情報のステータ
ス1760に設定し、ステップ2220以下の処理を繰
り返す。
御装置によれば、単一の書き込みにより共有装置への処
理要求を受け付けてその処理要求を実行するので、OS
による排他制御を行うことなく複数のプログラムから共
有装置にアクセスすることが可能である。
有装置への処理要求を受け付けてその処理要求を実行す
るので、OSによる排他制御を行うことなく複数のプロ
グラムから共有装置にアクセスすることが可能である。
す図である。
例を示す図である。
例を示す図である。
ローチャートである。
すフローチャートである。
ローチャートである。
を示すフローチャートである。
を示すフローチャートである。
す図である。
一例を示す図である。
順を示すフローチャートである。
理手順を示すフローチャートである。
フローチャートである。
順を示すフローチャートである。
順を示すフローチャートである。
示す図である。
61の一例を示す図である。
順を示すフローチャートである。
理手順を示すフローチャートである。
フローチャートである。
手順を示すフローチャートである。
手順を示すフローチャートである。
メモリ、110…多重化ネットワークアダプタ、131
…キーボード、132…ディスプレイ装置、133…磁
気ディスク装置、134…CD−ROM装置、180…
システムバス、111…ネットワーク多重化送受信部、
112…回線制御情報位置保持手段、113…回線ID
保持手段、114…バスインタフェース制御部、120
…受け付けFIFOメモリ、121…状態回復退避部、
122…受け付け判定部、160…OS空間、161…
回線制御情報格納領域、162…メモリ常駐処理部、1
63…回線要求解放処理部、170…ユーザ空間、17
1…ユーザ転送データ、190…ネットワーク、210
…受け付け状態、220…DMA先頭アドレス、230
…DMA長、240…ヘッダ情報、250…コマンド、
260…ステータス、270…管理テーブル、310…
タイプ、320…送信元アドレス、330…受信先アド
レス、910…ネットワークアダプタ、911…ネット
ワーク送受信部、912…通信制御情報位置保持手段、
913…制御情報ID保持手段、914…バスインタフ
ェース制御部、920…受け付けFIFOメモリ、92
1…状態回復退避部、922…受け付け判定部、961
…通信制御情報格納領域、963…制御情報ID要求解
放処理部、1010…受け付け状態、1020…DMA
先頭アドレス、1030…DMA長、1040…ヘッダ
情報、1050…コマンド、1060…ステータス、1
070…管理テーブル、1610…SCSIアダプタ、
1690…磁気ディスク装置、1611…データ送受信
部、1612…SCSI制御情報位置保持手段、161
3…制御情報ID保持手段、1614…バスインタフェ
ース制御部、1620…受け付けFIFOメモリ、16
21…状態回復退避部、1622…受け付け判定部、1
661…SCSI制御情報格納領域、1663…制御情
報ID要求解放処理部、1710…受け付け状態、17
20…DMA先頭アドレス、1730…DMA長、17
40…ヘッダ情報、1750…コマンド、1760…ス
テータス、1770…管理テーブル。
Claims (6)
- 【請求項1】 複数のプログラムで共有される共有装置
を制御する共有装置制御方法において、 共有装置で特定の処理を行う為の制御情報を制御情報格
納領域中の特定領域に格納し、前記制御情報を格納した
特定領域を示す制御情報IDを単一の書き込みにより制
御情報ID保持手段に保持し、 複数の制御情報IDを格納する受け付け制御情報ID格
納手段の空き領域に前記制御情報ID保持手段中の制御
情報IDを格納し、前記受け付け制御情報ID格納手段
中の制御情報IDに対応する特定領域の制御情報を制御
情報格納領域から取得して前記特定の処理を行うことを
特徴とする共有装置制御方法。 - 【請求項2】 前記受け付け制御情報ID格納手段の空
き領域の有無に応じて当該処理の受け付け結果を示す情
報を制御情報格納領域中の前記制御情報IDに対応する
特定領域に格納することを特徴とする請求項1に記載さ
れた共有装置制御方法。 - 【請求項3】 前記制御情報IDに対応する特定領域の
制御情報を制御情報格納領域から取得して前記特定の処
理を行った後に、その処理結果を示す情報を制御情報格
納領域中の前記制御情報IDに対応する特定領域に格納
することを特徴とする請求項1または請求項2のいずれ
かに記載された共有装置制御方法。 - 【請求項4】 複数のプログラムで共有される共有装置
を制御する共有装置制御装置において、 共有装置で特定の処理を行う為の制御情報を格納した制
御情報格納領域中の特定領域を示す制御情報IDを単一
の書き込みにより保持する制御情報ID保持手段と、複
数の制御情報IDを格納する受け付け制御情報ID格納
手段と、 前記受け付け制御情報ID格納手段の空き領域に前記制
御情報ID保持手段中の制御情報IDを格納する受け付
け判定部と、前記受け付け制御情報ID格納手段中の制
御情報IDに対応する特定領域の制御情報を制御情報格
納領域から取得して前記特定の処理を行う状態回復退避
部とを備えることを特徴とする共有装置制御装置。 - 【請求項5】 前記受け付け判定部は、前記受け付け制
御情報ID格納手段の空き領域の有無に応じて当該処理
の受け付け結果を示す情報を制御情報格納領域中の前記
制御情報IDに対応する特定領域に格納するものである
ことを特徴とする請求項4に記載された共有装置制御装
置。 - 【請求項6】 前記状態回復退避部は、前記制御情報I
Dに対応する特定領域の制御情報を制御情報格納領域か
ら取得して前記特定の処理を行った後に、その処理結果
を示す情報を制御情報格納領域中の前記制御情報IDに
対応する特定領域に格納するものであることを特徴とす
る請求項4または請求項5のいずれかに記載された共有
装置制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9315209A JPH11149387A (ja) | 1997-11-17 | 1997-11-17 | 共有装置制御方法及びその実施装置 |
US09/192,218 US6477560B1 (en) | 1997-11-17 | 1998-11-16 | Method and apparatus for controlling resource |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9315209A JPH11149387A (ja) | 1997-11-17 | 1997-11-17 | 共有装置制御方法及びその実施装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11149387A true JPH11149387A (ja) | 1999-06-02 |
Family
ID=18062724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9315209A Pending JPH11149387A (ja) | 1997-11-17 | 1997-11-17 | 共有装置制御方法及びその実施装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6477560B1 (ja) |
JP (1) | JPH11149387A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370123B2 (en) | 2004-10-12 | 2008-05-06 | Nec Electronics Corporation | Information processing apparatus |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4176973B2 (ja) * | 2001-05-15 | 2008-11-05 | アルパイン株式会社 | 受信機 |
US7207041B2 (en) * | 2001-06-28 | 2007-04-17 | Tranzeo Wireless Technologies, Inc. | Open platform architecture for shared resource access management |
US7181744B2 (en) * | 2002-10-24 | 2007-02-20 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
US7299468B2 (en) * | 2003-04-29 | 2007-11-20 | International Business Machines Corporation | Management of virtual machines to utilize shared resources |
US7251815B2 (en) * | 2003-04-29 | 2007-07-31 | International Business Machines Corporation | Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle |
JP4012517B2 (ja) | 2003-04-29 | 2007-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想計算機環境におけるロックの管理 |
US20050267958A1 (en) * | 2004-04-28 | 2005-12-01 | International Business Machines Corporation | Facilitating management of resources by tracking connection usage of the resources |
US20050257223A1 (en) * | 2004-05-13 | 2005-11-17 | International Business Machines Corporation | Method, system, and computer program product for returning constant values as per-process variables |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02195453A (ja) * | 1989-01-25 | 1990-08-02 | Toshiba Corp | ファイルアクセス制御方式 |
JP3385091B2 (ja) * | 1994-05-13 | 2003-03-10 | 三菱電機株式会社 | 計算機間の排他制御装置 |
-
1997
- 1997-11-17 JP JP9315209A patent/JPH11149387A/ja active Pending
-
1998
- 1998-11-16 US US09/192,218 patent/US6477560B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370123B2 (en) | 2004-10-12 | 2008-05-06 | Nec Electronics Corporation | Information processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
US6477560B1 (en) | 2002-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
JP3605573B2 (ja) | ネットワーク処理システムにおけるメモリ管理方法およびネットワーク処理システム | |
US6397316B2 (en) | System for reducing bus overhead for communication with a network interface | |
USRE38134E1 (en) | System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally | |
US5907684A (en) | Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image | |
US5530905A (en) | Temporary state preservation for a distributed file service which purges virtual circuit control information after expiration of time limit of inactivity | |
US7934220B2 (en) | Method and system for optimizing file table usage | |
KR100326864B1 (ko) | 네트워크통신방법및네트워크시스템 | |
US6728803B1 (en) | Interconnection architecture for managing multiple low bandwidth connections over a high bandwidth link | |
JP3165022B2 (ja) | コンピュータ・システム及びメッセージ転送方法 | |
US5781741A (en) | Message communications system in a parallel computer | |
US20030097459A1 (en) | Method for efficiently controlling socket server send buffer usage | |
US20040252709A1 (en) | System having a plurality of threads being allocatable to a send or receive queue | |
JP2001523864A (ja) | 多数のクライアント−サーバ・セッションおよび以前のセッションへのユーザのダイナミック再接続をサポートするサーバ・オペレーティング・システム | |
JPH03130863A (ja) | 制御要素転送システム | |
JP4788124B2 (ja) | データ処理システム | |
JPH08241263A (ja) | I/o要求処理計算機システム及び処理方法 | |
US20060059244A1 (en) | Communication mechanism and method for easily transferring information between processes | |
US11792272B2 (en) | Establishment of socket connection in user space | |
US6430645B1 (en) | Fibre channel and SCSI address mapping for multiple initiator support | |
JPH10143461A (ja) | 周辺装置システム | |
JPH11149387A (ja) | 共有装置制御方法及びその実施装置 | |
US7366802B2 (en) | Method in a frame based system for reserving a plurality of buffers based on a selected communication protocol | |
US20030236819A1 (en) | Queue-based data retrieval and transmission | |
US6345329B1 (en) | Method and apparatus for exchanging data using a queued direct input-output device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070219 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070814 |