JPH03129443A - ファイル転送方法とその装置 - Google Patents
ファイル転送方法とその装置Info
- Publication number
- JPH03129443A JPH03129443A JP2115919A JP11591990A JPH03129443A JP H03129443 A JPH03129443 A JP H03129443A JP 2115919 A JP2115919 A JP 2115919A JP 11591990 A JP11591990 A JP 11591990A JP H03129443 A JPH03129443 A JP H03129443A
- Authority
- JP
- Japan
- Prior art keywords
- file
- directory
- disk
- ring
- destination
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/956—Hierarchical
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ファイル転送方法およびファイル転送装置に
関するものであり、より特定的には、任意のオペレーテ
ィングシステムが動作するコンピュータによって任意の
ディスクの内容を読み出しおよび書き込みを可能にする
方法および装置に関する。さらに詳しく述べると5本発
明は、ホストコンピュータシステムで動作し、ホストコ
ンピュータのオペレーティングシステムとは異なる(f
。
関するものであり、より特定的には、任意のオペレーテ
ィングシステムが動作するコンピュータによって任意の
ディスクの内容を読み出しおよび書き込みを可能にする
方法および装置に関する。さらに詳しく述べると5本発
明は、ホストコンピュータシステムで動作し、ホストコ
ンピュータのオペレーティングシステムとは異なる(f
。
rein)オペレーティングシステムに通したファイル
フォーマットを有するディスクに対してユーザー(利用
者)がアクセスでき、修飾でき、そして、オリジナルシ
ステムで修飾したファイルを異なるディスクに戻し、そ
れにより、ユーザーに明瞭なディスク・ファイルフォー
マットを作成するアプリケーションプログラムを動作さ
せる方法および装置に関する。
フォーマットを有するディスクに対してユーザー(利用
者)がアクセスでき、修飾でき、そして、オリジナルシ
ステムで修飾したファイルを異なるディスクに戻し、そ
れにより、ユーザーに明瞭なディスク・ファイルフォー
マットを作成するアプリケーションプログラムを動作さ
せる方法および装置に関する。
本発明と同様の目的を達成するための本出願の先行技術
として1本出願の出願人による米国特許出願番号第07
/254,274号(1988年10月6日米国出願1
発明者、ジタン・デブリュウ・ライスラー)に基づいて
我が国に平成元年10月5日に優先権主張して出願され
た特願平1−257.208号、「マルチファイル転送
動作を遂行する装置とその方法」がある。
として1本出願の出願人による米国特許出願番号第07
/254,274号(1988年10月6日米国出願1
発明者、ジタン・デブリュウ・ライスラー)に基づいて
我が国に平成元年10月5日に優先権主張して出願され
た特願平1−257.208号、「マルチファイル転送
動作を遂行する装置とその方法」がある。
第1図は従来の、異なるファイルフォーマット内のディ
スクファイル用の転送方法を図解する図である。
スクファイル用の転送方法を図解する図である。
第1図に示すように、たとえば、対応する第1のファイ
ルフォーマットを備えた仮想メモリシステム(V M
S : Virtual Memory System
)などの。
ルフォーマットを備えた仮想メモリシステム(V M
S : Virtual Memory System
)などの。
あるオペレーティングシステムが動作するコンピュータ
システム12のディスクシステムIOから、たとえば、
対応する第2のファイルフォーマットを備えたMS−D
O3(マイクロソフト社の商標)などの他のオペレーテ
ィングシステムが動作する第2のコンピュータシステム
16の他のディスクシスチムニ4ヘデータを転送する従
来の方法は、ローカルエリアネットワーク(LAN)を
介して、または、モデム18および20を用いる電話回
線システムを介してデータを転送することにある。ディ
スクのファイルフォーマットは2つの事項を有している
。その第1のものは、ディレクトリ構造であり、このデ
ィレクトリ構造はファイルがどこに配置されているか、
ファイル相互間の関係、および、ファイル自体を記述す
る情報を示している。ファイルフォーマットの第2のも
のはファイル内のテキストライン(text 1ine
)に関する記録フォーマットなどのファイルの内部構造
に関するものである。
システム12のディスクシステムIOから、たとえば、
対応する第2のファイルフォーマットを備えたMS−D
O3(マイクロソフト社の商標)などの他のオペレーテ
ィングシステムが動作する第2のコンピュータシステム
16の他のディスクシスチムニ4ヘデータを転送する従
来の方法は、ローカルエリアネットワーク(LAN)を
介して、または、モデム18および20を用いる電話回
線システムを介してデータを転送することにある。ディ
スクのファイルフォーマットは2つの事項を有している
。その第1のものは、ディレクトリ構造であり、このデ
ィレクトリ構造はファイルがどこに配置されているか、
ファイル相互間の関係、および、ファイル自体を記述す
る情報を示している。ファイルフォーマットの第2のも
のはファイル内のテキストライン(text 1ine
)に関する記録フォーマットなどのファイルの内部構造
に関するものである。
〔発明が解決しようとする課題]
上記した方法は、ファイルが共通の伝送ファイルに変換
されるべきこと、および、物理的に接続された異なるコ
ンピュータ12と14との相互間の伝送媒体にわたって
転送されるべきことを要求している。他の方法は、磁気
テープなどの共通にフォーマット化された媒体に磁気デ
ータが記憶されること、および、異なるコンピュータ1
2と14との相互間で磁気テープを物理的に運搬するこ
とである。パーソナルコンピュータなどの数多くの小規
模のシステムは、容易に利用できる磁気テープを有して
おらず、やむをえず、ネットワーク転送方法を用いなけ
ればならない。これら両者の方法は応答が遅く、他の目
的に利用できないハードウェアを要求している。
されるべきこと、および、物理的に接続された異なるコ
ンピュータ12と14との相互間の伝送媒体にわたって
転送されるべきことを要求している。他の方法は、磁気
テープなどの共通にフォーマット化された媒体に磁気デ
ータが記憶されること、および、異なるコンピュータ1
2と14との相互間で磁気テープを物理的に運搬するこ
とである。パーソナルコンピュータなどの数多くの小規
模のシステムは、容易に利用できる磁気テープを有して
おらず、やむをえず、ネットワーク転送方法を用いなけ
ればならない。これら両者の方法は応答が遅く、他の目
的に利用できないハードウェアを要求している。
(課題を解決するための手段)
したがって1本発明の目的は、もしオリジナルのオペレ
ーティングシステムが異種のファイルシステムの情報の
ファイルに対応していない場合。
ーティングシステムが異種のファイルシステムの情報の
ファイルに対応していない場合。
同じコンピュータ上の異なるファイルシステム相互間で
情報をユーザーが移動することを可能にするシステムを
提供することにある。
情報をユーザーが移動することを可能にするシステムを
提供することにある。
本発明の他の目的は、異なるディスク上の情報にユーザ
ーがアクセスすることを可能にすることにある。
ーがアクセスすることを可能にすることにある。
本発明の付加的な目的は、ユーザーが異なるディスク上
に情報を書き込むことを可能にすることにある。
に情報を書き込むことを可能にすることにある。
上述した問題を解決し、上述した目的を遠戚するため1
本発明は、異なる形態でフォーマット化されたディスク
相互間で特定されたファイルをユーザーが転送可能でき
る処理とデータ構造の独立した組を提供することにより
達成する。すなわちそのための処理は、ソースディスク
およびディストネーションディスクのファイルフォーマ
ットを同定し、ソースファイルフォーマット内のソース
ファイルを検索し、ソースディスクのディレクトリ階層
およびディストネーションディスクが維持されることを
可能にするメモリ内のメモリフォーマット内にソースフ
ァイルを記憶し、もし必要ならばテキスト・ソースファ
イル・レコードの内容をディストネーションファイル・
システムの記録フォーマットに翻訳しく trans
la te) 、 もし必要ならば転送されたフォー
マットについての異種フォーマットのディスクのために
ディレクトリとヘッダを生威し、そして、ホスト・ファ
イルフォーマットがあるディストネーションディスクに
そのファイルを記憶する。そこで1ユーザーはホストコ
ンピュータシステムを用いてファイルにアクセスしてフ
ァイルを修飾することができ、そして。
本発明は、異なる形態でフォーマット化されたディスク
相互間で特定されたファイルをユーザーが転送可能でき
る処理とデータ構造の独立した組を提供することにより
達成する。すなわちそのための処理は、ソースディスク
およびディストネーションディスクのファイルフォーマ
ットを同定し、ソースファイルフォーマット内のソース
ファイルを検索し、ソースディスクのディレクトリ階層
およびディストネーションディスクが維持されることを
可能にするメモリ内のメモリフォーマット内にソースフ
ァイルを記憶し、もし必要ならばテキスト・ソースファ
イル・レコードの内容をディストネーションファイル・
システムの記録フォーマットに翻訳しく trans
la te) 、 もし必要ならば転送されたフォー
マットについての異種フォーマットのディスクのために
ディレクトリとヘッダを生威し、そして、ホスト・ファ
イルフォーマットがあるディストネーションディスクに
そのファイルを記憶する。そこで1ユーザーはホストコ
ンピュータシステムを用いてファイルにアクセスしてフ
ァイルを修飾することができ、そして。
ソースディスクとして動作するホストシステムフォーマ
ットディスクおよびディストネーションディスクとして
動作する異なるシステムフォーマット化されたディスク
を用いて、同じルーチンを用いて異なるファイルフォー
マット内の異なるディスクに修飾したファイルを再び転
送することができる。
ットディスクおよびディストネーションディスクとして
動作する異なるシステムフォーマット化されたディスク
を用いて、同じルーチンを用いて異なるファイルフォー
マット内の異なるディスクに修飾したファイルを再び転
送することができる。
本発明のこれらの目的と他の目的ならびに他の利点は2
それらの一部を形成する添付図面に関連付けて下記によ
り詳細に記述され、特許請求の範囲に記述される詳細な
t!或および動作の詳細によってより明瞭にされるので
あり、添付図面において同じ符号が付された要素は図面
全体を通じて同様の構成要素を示している。
それらの一部を形成する添付図面に関連付けて下記によ
り詳細に記述され、特許請求の範囲に記述される詳細な
t!或および動作の詳細によってより明瞭にされるので
あり、添付図面において同じ符号が付された要素は図面
全体を通じて同様の構成要素を示している。
(実施例)
第2図は本発明の動作を図解する図である。
本発明は第2図に示すように、単一のコンピュータ30
が異種のフォーマットディスク32.好適には3本出願
の出願人であるアルファトロニクス社が提供する“lN
5PIRE (商標)nモデルディスクドライブなどの
ディスクドライブ34に搭載されたフォーマットディス
ク32にアクセスを可能にしている。本発明の転送シス
テム36はまた。ユーザー38によって指定されるもの
としての、異種のフォーマットディスク32の内容を、
ホスト、または好適にはまたlN5P IREモデルデ
ィスクドライブであるディスクドライブ42内の元々の
(native)ファイルフォーマント・ディスク40
に転送する。この転送システム36(またはバイパスシ
ステム36)のアプリケーションプログラムは、ホスト
コンピュータ30内で動作するホストオペレーティング
システム44をバイパスし、ホストフォーマットディス
ク40に記憶されている異種のファイルフォーマ−/
)・ディスクフォーマットの内容をホストオペレーティ
ングシステム44のファイルフォーマットに記憶する。
が異種のフォーマットディスク32.好適には3本出願
の出願人であるアルファトロニクス社が提供する“lN
5PIRE (商標)nモデルディスクドライブなどの
ディスクドライブ34に搭載されたフォーマットディス
ク32にアクセスを可能にしている。本発明の転送シス
テム36はまた。ユーザー38によって指定されるもの
としての、異種のフォーマットディスク32の内容を、
ホスト、または好適にはまたlN5P IREモデルデ
ィスクドライブであるディスクドライブ42内の元々の
(native)ファイルフォーマント・ディスク40
に転送する。この転送システム36(またはバイパスシ
ステム36)のアプリケーションプログラムは、ホスト
コンピュータ30内で動作するホストオペレーティング
システム44をバイパスし、ホストフォーマットディス
ク40に記憶されている異種のファイルフォーマ−/
)・ディスクフォーマットの内容をホストオペレーティ
ングシステム44のファイルフォーマットに記憶する。
ユーザー38はそこで、ホストオペレーティングシステ
ム44を介して、またはホストオペレーティングシステ
ム44を通してホストフォーマットディスク40に記憶
されているファイル内容にアクセスするホストアプリケ
ーションプログラム46のいずれかを介して、ホストフ
ォーマットディスク40に転送されたファイルにアクセ
スできる。−旦ユーザー38が転送されたファイルの検
討を終了すると、またはファイルの修飾(modifi
cation)を終了すると、ホストディスク40に記
憶されたホストファイルフォーマット内のファイルが、
転送システム36によって、異種のファイルフォーマッ
ト内のファイルに変換され。
ム44を介して、またはホストオペレーティングシステ
ム44を通してホストフォーマットディスク40に記憶
されているファイル内容にアクセスするホストアプリケ
ーションプログラム46のいずれかを介して、ホストフ
ォーマットディスク40に転送されたファイルにアクセ
スできる。−旦ユーザー38が転送されたファイルの検
討を終了すると、またはファイルの修飾(modifi
cation)を終了すると、ホストディスク40に記
憶されたホストファイルフォーマット内のファイルが、
転送システム36によって、異種のファイルフォーマッ
ト内のファイルに変換され。
異種のファイルフォーマットディスク32に記憶される
。それにより1本発明は、ファイルがホストコンピュー
タシステムによってアクセス可能なファイルフォーマッ
ト内にあるか否かに患わされることなく、ユーザー38
が任意のオペレーティングシステムで動作している任意
のコンピュータのディスクの内容にアクセスすることを
可能にしている。本発明は、ディスクドライブ34およ
び42を要求しており、これらのディスクドライブはハ
ードウェア適合性を有しており、これらのディスクドラ
イブにおいてデータが標準の物理的なディスクフォーマ
ットで記憶される。好適な物理的なディスクフォーマッ
トは、ANSI、l5O1および、トラックとディスク
が分割されているセクタの番号との間隔などのディスク
上の情報の物理的な配置を特定する日本の研究諮問23
(Japan 5tudy Como+1ttee 2
3: J a p a n 23)によって採用され
ている光学的ディジタルデータ・ディスクフォーマット
である。この物理的なディスクフォーマットの記述は、
I S OLt文”Op tical Digi
tal Data Disk′″に見出される。上
述したlN5PIREモデルデイスクドライブなどの光
学的ディスクドライブの出現は必要とされるハードウェ
ア適合性を提供している。
。それにより1本発明は、ファイルがホストコンピュー
タシステムによってアクセス可能なファイルフォーマッ
ト内にあるか否かに患わされることなく、ユーザー38
が任意のオペレーティングシステムで動作している任意
のコンピュータのディスクの内容にアクセスすることを
可能にしている。本発明は、ディスクドライブ34およ
び42を要求しており、これらのディスクドライブはハ
ードウェア適合性を有しており、これらのディスクドラ
イブにおいてデータが標準の物理的なディスクフォーマ
ットで記憶される。好適な物理的なディスクフォーマッ
トは、ANSI、l5O1および、トラックとディスク
が分割されているセクタの番号との間隔などのディスク
上の情報の物理的な配置を特定する日本の研究諮問23
(Japan 5tudy Como+1ttee 2
3: J a p a n 23)によって採用され
ている光学的ディジタルデータ・ディスクフォーマット
である。この物理的なディスクフォーマットの記述は、
I S OLt文”Op tical Digi
tal Data Disk′″に見出される。上
述したlN5PIREモデルデイスクドライブなどの光
学的ディスクドライブの出現は必要とされるハードウェ
ア適合性を提供している。
本発明の転送システム36は、アプリケーションプログ
ラムであり、好適には、異なるオペレーティングシステ
ムを有するコンピュータシステム相互間で輸送可能なC
言語などのプログラム言語で書かれている。アプリケー
ジチンプログラムの動作およびこのアプリケージタンプ
ログラムで用いられるデータ構造がCプログラム言語の
文脈(can tex t)についてのフローチャート
を参照して述べられるが1本発明はFORTRANおよ
びPASCALなどの他のプログラム言語でも実現でき
る。本発明の動作はまた。もし必要ならば、好適ではな
いプログラム言語のある種のもので、いわゆる、当業者
としての本出願の明細書の読者が本発明を実施可能とす
るフローチャートを用いて記述される。しかしながら9
本出願では参考資料としてプログラムリストを添付して
おり、この参考資料は好適なプログラム言語で実施する
ために適切な疑似(pseudo)コード形式の言語で
本発明の処理を詳細に記述しており、この好適なプログ
ラム言語に対して本出願の明細書の読者はフローチャー
トのブロックの詳細について参照することができよう。
ラムであり、好適には、異なるオペレーティングシステ
ムを有するコンピュータシステム相互間で輸送可能なC
言語などのプログラム言語で書かれている。アプリケー
ジチンプログラムの動作およびこのアプリケージタンプ
ログラムで用いられるデータ構造がCプログラム言語の
文脈(can tex t)についてのフローチャート
を参照して述べられるが1本発明はFORTRANおよ
びPASCALなどの他のプログラム言語でも実現でき
る。本発明の動作はまた。もし必要ならば、好適ではな
いプログラム言語のある種のもので、いわゆる、当業者
としての本出願の明細書の読者が本発明を実施可能とす
るフローチャートを用いて記述される。しかしながら9
本出願では参考資料としてプログラムリストを添付して
おり、この参考資料は好適なプログラム言語で実施する
ために適切な疑似(pseudo)コード形式の言語で
本発明の処理を詳細に記述しており、この好適なプログ
ラム言語に対して本出願の明細書の読者はフローチャー
トのブロックの詳細について参照することができよう。
本発明はまた特に、IBM PC/AT(18M社の
商標)などのDOSオペレーティングシステムが動作す
るマシンで動作するブロックI10を介してDOSソー
スディスクからVMSディストネーションディスクにブ
ロックI10転送を参照して記述される。たとえば、U
NIX(AT&T社からのマルチプルユーザー、マルチ
プルタスク用オペレーティングシステム)などの他のオ
ペレーティングシステムに対して、または、他のオペレ
ーティングシステムから転送することに関する本発明の
詳細な実施がさらに記述される。上述したオペレーティ
ングシステムに関した本発明を実施するに当たって、当
業者である本出願の読者の役にたつ上述したオペレーテ
ィングシステムのファイルシステムの記述が、RayD
uncanによる”Advanced MS−DO3
Programing 、MorrisJ、Bach
による”The Design 。
商標)などのDOSオペレーティングシステムが動作す
るマシンで動作するブロックI10を介してDOSソー
スディスクからVMSディストネーションディスクにブ
ロックI10転送を参照して記述される。たとえば、U
NIX(AT&T社からのマルチプルユーザー、マルチ
プルタスク用オペレーティングシステム)などの他のオ
ペレーティングシステムに対して、または、他のオペレ
ーティングシステムから転送することに関する本発明の
詳細な実施がさらに記述される。上述したオペレーティ
ングシステムに関した本発明を実施するに当たって、当
業者である本出願の読者の役にたつ上述したオペレーテ
ィングシステムのファイルシステムの記述が、RayD
uncanによる”Advanced MS−DO3
Programing 、MorrisJ、Bach
による”The Design 。
f the UNIX” ’SUN O3R
eference Manual Re1ease
4.0,5ection 5−File F。
eference Manual Re1ease
4.0,5ection 5−File F。
rmats ”SUN O3Refer
ence Manual Re1ease
4.0゜System Include F
ile−OnLine 、 ’VAX/VMS
UsersManual Part 2.DC
L Appendix 、 ”VAX/VMS
Ilo Reference Volume
I” ”VAXVMS Records
ManagementServices R
eference Manua 1”、および、こ
こに参照することによって一体化された’VAX/VM
S Systems 5ervices Ref
erence Manualなどの参考図書に見出さ
れる。上述したものの他のオペレーティングシステム、
たとえば、アポ口(ApollO)コンピュータ用のA
EGIsオペレーティングシステムまたはIBMパーソ
ナルシステムコンピュータ用03−2オペレーテイング
システムなどは2列挙していないオペレーティングシス
テムについて本発明を実施するために必要な詳細事項が
見出される。上記同様の利用可能な参考文献がある。た
とえば、そのようなオペレーティングシステム内にディ
スクフォーマットされたものとしてオペレーティングシ
ステムディスクをただひとつに同定させる詳細事項がそ
のような参考文献に一般的に見出される。もし。
ence Manual Re1ease
4.0゜System Include F
ile−OnLine 、 ’VAX/VMS
UsersManual Part 2.DC
L Appendix 、 ”VAX/VMS
Ilo Reference Volume
I” ”VAXVMS Records
ManagementServices R
eference Manua 1”、および、こ
こに参照することによって一体化された’VAX/VM
S Systems 5ervices Ref
erence Manualなどの参考図書に見出さ
れる。上述したものの他のオペレーティングシステム、
たとえば、アポ口(ApollO)コンピュータ用のA
EGIsオペレーティングシステムまたはIBMパーソ
ナルシステムコンピュータ用03−2オペレーテイング
システムなどは2列挙していないオペレーティングシス
テムについて本発明を実施するために必要な詳細事項が
見出される。上記同様の利用可能な参考文献がある。た
とえば、そのようなオペレーティングシステム内にディ
スクフォーマットされたものとしてオペレーティングシ
ステムディスクをただひとつに同定させる詳細事項がそ
のような参考文献に一般的に見出される。もし。
ある理由のため、あるいは、適切なオペレーティングシ
ステムの参考文献内に特別のオペレーティングシステム
用の他のファイルフォーマット定義情報が利用可能にな
っていない場合、オペレーティングシステムを設計する
当業者は、各ディスクが、たとえば、クラスタサイズ、
ファイルの最大の番号、ディレクトリ名称、アロケーシ
ッン制御リストなどを維持する共通の情報を探し出すフ
ァイルフォーマットを容易にリバースエンジニアするこ
とができる。ディスクのリバースエンジニアリングする
人は、空いているディスクをフォーマット化し、内容を
ダンプし、ディスクを既知の内容および既知のファイル
構造とともにロード(装荷)シ、再びディスクの内容を
ダンプし、それから、ファイルの内容および構造を変更
し、さらにその内容をダンプする。そのような知られて
いる内容および構造のダンプとともに変更する一連の作
業によって、異なるディスク用のファイルフォーマット
情報の配置(1oca t 1ori)および配列(a
rrangement)を決定することが可能になる。
ステムの参考文献内に特別のオペレーティングシステム
用の他のファイルフォーマット定義情報が利用可能にな
っていない場合、オペレーティングシステムを設計する
当業者は、各ディスクが、たとえば、クラスタサイズ、
ファイルの最大の番号、ディレクトリ名称、アロケーシ
ッン制御リストなどを維持する共通の情報を探し出すフ
ァイルフォーマットを容易にリバースエンジニアするこ
とができる。ディスクのリバースエンジニアリングする
人は、空いているディスクをフォーマット化し、内容を
ダンプし、ディスクを既知の内容および既知のファイル
構造とともにロード(装荷)シ、再びディスクの内容を
ダンプし、それから、ファイルの内容および構造を変更
し、さらにその内容をダンプする。そのような知られて
いる内容および構造のダンプとともに変更する一連の作
業によって、異なるディスク用のファイルフォーマット
情報の配置(1oca t 1ori)および配列(a
rrangement)を決定することが可能になる。
本発明を実施するユーザー38は、ディスクドライブ3
4に異種のフォーマットディスク32を装荷し、および
、ディスクドライブ42に搭載されたホストフォーマッ
トディスク40を装荷し。
4に異種のフォーマットディスク32を装荷し、および
、ディスクドライブ42に搭載されたホストフォーマッ
トディスク40を装荷し。
本発明の転送システムまたはバイパスアプリケーション
プログラム(転送システム)36をロードし、実行する
。多くの場合、ユーザー38はホストコンピュータ30
で必要なファイルの全て、および、異種のフォーマット
ディスク32に記憶されているファイルの全てについて
は記憶しておらず2またユーザー38は異なるフォーマ
ットディスク32上のディレクトリについて検討を可能
にするDIR(ディレクトリ)などの転送システム・デ
ィレクトリ・アクセス・コマンドを入れる。
プログラム(転送システム)36をロードし、実行する
。多くの場合、ユーザー38はホストコンピュータ30
で必要なファイルの全て、および、異種のフォーマット
ディスク32に記憶されているファイルの全てについて
は記憶しておらず2またユーザー38は異なるフォーマ
ットディスク32上のディレクトリについて検討を可能
にするDIR(ディレクトリ)などの転送システム・デ
ィレクトリ・アクセス・コマンドを入れる。
ユーザー38はそれから、コマンドを用いて転送すべき
ファイルを特定するが、そのようなコマンドとしては、
ソースディスクA(ディスクドライブ34)の全てのデ
ィレクトリと、それらのディレクトリ内のファイルを、
set″で終わるディレクトリを持つディストネ
ーションディスクE(ディスクドライブ42)に複写す
るコマンド“C0PY A:\*set\、、、
\*、*E:”がある。転送システム36は、異種のフ
ォーマットディスク32のフォーマットを自動的に検出
し、適切なファイルを転送する。この転送システム36
を簡単に改変することによって、自動的にファイルを検
出する代わりに、ユーザー38にファイルフォーマット
を同定することを問い合わせることができる。ユーザー
38はまた。転送決定が行われる前に詳細なファイル内
容の検討についてユーザー用表示装置またプリンタにフ
ァイルの内容を提供するT Y P E ”などのファ
イルレビューコマンドを入れる。
ファイルを特定するが、そのようなコマンドとしては、
ソースディスクA(ディスクドライブ34)の全てのデ
ィレクトリと、それらのディレクトリ内のファイルを、
set″で終わるディレクトリを持つディストネ
ーションディスクE(ディスクドライブ42)に複写す
るコマンド“C0PY A:\*set\、、、
\*、*E:”がある。転送システム36は、異種のフ
ォーマットディスク32のフォーマットを自動的に検出
し、適切なファイルを転送する。この転送システム36
を簡単に改変することによって、自動的にファイルを検
出する代わりに、ユーザー38にファイルフォーマット
を同定することを問い合わせることができる。ユーザー
38はまた。転送決定が行われる前に詳細なファイル内
容の検討についてユーザー用表示装置またプリンタにフ
ァイルの内容を提供するT Y P E ”などのファ
イルレビューコマンドを入れる。
第3図は本発明のグローバルな動作記述データ構造60
の内容を図解する図である。
の内容を図解する図である。
また、第4図は処理実行、および、ファイル入出力(I
lo)転送に対するファイル■/○のためのデータの流
れを図解する図である。なお、第4図において、実線は
データの流れを示し、破線はポインタの移動制御を示し
ている。
lo)転送に対するファイル■/○のためのデータの流
れを図解する図である。なお、第4図において、実線は
データの流れを示し、破線はポインタの移動制御を示し
ている。
−旦、転送システム36について第4図に図解したユー
ザーインターフェース処理プログラム100がコマンド
を分析すると、コマンド、この状況においては“C0P
Y”コマンドが、第3図に図解した。動作記述データ構
造60のコマンドフィールド62に記憶される。この動
作記述データ構造60はアレイ構造であり、このアレイ
構造は” S / D″”で終わるフィールドが一方が
ソース(S)で他方がディストネーション(D)である
2つのエントリまたは2つのサブフィールドを有してい
る。つまり、第3図の「S/D」は、一方がソース(S
)、他方がディストネーション(D)である2つのエン
トリのアレイを示している。
ザーインターフェース処理プログラム100がコマンド
を分析すると、コマンド、この状況においては“C0P
Y”コマンドが、第3図に図解した。動作記述データ構
造60のコマンドフィールド62に記憶される。この動
作記述データ構造60はアレイ構造であり、このアレイ
構造は” S / D″”で終わるフィールドが一方が
ソース(S)で他方がディストネーション(D)である
2つのエントリまたは2つのサブフィールドを有してい
る。つまり、第3図の「S/D」は、一方がソース(S
)、他方がディストネーション(D)である2つのエン
トリのアレイを示している。
この動作記述データ構造60は、グローバルなデータ構
造であり、このグローバルなデータ構造は本発明の全て
の処理プログラムによって参照される。転送システム3
6はまた。装置名称フィールド72にディスク装置名称
“A”および°“E′を記憶する。装置情報70は、装
置がランダムアクセス・ディスク装置であることを確実
化し、いかにしてそれらが、たとえば、VMSにファイ
ルを有する異種のディスク装置が搭載されるかを決定す
るために得られる。次いで、転送システム36はソース
およびディストネーシゴン用のファイルシステムの形式
を決定し、その形式をフィールド66に記憶する。上述
したように、もし本発明のより簡単な改変が行われた場
合、ユーザーによって特定されるファイルの形式はこの
フィールド66に挿入されるようになる。
造であり、このグローバルなデータ構造は本発明の全て
の処理プログラムによって参照される。転送システム3
6はまた。装置名称フィールド72にディスク装置名称
“A”および°“E′を記憶する。装置情報70は、装
置がランダムアクセス・ディスク装置であることを確実
化し、いかにしてそれらが、たとえば、VMSにファイ
ルを有する異種のディスク装置が搭載されるかを決定す
るために得られる。次いで、転送システム36はソース
およびディストネーシゴン用のファイルシステムの形式
を決定し、その形式をフィールド66に記憶する。上述
したように、もし本発明のより簡単な改変が行われた場
合、ユーザーによって特定されるファイルの形式はこの
フィールド66に挿入されるようになる。
ファイル形式の決定は好適には、後述するように、VM
SとUNIXとがファイル形式の決定に良好な方法を提
供するチエツクサムを有しておりそれゆえ、ディスクフ
ァイルフォーマントの形式を誤って同定する可能性が少
ないので、 DOSファイルフォーマット形式の決定
が最後に行われる順序に従う。VMSファイルフォーマ
ット化されたディスクにおいては、そのディスクのホー
ムブロックにおける2つのチエツクサムが正しくなけれ
ばならず、そして、VMSディスクとして一義的に同定
されるべきディスクについてノンゼロ(非ゼロ)でなけ
ればならない。UNIXファイルフォーマットディスク
はある種のチエツクサムを有しており、このチエツクサ
ムも正しく、そして、そのディスクがUNIXフォーマ
ットディスクとして一義的に同定されるようにノンゼロ
でなければならない。DO3でフォーマット化されたデ
ィスクを同定するために、そのディスクの第1のブロッ
クであるB I OS (Basic Input 0
utputSys ten)パラメータブロックは、そ
の中のフィールドが有効か否かを決定するためにチエツ
クされなければならない。この有効性の検査は、改定部
およびOEMフィールドが英数字(alphanume
ric)文字、ブランク、または、″、n文字のいずれ
かの文字を含んいるかどうかを決定し、クラスタあたり
のセクタ、ファイルアロケーションテーブルの数および
保存セクタの数がゼロでないかどうかを決定し、セクタ
あたりのバイト数が128の倍数であるか否かを決定し
、ディスクの全容量が最小のディスク容量より大きいか
否かを決定し。
SとUNIXとがファイル形式の決定に良好な方法を提
供するチエツクサムを有しておりそれゆえ、ディスクフ
ァイルフォーマントの形式を誤って同定する可能性が少
ないので、 DOSファイルフォーマット形式の決定
が最後に行われる順序に従う。VMSファイルフォーマ
ット化されたディスクにおいては、そのディスクのホー
ムブロックにおける2つのチエツクサムが正しくなけれ
ばならず、そして、VMSディスクとして一義的に同定
されるべきディスクについてノンゼロ(非ゼロ)でなけ
ればならない。UNIXファイルフォーマットディスク
はある種のチエツクサムを有しており、このチエツクサ
ムも正しく、そして、そのディスクがUNIXフォーマ
ットディスクとして一義的に同定されるようにノンゼロ
でなければならない。DO3でフォーマット化されたデ
ィスクを同定するために、そのディスクの第1のブロッ
クであるB I OS (Basic Input 0
utputSys ten)パラメータブロックは、そ
の中のフィールドが有効か否かを決定するためにチエツ
クされなければならない。この有効性の検査は、改定部
およびOEMフィールドが英数字(alphanume
ric)文字、ブランク、または、″、n文字のいずれ
かの文字を含んいるかどうかを決定し、クラスタあたり
のセクタ、ファイルアロケーションテーブルの数および
保存セクタの数がゼロでないかどうかを決定し、セクタ
あたりのバイト数が128の倍数であるか否かを決定し
、ディスクの全容量が最小のディスク容量より大きいか
否かを決定し。
そして、ディレクトリエントリのルー1− (roo
t)の数(エントリあたりのスペース)がセクタと均一
な倍数であるか否かを決定する。もしこれらの全ての決
定が肯定的な場合、そのディスクはり。
t)の数(エントリあたりのスペース)がセクタと均一
な倍数であるか否かを決定する。もしこれらの全ての決
定が肯定的な場合、そのディスクはり。
Sディスクとして一義的に同定される。ソースブロック
リード処理プログラム274およびディストネーション
ブロックライト処理プログラム300は(これらについ
ては後述される)、ディスクの形式を決定するために初
期状態において起動され、そして、上記したように適切
な情報が装荷されているとき、復帰する。異なるディス
クの論理的なブロックサイズも決定され、フィールド6
8に記憶される。この出願明細書の文脈において。
リード処理プログラム274およびディストネーション
ブロックライト処理プログラム300は(これらについ
ては後述される)、ディスクの形式を決定するために初
期状態において起動され、そして、上記したように適切
な情報が装荷されているとき、復帰する。異なるディス
クの論理的なブロックサイズも決定され、フィールド6
8に記憶される。この出願明細書の文脈において。
論理的なブロックサイズは2つの異なる意味を持つ。第
1の意味は、異なるディスクオペレーティングシステム
に戻されるとき解釈されるであろう、異なるディスクの
論理的なブロックサイズである。この情報は、BIOS
パラメータブロックにおけるDO3のために、そして、
ホームブロック内のVMSのためにディスクに記憶され
る。この情報は、これらのブロックがチエツクされ、そ
のディスクの形式が決定されるときに、抽出される。そ
れから、この値は、上述したように、フィールド68内
のグローバルな動作記述データ構造60に記憶される。
1の意味は、異なるディスクオペレーティングシステム
に戻されるとき解釈されるであろう、異なるディスクの
論理的なブロックサイズである。この情報は、BIOS
パラメータブロックにおけるDO3のために、そして、
ホームブロック内のVMSのためにディスクに記憶され
る。この情報は、これらのブロックがチエツクされ、そ
のディスクの形式が決定されるときに、抽出される。そ
れから、この値は、上述したように、フィールド68内
のグローバルな動作記述データ構造60に記憶される。
一方、他の意味は、論理的な人力/出力・リード/ライ
ト動作の間に用いられる、論理的なブロックサイズであ
る。VMSおよびUNIXにおいてはIloの論理的な
ブロックサイズは常に512バイトであるが、DO3に
おいてはその論理的なブロックサイズがディスク間のサ
イズによって変化する。DOSフォーマット化されたデ
ィスクにおけるブロックI10サイズは、パターン“’
5A”によってバッファが最初に充満されることによっ
て決定される。ここで、バッファはDO3において利用
可能な最大のブロックよりも大きいものとする。最初の
リード(読み出し)コールによってこのバッファは充満
され、そのバッファがいかにして書き込みによって一杯
になるかを見るためにチエツクされる。決定されたサイ
ズはDO3のI / O論理的なブロックサイズである
。I10コールにおいて生ずる。後述するサイズ相互間
の翻訳処理は、これら2つの意味の相互間の翻訳である
。
ト動作の間に用いられる、論理的なブロックサイズであ
る。VMSおよびUNIXにおいてはIloの論理的な
ブロックサイズは常に512バイトであるが、DO3に
おいてはその論理的なブロックサイズがディスク間のサ
イズによって変化する。DOSフォーマット化されたデ
ィスクにおけるブロックI10サイズは、パターン“’
5A”によってバッファが最初に充満されることによっ
て決定される。ここで、バッファはDO3において利用
可能な最大のブロックよりも大きいものとする。最初の
リード(読み出し)コールによってこのバッファは充満
され、そのバッファがいかにして書き込みによって一杯
になるかを見るためにチエツクされる。決定されたサイ
ズはDO3のI / O論理的なブロックサイズである
。I10コールにおいて生ずる。後述するサイズ相互間
の翻訳処理は、これら2つの意味の相互間の翻訳である
。
上述したように、ディスクファイルシステムの形式がフ
ィールド66に記憶される一方、転送されているファイ
ルに関するファイル仕様がフィールド74に記憶される
。上述した例における仕様は’*set”である。もし
ソースディスクまたはディストネーションディスクがホ
ストコンピュータ30のホストオペレーティングシステ
ム44とは異なる場合、それらのディスクに対する転送
またはそれらのディスクへの転送はブロックI10転送
でなければならない。もしソースディスクまたはディス
トネーションディスクのフォーマントが元々のものであ
れば、すなわち、ホストオペレーティングシステム44
のフォーマットに等しいならば、そのディスクに対する
転送またはそのディスクからの転送はファイルI10転
送によって行われる。しかしながら、ブロックI10転
送において本発明を用いると、リングバッファリング方
式を用いているので、ファイル■/○転送を用いた場合
より転送が速くなる。たとえば、 VMSが動作してい
るコンピュータシスチムニ異すったファイルフォーマッ
トが搭載されたVMSディスクを用いると、ブロックI
10転送は9本発明においては、ファイルI10転送よ
り速くなる。
ィールド66に記憶される一方、転送されているファイ
ルに関するファイル仕様がフィールド74に記憶される
。上述した例における仕様は’*set”である。もし
ソースディスクまたはディストネーションディスクがホ
ストコンピュータ30のホストオペレーティングシステ
ム44とは異なる場合、それらのディスクに対する転送
またはそれらのディスクへの転送はブロックI10転送
でなければならない。もしソースディスクまたはディス
トネーションディスクのフォーマントが元々のものであ
れば、すなわち、ホストオペレーティングシステム44
のフォーマットに等しいならば、そのディスクに対する
転送またはそのディスクからの転送はファイルI10転
送によって行われる。しかしながら、ブロックI10転
送において本発明を用いると、リングバッファリング方
式を用いているので、ファイル■/○転送を用いた場合
より転送が速くなる。たとえば、 VMSが動作してい
るコンピュータシスチムニ異すったファイルフォーマッ
トが搭載されたVMSディスクを用いると、ブロックI
10転送は9本発明においては、ファイルI10転送よ
り速くなる。
その理由は、異なるオペレーティングシステム(ファイ
ルフォーマット)が搭載されたVMSディスクはシステ
ムの他のユーザーによって同時には修飾されないからで
あり、このよう番こスピードの向上が可能になる。DO
3が動作しているコンピュータシステムについて、転送
スピードを向上させるためのブロックI10転送も行わ
れる。その理由は、DO3が単一のユーザーに対する非
多重化タスク処理(non−multi−taskin
g)システムであり、ユーザーがファイルを修飾する危
険を生じさせないようにしており、一方、それらのディ
スクは本発明によってアクセスされているからである。
ルフォーマット)が搭載されたVMSディスクはシステ
ムの他のユーザーによって同時には修飾されないからで
あり、このよう番こスピードの向上が可能になる。DO
3が動作しているコンピュータシステムについて、転送
スピードを向上させるためのブロックI10転送も行わ
れる。その理由は、DO3が単一のユーザーに対する非
多重化タスク処理(non−multi−taskin
g)システムであり、ユーザーがファイルを修飾する危
険を生じさせないようにしており、一方、それらのディ
スクは本発明によってアクセスされているからである。
しかしながら、LAN上のDOSファイル・サーバ(s
erver)が目標とするシステムであるときはファイ
ルI10が用いられなければならない。
erver)が目標とするシステムであるときはファイ
ルI10が用いられなければならない。
その理由は1より多くの(2以上の)コンピュータがデ
ータをアクセスしなければならないかもしれないからで
ある。
ータをアクセスしなければならないかもしれないからで
ある。
解釈の後、もし転送コマンドが実行されていてディスク
のあるものが異種のファイルフォーマットディスクであ
る場合、ユーザー38はまた。ユーザーインターフェー
ス処理プログラム100によって、ファイルの内容が翻
訳を必要とするか否かについて質問され、もしそうであ
れば、翻訳フラグ64がセットされる。翻訳フラグ64
がセットされている場合全てのファイルが翻訳される。
のあるものが異種のファイルフォーマットディスクであ
る場合、ユーザー38はまた。ユーザーインターフェー
ス処理プログラム100によって、ファイルの内容が翻
訳を必要とするか否かについて質問され、もしそうであ
れば、翻訳フラグ64がセットされる。翻訳フラグ64
がセットされている場合全てのファイルが翻訳される。
勿論、ユーザー38が翻訳を必要とする各々のファイル
を指定することを可能にする特別の翻訳アレイを生成す
ることも可能である。翻訳フラグ640セツトは、ユー
ザー38がテキストファイルの内容のラインレコード・
フォーマットをソースディスクのフォーマットからディ
ストネーションディスクのフォーマットに変換すること
を欲していることを特定している。たとえば、テキスト
ファイル用DO5において、各ラインレコードはキャリ
ジリターンおよびラインフィードで終わり。
を指定することを可能にする特別の翻訳アレイを生成す
ることも可能である。翻訳フラグ640セツトは、ユー
ザー38がテキストファイルの内容のラインレコード・
フォーマットをソースディスクのフォーマットからディ
ストネーションディスクのフォーマットに変換すること
を欲していることを特定している。たとえば、テキスト
ファイル用DO5において、各ラインレコードはキャリ
ジリターンおよびラインフィードで終わり。
一方、VMSにおいては、使用されている複数のレコー
ドフォーマットの1つにおいて、ラインレコードはライ
ンレングス・キャラクタで始まる。
ドフォーマットの1つにおいて、ラインレコードはライ
ンレングス・キャラクタで始まる。
翻訳フラグ64は、適切なレコードフォーマット翻訳を
もたらすことができ、上述した例においては、ラインフ
ィードを加えたり取ったり、ラインレングス・フィール
ドを除去したり加えたり、必要ならば完全にしたり、ヘ
ッダのライン終端フィールドをVMSディスク状況にお
けるラインフィード終端ファイルに適切にセットするこ
とができる。
もたらすことができ、上述した例においては、ラインフ
ィードを加えたり取ったり、ラインレングス・フィール
ドを除去したり加えたり、必要ならば完全にしたり、ヘ
ッダのライン終端フィールドをVMSディスク状況にお
けるラインフィード終端ファイルに適切にセットするこ
とができる。
もしディストネーションディスクがVMSディスクの場
合、VMS内のディレクトリエントリが分類されなけれ
ばならないので、ユーザーインターフェース処理プログ
ラム100によって分類フラグ84が自動的にセットさ
れる。” COP Y”コマンドに関して9分類フラグ
84が常にセットされ、それにより、詳細については後
述するファイル記述2次元リスト108がより迅速に検
索でき、このリスト108内のエントリがディストネー
ションディスクのディレクトリにすでに存在するか否か
が決定できる。
合、VMS内のディレクトリエントリが分類されなけれ
ばならないので、ユーザーインターフェース処理プログ
ラム100によって分類フラグ84が自動的にセットさ
れる。” COP Y”コマンドに関して9分類フラグ
84が常にセットされ、それにより、詳細については後
述するファイル記述2次元リスト108がより迅速に検
索でき、このリスト108内のエントリがディストネー
ションディスクのディレクトリにすでに存在するか否か
が決定できる。
(以下余白)
初期状態で起動されているバッファ制御処理プログラム
102は、第3図の、現在スキャン番号7日、現在処理
番号80.および、目標フィールド82を用いる。現在
スキャン番号7日は処理制御ルーチン398によって初
期化され、維持されるが、これについては第18図を参
照して後述する。現在スキャン番号78は、詳細につい
ては後述するウィンドー・ビュー(windowνfe
w)を決定するために用いられ、スキャン番号によって
決定されたものが選択された場合、最も最近アクセスさ
れたウィンドー・ビューがダウンロードされるように最
適化される。現在処理番号80は、ある処理プログラム
が他の処理プログラムのポンイタを操作しないようにす
ることを確実化するために用いられる。目標フィールド
82は目標フォーマットがソースディスクかディストネ
ーションディスクかを特定するために用いられ、そして
、第3図に示したフィールド内の適切なフィールド(ソ
ースまたはディストネーション)がソースディスクおよ
びディストネーションディスクに対する共通動作を遂行
する本発明のルーチンによって選択されることを確実化
するために用いられる。たとえば、後述することから明
らかになるように、ブロックI10転送の間に実行され
るファイルロケーション処理プログラム278(第21
図)が。
102は、第3図の、現在スキャン番号7日、現在処理
番号80.および、目標フィールド82を用いる。現在
スキャン番号7日は処理制御ルーチン398によって初
期化され、維持されるが、これについては第18図を参
照して後述する。現在スキャン番号78は、詳細につい
ては後述するウィンドー・ビュー(windowνfe
w)を決定するために用いられ、スキャン番号によって
決定されたものが選択された場合、最も最近アクセスさ
れたウィンドー・ビューがダウンロードされるように最
適化される。現在処理番号80は、ある処理プログラム
が他の処理プログラムのポンイタを操作しないようにす
ることを確実化するために用いられる。目標フィールド
82は目標フォーマットがソースディスクかディストネ
ーションディスクかを特定するために用いられ、そして
、第3図に示したフィールド内の適切なフィールド(ソ
ースまたはディストネーション)がソースディスクおよ
びディストネーションディスクに対する共通動作を遂行
する本発明のルーチンによって選択されることを確実化
するために用いられる。たとえば、後述することから明
らかになるように、ブロックI10転送の間に実行され
るファイルロケーション処理プログラム278(第21
図)が。
アクセスされるフィールド66〜76内のどのサブフィ
ールドを特定するのかに使用される目標フィールド82
を用いてリード処理プログラムおよびライト処理プログ
ラムの両者として実行されるユーザーインターフェース
処理プログラム100およびバッファ制御処理プログラ
ム102によって一旦初期化処理が実行され、そして、
もしソースディスク106が元々のディスク(すなわち
、異種のオペレーティングシステムが搭載されていない
もの)として参照されるべき場合、ソースファイル・ル
ックアップ処理プログラム104はフィールド74内の
ファイル仕様を用いてソースディスク106からファイ
ルのファイル名称およびディレクトリを入手し、ファイ
ル記述2次元リスト108内のノードを生成する。第4
図において、実線はデータの流れを示し、破線はポイン
タの移動制御を示している。
ールドを特定するのかに使用される目標フィールド82
を用いてリード処理プログラムおよびライト処理プログ
ラムの両者として実行されるユーザーインターフェース
処理プログラム100およびバッファ制御処理プログラ
ム102によって一旦初期化処理が実行され、そして、
もしソースディスク106が元々のディスク(すなわち
、異種のオペレーティングシステムが搭載されていない
もの)として参照されるべき場合、ソースファイル・ル
ックアップ処理プログラム104はフィールド74内の
ファイル仕様を用いてソースディスク106からファイ
ルのファイル名称およびディレクトリを入手し、ファイ
ル記述2次元リスト108内のノードを生成する。第4
図において、実線はデータの流れを示し、破線はポイン
タの移動制御を示している。
ソースディスク106が元々のソースディスクであるか
ら、ソースファイル・ルックアップ処理プログラム10
4はC言語に基づくシステムコールをホストコンピュー
タ30のホストオペレーティングシステム44に行うこ
とによってファイル名称を入手する。ソースファイル・
ルックアップ処理プログラム104はルートディレクト
リによって始まり5ユーザー38によって指定されたフ
ァイルのファイル名称を探す従来の方法によってディレ
クトリ構造トリー(tree)を探す。このソースファ
イル・ルックアップ処理プログラム104において用い
られる。ファイルオーブン、ファイJl/ IJ−ド、
ファイルライト、ファイルクローズなどのいくつかのシ
ステムコールについて、C言語リイブラリイは標準のイ
ンターフェースを提供し、他のシステムコールに関して
、適切なコールがオペレーティングシステム参考資料に
よって決定され、同様のシステムコールが各オペレーテ
ィングシステムにおいて利用可能である。当業者はどの
システムコールがオペレーティングシステム参考資料か
ら必要であるか容易に同定できる。
ら、ソースファイル・ルックアップ処理プログラム10
4はC言語に基づくシステムコールをホストコンピュー
タ30のホストオペレーティングシステム44に行うこ
とによってファイル名称を入手する。ソースファイル・
ルックアップ処理プログラム104はルートディレクト
リによって始まり5ユーザー38によって指定されたフ
ァイルのファイル名称を探す従来の方法によってディレ
クトリ構造トリー(tree)を探す。このソースファ
イル・ルックアップ処理プログラム104において用い
られる。ファイルオーブン、ファイJl/ IJ−ド、
ファイルライト、ファイルクローズなどのいくつかのシ
ステムコールについて、C言語リイブラリイは標準のイ
ンターフェースを提供し、他のシステムコールに関して
、適切なコールがオペレーティングシステム参考資料に
よって決定され、同様のシステムコールが各オペレーテ
ィングシステムにおいて利用可能である。当業者はどの
システムコールがオペレーティングシステム参考資料か
ら必要であるか容易に同定できる。
第5図は本発明の例示的な階層ディレクトリ構造を示す
図である。
図である。
第6図は第5図に示したファイル記述2次元リスト10
8内の構造を図解する図である。
8内の構造を図解する図である。
第7図は第5図に示したファイル記述2次元リスト10
B内の構造に関するディレクトリ作成順序を図解する図
である。
B内の構造に関するディレクトリ作成順序を図解する図
である。
第8図は各リストノード158の内容を図解する図であ
る。
る。
第9A図〜第9D図および第10A図〜第10B図は各
リストノード158内のフィールドの内容を示す図であ
る。
リストノード158内のフィールドの内容を示す図であ
る。
第5図に示した階層化ディレクトリトリー構造に遭遇し
、全部のディスク複写が特定された場合、本発明は、ソ
ースディスクの階層化ディレクトリ構造を維持するため
に設計された第6図に図解したようなポインタ、および
、たとえば、VMSディスクがディストネーシッンディ
スク122であるとき、ディレクトリ作成順序を維持す
るために用いられる第7図のポインタを有するファイル
記述2次元リス)10Bを生成させる。VMS内のディ
レクトリの作成順序は、ディレクトリ内のアルファベッ
ト順であり、たとえば2本発明が検索され挿入される新
しいディレクトリを進めるとき新しいアルファベットの
リストがファイル記述2次元リスト108に加えられる
。当業者は、ユーザーの仕様に対応するファイルエント
リまたはディレクトリエントリに遭遇する各々の時間に
適切なポインタとともにファイル記述2次元リスト10
8の適切な位置にノードを挿入するため、C言語以外の
他の希望する目標プログラム言語によるルーチンを作る
ことができる。ファイル記述2次元リスト10Bの各ノ
ードは(ただし、ノードはファイル名称によって示され
ている)、協働する複数の異なるポインタを有している
。これらのポインタは、第8図に図解されているように
、各ファイル記述リストノード158に記憶される。
、全部のディスク複写が特定された場合、本発明は、ソ
ースディスクの階層化ディレクトリ構造を維持するため
に設計された第6図に図解したようなポインタ、および
、たとえば、VMSディスクがディストネーシッンディ
スク122であるとき、ディレクトリ作成順序を維持す
るために用いられる第7図のポインタを有するファイル
記述2次元リス)10Bを生成させる。VMS内のディ
レクトリの作成順序は、ディレクトリ内のアルファベッ
ト順であり、たとえば2本発明が検索され挿入される新
しいディレクトリを進めるとき新しいアルファベットの
リストがファイル記述2次元リスト108に加えられる
。当業者は、ユーザーの仕様に対応するファイルエント
リまたはディレクトリエントリに遭遇する各々の時間に
適切なポインタとともにファイル記述2次元リスト10
8の適切な位置にノードを挿入するため、C言語以外の
他の希望する目標プログラム言語によるルーチンを作る
ことができる。ファイル記述2次元リスト10Bの各ノ
ードは(ただし、ノードはファイル名称によって示され
ている)、協働する複数の異なるポインタを有している
。これらのポインタは、第8図に図解されているように
、各ファイル記述リストノード158に記憶される。
第6図に示した階層化ディレクトリ構造は、ファイル記
述リストノード158のフィールド186および188
にそれぞれ記憶されたディレクトリ(DIR)構造前進
ポインタ130およびDIR構造後退ポインタ132に
よって維持される。第6図の階層化ディレクトリ構造は
また。フィールド182に記憶されているファイルポイ
ンタ134、フィールド180内に記憶された各ノード
158用の親ポインタ136.および、フィールド18
4に記憶されているサブディレクトリ・ポインタ138
によって維持されている。第7図に図解したように、デ
ィレクトリ作成順序を維持するために、第8図に図解し
たように、前進作成ポインタ140および後退作成ポイ
ンタ142が対応するフィールド190および192に
それぞれ記憶される。バッファ制御処理ルーチン102
にのみ有効なこれらのフィールド180〜192が第3
7図〜第42図に関連づけてより詳細に述べられる。第
8図はまた9本発明がファイル記述2次元リスト108
内の任意の他の希望する順序の確立を可能にするために
多くのポインタを加えることによって容易に拡張できる
ことを示す2つの未使用のポインタフィールド193を
示している。
述リストノード158のフィールド186および188
にそれぞれ記憶されたディレクトリ(DIR)構造前進
ポインタ130およびDIR構造後退ポインタ132に
よって維持される。第6図の階層化ディレクトリ構造は
また。フィールド182に記憶されているファイルポイ
ンタ134、フィールド180内に記憶された各ノード
158用の親ポインタ136.および、フィールド18
4に記憶されているサブディレクトリ・ポインタ138
によって維持されている。第7図に図解したように、デ
ィレクトリ作成順序を維持するために、第8図に図解し
たように、前進作成ポインタ140および後退作成ポイ
ンタ142が対応するフィールド190および192に
それぞれ記憶される。バッファ制御処理ルーチン102
にのみ有効なこれらのフィールド180〜192が第3
7図〜第42図に関連づけてより詳細に述べられる。第
8図はまた9本発明がファイル記述2次元リスト108
内の任意の他の希望する順序の確立を可能にするために
多くのポインタを加えることによって容易に拡張できる
ことを示す2つの未使用のポインタフィールド193を
示している。
ファイル記述2次元リスト108は、このリスト10B
が複数のリストのリストであるから2次元構成として考
慮されている。この2次元のリストについては、1次元
として複数のディレクトリのリストと、そして、各ディ
レクトリについて第2次元である複数のファイルのリス
トとが存在している。ファイル記述2次元リスト108
はまた2次元であるべきものとして考慮されている。そ
の理由は、第6図に図解した1次元としての階層化ディ
レクトリ作成順序が、第7図に図解したように、他方の
次元としてのディレクトリ作成順序とともに同時に維持
されるからである。
が複数のリストのリストであるから2次元構成として考
慮されている。この2次元のリストについては、1次元
として複数のディレクトリのリストと、そして、各ディ
レクトリについて第2次元である複数のファイルのリス
トとが存在している。ファイル記述2次元リスト108
はまた2次元であるべきものとして考慮されている。そ
の理由は、第6図に図解した1次元としての階層化ディ
レクトリ作成順序が、第7図に図解したように、他方の
次元としてのディレクトリ作成順序とともに同時に維持
されるからである。
第8図おいて、各ファイル記述リストノード15日はノ
ードの形式、すなわち、ノードがディレクトリノードで
あるかファイルノードであるかを記憶する。ノード形式
フィールド160を有している。ファイル記述2次元リ
スト108はまた親データポインタフィールド162を
有している。
ードの形式、すなわち、ノードがディレクトリノードで
あるかファイルノードであるかを記憶する。ノード形式
フィールド160を有している。ファイル記述2次元リ
スト108はまた親データポインタフィールド162を
有している。
この親データポインタは親ディレクトリデータに対する
ポインタであり、この親ディレクトリデータはそのディ
レクトリにおいてエントリがDOSディレクトリ用のフ
ィールド(親ディレクトリエミンタ)に入っていること
によって配置されているか、エントリがVMSヘッダ内
のバンクリンク(親ファイル同定)フィールドを入れて
いるかを決定するために用いられる。ディレクトリエン
トリ情報フィールド164がフィールド162に続けら
れている。ディレクトリエントリ情報フィールド164
はデータ構造であり、このデータ構造は第9A図に図解
したように1本発明が用いられる。第9B図〜第9D図
に示す各オペレーティングシステム用のエントリ194
〜196を有している。VMSエントリ194は、第9
B図に図解したように、ヘッダ番号フィールド197.
ファイル同定フィールド198およびバージョン(改定
)番号フィールド199を有している。DOSエントリ
195は、第9C図に図解したように。
ポインタであり、この親ディレクトリデータはそのディ
レクトリにおいてエントリがDOSディレクトリ用のフ
ィールド(親ディレクトリエミンタ)に入っていること
によって配置されているか、エントリがVMSヘッダ内
のバンクリンク(親ファイル同定)フィールドを入れて
いるかを決定するために用いられる。ディレクトリエン
トリ情報フィールド164がフィールド162に続けら
れている。ディレクトリエントリ情報フィールド164
はデータ構造であり、このデータ構造は第9A図に図解
したように1本発明が用いられる。第9B図〜第9D図
に示す各オペレーティングシステム用のエントリ194
〜196を有している。VMSエントリ194は、第9
B図に図解したように、ヘッダ番号フィールド197.
ファイル同定フィールド198およびバージョン(改定
)番号フィールド199を有している。DOSエントリ
195は、第9C図に図解したように。
属性フィールド200”およびファイルに対する割り当
てられる最初のクラスタを示すために用いるフィールド
201を有している。第9D図は。
てられる最初のクラスタを示すために用いるフィールド
201を有している。第9D図は。
加えられるべきであり、特定のシステムファイルフォー
マットである他のシステム用のエントリI96の内容を
示している。
マットである他のシステム用のエントリI96の内容を
示している。
第10A図〜第10B図は各リストノード158内のフ
ィールドの内容を示す図であって、第10A図はディス
クロケーション・フィールド176を示す図、第10B
図はブロックロケーション・レコード204を示す図で
ある。
ィールドの内容を示す図であって、第10A図はディス
クロケーション・フィールド176を示す図、第10B
図はブロックロケーション・レコード204を示す図で
ある。
第10A図および第10B図に示したように。
ディスクロケーション・フィールド176は2つのサブ
フィールドを有している。これらのサブフィールドは、
I10処理に用いられる。第10B図に図解したブロッ
クロケーション・レコード204の位置に位置づけるブ
ロックロケーション・レコードポインタ202.および
、ブロックI10処理よりもファイルI10処理が起動
されるときに用いられるC言語内の標準入出力コマンド
用の標準Cファイル・ディスクリブタ(descrip
tor)を有するフィールド203を有している。ブロ
ック・ロケーシタンレコード204の内容は、リストエ
ントリ(ブロックまたはファイル)に必要な人出力の形
式に依存し1本質的にディスク上のエントリのアドレス
を提供する。複数のデータファイルが一般的にディスク
上に隣接したイクステン) (extent:広がり)
関係で記憶されるので。
フィールドを有している。これらのサブフィールドは、
I10処理に用いられる。第10B図に図解したブロッ
クロケーション・レコード204の位置に位置づけるブ
ロックロケーション・レコードポインタ202.および
、ブロックI10処理よりもファイルI10処理が起動
されるときに用いられるC言語内の標準入出力コマンド
用の標準Cファイル・ディスクリブタ(descrip
tor)を有するフィールド203を有している。ブロ
ック・ロケーシタンレコード204の内容は、リストエ
ントリ(ブロックまたはファイル)に必要な人出力の形
式に依存し1本質的にディスク上のエントリのアドレス
を提供する。複数のデータファイルが一般的にディスク
上に隣接したイクステン) (extent:広がり)
関係で記憶されるので。
1つのブロックロケーション・レコード204が各イク
ステントに必要である。各イクステントが、ブロック内
のイクステントの長さ(大きさ)205、ブロック内の
イクステントの開始番号206、開始ブロック内のファ
イル用の開始オフセソ)207.および5次のブロック
ロケーション・レコードに対するポインタ208によっ
て定義される。エントリ名称は第8図のフィールド16
6に包含され、たとえば、第5図〜第7図に示したルー
トの後の最初のディレクトリに関するエントリ名称は「
アカウント(accoun t) Jである◆第8図の
フィールド168はエントリを見つけだすために必要な
バスストリング(path string)を有してお
り、たとえば、第5図〜第7図示した”1etterl
”ファイル用のバスストリングは″“userl、A″
である。フィールド1.70はファイルの実際の長さを
記憶しており、フィールド172はファイルの割り当て
られた長さを記憶している。この記述において明示して
はいないが、ファイルおよびディレクトリは複数のファ
イルを考慮している。フィールド174はそのようなオ
ペレーティングシステムを動作可能にする現在の日付を
記憶しており、現在の日付の内容はホストシステムに依
存し、そのようなオペレーティングシステムはこの情報
を更新するためのファイルに対するアクセス状態または
修正状態を記録している。全ての処理プログラムによっ
てアクセス可能な最後のフィールド178は共通の属性
フィールドであり、この共通の属性フィールドは本発明
が他のユーザーのために拡張されることが可能になる予
め割り当てられた未定義のフィールドである。
ステントに必要である。各イクステントが、ブロック内
のイクステントの長さ(大きさ)205、ブロック内の
イクステントの開始番号206、開始ブロック内のファ
イル用の開始オフセソ)207.および5次のブロック
ロケーション・レコードに対するポインタ208によっ
て定義される。エントリ名称は第8図のフィールド16
6に包含され、たとえば、第5図〜第7図に示したルー
トの後の最初のディレクトリに関するエントリ名称は「
アカウント(accoun t) Jである◆第8図の
フィールド168はエントリを見つけだすために必要な
バスストリング(path string)を有してお
り、たとえば、第5図〜第7図示した”1etterl
”ファイル用のバスストリングは″“userl、A″
である。フィールド1.70はファイルの実際の長さを
記憶しており、フィールド172はファイルの割り当て
られた長さを記憶している。この記述において明示して
はいないが、ファイルおよびディレクトリは複数のファ
イルを考慮している。フィールド174はそのようなオ
ペレーティングシステムを動作可能にする現在の日付を
記憶しており、現在の日付の内容はホストシステムに依
存し、そのようなオペレーティングシステムはこの情報
を更新するためのファイルに対するアクセス状態または
修正状態を記録している。全ての処理プログラムによっ
てアクセス可能な最後のフィールド178は共通の属性
フィールドであり、この共通の属性フィールドは本発明
が他のユーザーのために拡張されることが可能になる予
め割り当てられた未定義のフィールドである。
明らかなように、ファイル記述2次元リスト108の各
ファイル記述リストノード158はソースディスクにエ
ントリを配設し、適切なソースディレクトリ階層化構造
およびディストネーション・ディレクトリ作成順序にエ
ントリを維持するために必要な情報を包含している。
ファイル記述リストノード158はソースディスクにエ
ントリを配設し、適切なソースディレクトリ階層化構造
およびディストネーション・ディレクトリ作成順序にエ
ントリを維持するために必要な情報を包含している。
第4図に戻ると、ソースファイル・ルックアップ処理プ
ログラム104はソースディスク106にアクセスして
ファイル記述リストノード158を生成するのに必要な
、少なくともディレクトリエントリの名称である情報を
人手し、バッファ制御処理プログラム102をコールし
てファイル記述2次元リス)108内の有効なファイル
記述リストノード158に対するポインタを人手する。
ログラム104はソースディスク106にアクセスして
ファイル記述リストノード158を生成するのに必要な
、少なくともディレクトリエントリの名称である情報を
人手し、バッファ制御処理プログラム102をコールし
てファイル記述2次元リス)108内の有効なファイル
記述リストノード158に対するポインタを人手する。
ただし、新しいエントリに対する情報が記憶されうる。
それから、ソースファイル・ルックアップ処理プログラ
ム104は適切な情報とともにファイル記述リストノー
ド158をロードする。もしエントリが記憶されなけれ
ばならない場合、万一ポインタが1回以上ファイル記述
2次元リスト108を横切らなければならないとき、適
切なポインタが発見されるまで、ソースファイル・ルッ
クアップ処理プログラム104はファイル記述2次元リ
スト108内の新しいポインタを問い合わせることによ
って適切な挿入ポインタを探す。
ム104は適切な情報とともにファイル記述リストノー
ド158をロードする。もしエントリが記憶されなけれ
ばならない場合、万一ポインタが1回以上ファイル記述
2次元リスト108を横切らなければならないとき、適
切なポインタが発見されるまで、ソースファイル・ルッ
クアップ処理プログラム104はファイル記述2次元リ
スト108内の新しいポインタを問い合わせることによ
って適切な挿入ポインタを探す。
第11図はファイル記述リスト108の各ノード158
に対する各ポインタのためのポインタ定義を図解する図
である。リストポインタは第11図に図解の如く定義さ
れており、ノードアドレス211、ファイル記述2次元
リスト10日を介する移動順序212.ノード形式21
3.ポインタが全ノードにわたって進められ完了しまた
は終了したことを示す完了フラグ214.ポインタ移動
が発生する他の現象について待機していることを示す待
機状態フラグ215.オーナー処理番号216、および
、ポインタ割当番号217を有している。バッファ制御
処理プログラム102はまた親データポインタを初期化
し、ノードの形式をセットし、そのノード内のエントリ
名称およびバス名称を記憶する。すなわち、バッファ制
御処理プログラム102はポインタを休止のまま空きに
なって(rest 1eft en+pty)完了して
いるフィールド160.162,166および168を
有するノードに戻す。
に対する各ポインタのためのポインタ定義を図解する図
である。リストポインタは第11図に図解の如く定義さ
れており、ノードアドレス211、ファイル記述2次元
リスト10日を介する移動順序212.ノード形式21
3.ポインタが全ノードにわたって進められ完了しまた
は終了したことを示す完了フラグ214.ポインタ移動
が発生する他の現象について待機していることを示す待
機状態フラグ215.オーナー処理番号216、および
、ポインタ割当番号217を有している。バッファ制御
処理プログラム102はまた親データポインタを初期化
し、ノードの形式をセットし、そのノード内のエントリ
名称およびバス名称を記憶する。すなわち、バッファ制
御処理プログラム102はポインタを休止のまま空きに
なって(rest 1eft en+pty)完了して
いるフィールド160.162,166および168を
有するノードに戻す。
一旦ソースファイル・ルックアップ処理プログラム10
4がファイル記述リストノード158を生成し、そして
、過去のそのファイル記述リストノード158を進め、
または、そのノードで待機状態にある時、ソースファイ
ルリード処理プログラム110はそのポインタをファイ
ル記述リストノード158まで進め、そのファイル内容
をソースデータリング112にロードする。ソースファ
イルリード処理ポインタはファイル記述2次元リスト1
08内のディレクトリエントリの全体にわたって進めら
れる。
4がファイル記述リストノード158を生成し、そして
、過去のそのファイル記述リストノード158を進め、
または、そのノードで待機状態にある時、ソースファイ
ルリード処理プログラム110はそのポインタをファイ
ル記述リストノード158まで進め、そのファイル内容
をソースデータリング112にロードする。ソースファ
イルリード処理ポインタはファイル記述2次元リスト1
08内のディレクトリエントリの全体にわたって進めら
れる。
ソースデータリング112および本発明に関連づけて記
述される他の全てのリングの定義が第12図に図解され
ている。
述される他の全てのリングの定義が第12図に図解され
ている。
ファイル記述リストノード158のパスストリングフィ
ールド168に基づくソースファイルリード処理110
はファイルの内容を入手し、メモリセグメント220〜
224の可変番号内のデータを記憶する。ここで、ある
一つのリングを要求している処理は使用されべきメモリ
セグメントバッファの番号を定義する。各セグメントは
そのセグメントが使用されるべきかを表示する状態フィ
ールド225を有する。リング定義はバッファセグメン
トポインタ226および最後のインデックスフィールド
を有しており、このインデックスフィールド228は、
最後のインデックスに対してポインタが進めなければな
らず、そのリング内の先行するポインタがファイルの最
後のイクステントに挿入されていることを示す、最後の
インデックスを示している。フィールド230はこのリ
ングのために使用状態にあるポインタの番号を示してお
り、たとえば、リード、ライト、ディレクトリ、ディレ
クトリヘッダなどは使用可能なポインタのいくつかのも
のである。フィールド232はこのリングのための最も
高い優先順位のポインタを示している。ソースデータリ
ング112について、最も優先順位の高いポインタはブ
ロックリードまたはファイルリードである。フィールド
234はバッファセグメントの数を示しており、バッフ
ァセグメントはこのリングのために割り当てられており
、一方、フィールド236はセグメントの長さを示して
いる。フィールド238はリング内のイクステントの数
を規定しており、好適にはイクステント数は10であり
、最小の数はそのリング用のポインタの数より大きい1
以上であり。
ールド168に基づくソースファイルリード処理110
はファイルの内容を入手し、メモリセグメント220〜
224の可変番号内のデータを記憶する。ここで、ある
一つのリングを要求している処理は使用されべきメモリ
セグメントバッファの番号を定義する。各セグメントは
そのセグメントが使用されるべきかを表示する状態フィ
ールド225を有する。リング定義はバッファセグメン
トポインタ226および最後のインデックスフィールド
を有しており、このインデックスフィールド228は、
最後のインデックスに対してポインタが進めなければな
らず、そのリング内の先行するポインタがファイルの最
後のイクステントに挿入されていることを示す、最後の
インデックスを示している。フィールド230はこのリ
ングのために使用状態にあるポインタの番号を示してお
り、たとえば、リード、ライト、ディレクトリ、ディレ
クトリヘッダなどは使用可能なポインタのいくつかのも
のである。フィールド232はこのリングのための最も
高い優先順位のポインタを示している。ソースデータリ
ング112について、最も優先順位の高いポインタはブ
ロックリードまたはファイルリードである。フィールド
234はバッファセグメントの数を示しており、バッフ
ァセグメントはこのリングのために割り当てられており
、一方、フィールド236はセグメントの長さを示して
いる。フィールド238はリング内のイクステントの数
を規定しており、好適にはイクステント数は10であり
、最小の数はそのリング用のポインタの数より大きい1
以上であり。
イクステント数が大きいほど効率は向上する。フィール
ド240は第1のイクステントを指定するリングポイン
タである。各イクステント242はセグメント内におい
てこのイクステントについての実際のデータが配置され
ること定義するために用いられる。したがって、イクス
テントは、セグメント数フィールド244.イクステン
トデータポインタ・フィールド246.イクステント内
のバイト数フィールド248.ファイル内のイクステン
トの位置フィールド250を有している。
ド240は第1のイクステントを指定するリングポイン
タである。各イクステント242はセグメント内におい
てこのイクステントについての実際のデータが配置され
ること定義するために用いられる。したがって、イクス
テントは、セグメント数フィールド244.イクステン
トデータポインタ・フィールド246.イクステント内
のバイト数フィールド248.ファイル内のイクステン
トの位置フィールド250を有している。
イクステントはまたファイル記述2次元リスト108内
の対応するノードに対するポインタ252を有している
。すなわち、フィールド252はノードによって示され
たリング内に記憶されたフィールドの内容についてのフ
ァイル記述2次元リスト108内の対応するノードを示
す。ソースファイル・ルックアップ処理プログラム10
4から明らかなように、ソースファイルリード処理プロ
グラム110はリングポインタを必要とし、それはその
ポインタビ、こついてのバッファ制御処理プログラム1
02をコールする。リングを定義する最初のコールはま
た。そのリングについて最高の優先順位を有するポイン
タを生成し、そのリングを定義する処理に関するポイン
タは定義されたリングについて最高位の優先順位を受け
る。最高位の優先順位を得るために定義される処理を可
能にすることによって、2つの処理が同じ2つのリング
で動作し、しかも逆の1頓序で動作するので1巡回的な
優先順位の問題が生ずるおそれがある。たとえば、ブロ
ックライト処理プログラムはリング294を充満させる
が、ディレクトリ作成処理プログラムはディレクトリを
引き出し探索する処理に続いて行われ、同時にディレク
トリ作成処理プログラムがディストネーションD I
R−OUTリング296を充満させ、ブロックライト処
理プログラムがディレクトリの内容を書き込む処理に続
けられる。したがって、各リングはポインタの移動を制
御するためにバッファ制御処理プログラム102によっ
て用いられるリング定義255を有するリング定義25
5は、第13図に示すように。
の対応するノードに対するポインタ252を有している
。すなわち、フィールド252はノードによって示され
たリング内に記憶されたフィールドの内容についてのフ
ァイル記述2次元リスト108内の対応するノードを示
す。ソースファイル・ルックアップ処理プログラム10
4から明らかなように、ソースファイルリード処理プロ
グラム110はリングポインタを必要とし、それはその
ポインタビ、こついてのバッファ制御処理プログラム1
02をコールする。リングを定義する最初のコールはま
た。そのリングについて最高の優先順位を有するポイン
タを生成し、そのリングを定義する処理に関するポイン
タは定義されたリングについて最高位の優先順位を受け
る。最高位の優先順位を得るために定義される処理を可
能にすることによって、2つの処理が同じ2つのリング
で動作し、しかも逆の1頓序で動作するので1巡回的な
優先順位の問題が生ずるおそれがある。たとえば、ブロ
ックライト処理プログラムはリング294を充満させる
が、ディレクトリ作成処理プログラムはディレクトリを
引き出し探索する処理に続いて行われ、同時にディレク
トリ作成処理プログラムがディストネーションD I
R−OUTリング296を充満させ、ブロックライト処
理プログラムがディレクトリの内容を書き込む処理に続
けられる。したがって、各リングはポインタの移動を制
御するためにバッファ制御処理プログラム102によっ
て用いられるリング定義255を有するリング定義25
5は、第13図に示すように。
ポインタの優先順位256.ポインタのリング番号25
8.オーナー処理番号260.現在のイクステントのイ
ンデックス262.および、待機状態フラグ264を有
している。
8.オーナー処理番号260.現在のイクステントのイ
ンデックス262.および、待機状態フラグ264を有
している。
一旦ソースファイルリード処理プログラム110が1ま
たは複数のリングセグメントを充満させると、もし起動
された場合、翻訳処理プログラム114はテキストファ
イル・レコードをディストネーションディスクに敵した
フォーマットに翻訳し、その翻Δ尺したものをディスト
ネーション・データリング116に記憶する。もし翻訳
処理プログラム114が起動されない場合は、ディスト
ネーション・データリング116の内容とソースデータ
リング112の内容とは同じである。
たは複数のリングセグメントを充満させると、もし起動
された場合、翻訳処理プログラム114はテキストファ
イル・レコードをディストネーションディスクに敵した
フォーマットに翻訳し、その翻Δ尺したものをディスト
ネーション・データリング116に記憶する。もし翻訳
処理プログラム114が起動されない場合は、ディスト
ネーション・データリング116の内容とソースデータ
リング112の内容とは同じである。
第4図のディストネーション・ディレクトリ生戒処理プ
ログラム118はディストネーションディスク(22の
ためのディレクトリを生成する。
ログラム118はディストネーションディスク(22の
ためのディレクトリを生成する。
前述したように、システムコールがファイル記述2次元
リスト108上の各エントリについてのこの機能を遂行
する。ディストネーション・ディレクトリ作成処理プロ
グラム118は、ディレクトリエントリがファイル記述
2次元リスト108内で完了しているとき、 (ファイ
ルを飛び越し、ディレクトリエントリに対する指定のみ
行う)そのポインタを進めることができる。ディストネ
ーション・ディレクトリ作成処理プログラム118はま
ず、ファイル記述2次元リスト10B内のエントリがデ
ィストネーションディスク122に存在することを見る
ためにチエツクする。この処理は上述したようなシステ
ムファイルコールによって行われる。もしエントリがデ
ィストネーションディスク122に存在しない時には他
のシステムファイルコールが行われてディストネーショ
ンディスク122にエントリを生成する。もしエントリ
が存在しない場合には、ノーオペレーション(n。
リスト108上の各エントリについてのこの機能を遂行
する。ディストネーション・ディレクトリ作成処理プロ
グラム118は、ディレクトリエントリがファイル記述
2次元リスト108内で完了しているとき、 (ファイ
ルを飛び越し、ディレクトリエントリに対する指定のみ
行う)そのポインタを進めることができる。ディストネ
ーション・ディレクトリ作成処理プログラム118はま
ず、ファイル記述2次元リスト10B内のエントリがデ
ィストネーションディスク122に存在することを見る
ためにチエツクする。この処理は上述したようなシステ
ムファイルコールによって行われる。もしエントリがデ
ィストネーションディスク122に存在しない時には他
のシステムファイルコールが行われてディストネーショ
ンディスク122にエントリを生成する。もしエントリ
が存在しない場合には、ノーオペレーション(n。
operation)が要求される。−旦ディストネー
ションディスク122上のエントリが生成されると、デ
ィストネーションファイル・ライト処理プログラム12
0はディストネーション・ディレクトリ生成処理プログ
ラム118によって生成されたディレクトリエントリに
ついてのファイルに対するファイル記述2次元リスト1
08内のそのポインタを進めることができ、そのファイ
ルをディストネーションディスク122に記憶する。デ
ィストネーションファイル・ライト処理プログラム12
0は、R初のイクステントに遭遇するとディストネーシ
ョンディスク122上のファイルをオーブンにし、最初
から最後までのイクステント内のデータを人手し、ディ
ストネーションディスク122にデータを記憶し、それ
から1最後のイクステントに遭遇したらそのファイルを
クローズする第14図はブロフクI10転送に対するブ
ロックI10を図解する図である。すなわち、第14図
はデータの流れとブロックl10−ブロック■/○転送
を行うために協働する処理を図解している。実行の初期
段階において、ソースブロックリード処理プログラム2
74は、ルートディレクトリを人手しそれをソースディ
レクトリ・リング275にロードする。ルートディレク
トリ・ロジカル・ブロックロケーションが、VMS上の
ヘッダナンバーフォー (header number
four)内(ただし ヘッダフォーのロケーション
はホームブロックから決定される)、および、DO3上
のBIOSパラメータブロック内に見出される。VMS
に関しては、ヘッダの開始がホームブロックから得られ
る。ルートディレクトリ・ヘッダは常にナンバーフォー
である(4番である)。このヘッダは読み出され、ルー
トディレクトリのブロックロケーションを包含している
。ソースブロックリード処理プログラム274はまた。
ションディスク122上のエントリが生成されると、デ
ィストネーションファイル・ライト処理プログラム12
0はディストネーション・ディレクトリ生成処理プログ
ラム118によって生成されたディレクトリエントリに
ついてのファイルに対するファイル記述2次元リスト1
08内のそのポインタを進めることができ、そのファイ
ルをディストネーションディスク122に記憶する。デ
ィストネーションファイル・ライト処理プログラム12
0は、R初のイクステントに遭遇するとディストネーシ
ョンディスク122上のファイルをオーブンにし、最初
から最後までのイクステント内のデータを人手し、ディ
ストネーションディスク122にデータを記憶し、それ
から1最後のイクステントに遭遇したらそのファイルを
クローズする第14図はブロフクI10転送に対するブ
ロックI10を図解する図である。すなわち、第14図
はデータの流れとブロックl10−ブロック■/○転送
を行うために協働する処理を図解している。実行の初期
段階において、ソースブロックリード処理プログラム2
74は、ルートディレクトリを人手しそれをソースディ
レクトリ・リング275にロードする。ルートディレク
トリ・ロジカル・ブロックロケーションが、VMS上の
ヘッダナンバーフォー (header number
four)内(ただし ヘッダフォーのロケーション
はホームブロックから決定される)、および、DO3上
のBIOSパラメータブロック内に見出される。VMS
に関しては、ヘッダの開始がホームブロックから得られ
る。ルートディレクトリ・ヘッダは常にナンバーフォー
である(4番である)。このヘッダは読み出され、ルー
トディレクトリのブロックロケーションを包含している
。ソースブロックリード処理プログラム274はまた。
ソースロケーションウィンドー276にルートディレク
トリ・ヘッダをロードする。
トリ・ヘッダをロードする。
ソースロケーション・ウインドー、276 ハ仮想メモ
リシステムにおけるページングシステムと非常に類似し
た作用を有しており、隣接してデータを記憶するに充分
なメモリが存在しない場合概念的に隣接したインデック
スデータについてのアクセス方法を提供する。ベージン
グシステムについての当業者はそのようなウィンドーが
いかにして生成できるかについて容易に認識できる。ソ
ースロケーション・ウインドー、276内において、ソ
ースディスク270のヘッダまたはインデックスについ
ての区分の本質的なスナップショトである5つの可能な
ウィンドー・ビューが示されている5つのウィンドー・
ビューは同時的に発生するであろう複数のウィンドーに
関連づけて動作が図解されるように示されており、複数
のウィンドー・ビューを異なる番号にすることも可能で
ある。
リシステムにおけるページングシステムと非常に類似し
た作用を有しており、隣接してデータを記憶するに充分
なメモリが存在しない場合概念的に隣接したインデック
スデータについてのアクセス方法を提供する。ベージン
グシステムについての当業者はそのようなウィンドーが
いかにして生成できるかについて容易に認識できる。ソ
ースロケーション・ウインドー、276内において、ソ
ースディスク270のヘッダまたはインデックスについ
ての区分の本質的なスナップショトである5つの可能な
ウィンドー・ビューが示されている5つのウィンドー・
ビューは同時的に発生するであろう複数のウィンドーに
関連づけて動作が図解されるように示されており、複数
のウィンドー・ビューを異なる番号にすることも可能で
ある。
ソースロケーション・ウインドー、276の定義が第1
5図に示されている。この図面は2つのウィンドー・ビ
ューのみ示しているが、さらに多くのウィンドー・ビュ
ーを示すことも可能である。
5図に示されている。この図面は2つのウィンドー・ビ
ューのみ示しているが、さらに多くのウィンドー・ビュ
ーを示すことも可能である。
ウィンド一定義330は、インデックスサイズ332、
インデックス形式334.バイト表現のビューレングス
336.ウィンドー状態338.ライトイネーブル34
0.オーナー処理番号342ウインドーによって提供さ
れるウィンドー数344、および、ウィンドー・ビュー
に対するポインタ346を有している。各ウィンドー・
ビューはインデックススタート348.および、インデ
ックスエンド350を有している。ウィンドー・ビュー
はまた。このウィンドー・ビューが最後のリファレンス
352であったとき、ビューが修飾されており(356
)、修飾カウンタ356であるかを示している。ウィン
ドー・ビューはまた。
インデックス形式334.バイト表現のビューレングス
336.ウィンドー状態338.ライトイネーブル34
0.オーナー処理番号342ウインドーによって提供さ
れるウィンドー数344、および、ウィンドー・ビュー
に対するポインタ346を有している。各ウィンドー・
ビューはインデックススタート348.および、インデ
ックスエンド350を有している。ウィンドー・ビュー
はまた。このウィンドー・ビューが最後のリファレンス
352であったとき、ビューが修飾されており(356
)、修飾カウンタ356であるかを示している。ウィン
ドー・ビューはまた。
ウィンドー・ビューの状態を示しており、修飾している
ウィンドー・ビュー内のブロフクのビットマツプ362
を提供している。これらの修飾フィ−ルドは、もしウィ
ンドーがライトイネーブルの場合(ただし、そのウィン
ドーはインデックスウィンドー ビットマツプウィンド
ーまたはヘッダビットマツプである)、修飾されるだけ
である。
ウィンドー・ビュー内のブロフクのビットマツプ362
を提供している。これらの修飾フィ−ルドは、もしウィ
ンドーがライトイネーブルの場合(ただし、そのウィン
ドーはインデックスウィンドー ビットマツプウィンド
ーまたはヘッダビットマツプである)、修飾されるだけ
である。
ビュ一定義はまたメモリ内の実際のデータに対するポイ
ンタ364を有している。ソースロケーション・ウイン
ドー、276に関して、ビューはソースディスク270
上のインデックスファイルのビューであり、このインデ
ックスファイルはフィールドを配置するためのロケーシ
ョン情報を有している(VMS内においては、この位置
情報はヘッダのファイルであり、UNIXにおいてはl
ノードであり、DO3においてはファイルアロケーショ
ンテーブルである)。動作中、ある処理プログラム、た
とえば、ソースロケーション処理プログラム278がヘ
ッダについて尋ねているとき、 (すなわち、インデッ
クスがVMSヘッダまたはファイルアロケーション・テ
ーブルワードを示しているとき)、バッファ制御処理プ
ログラム102は、ヘッダがスタートまたはエンドフィ
ールドを検査することにより見出されることを見るため
。
ンタ364を有している。ソースロケーション・ウイン
ドー、276に関して、ビューはソースディスク270
上のインデックスファイルのビューであり、このインデ
ックスファイルはフィールドを配置するためのロケーシ
ョン情報を有している(VMS内においては、この位置
情報はヘッダのファイルであり、UNIXにおいてはl
ノードであり、DO3においてはファイルアロケーショ
ンテーブルである)。動作中、ある処理プログラム、た
とえば、ソースロケーション処理プログラム278がヘ
ッダについて尋ねているとき、 (すなわち、インデッ
クスがVMSヘッダまたはファイルアロケーション・テ
ーブルワードを示しているとき)、バッファ制御処理プ
ログラム102は、ヘッダがスタートまたはエンドフィ
ールドを検査することにより見出されることを見るため
。
複数のビューを見る。もしビューがその中のインデック
スとともに発見される場合、バッファ制御処理プログラ
ム102は、インデックスサイズ332およびインデッ
クススタート348と希望するインデックスまたはヘッ
ダ番号との差からバッファ366内のインデックスのオ
フセット位置を計算することによって得られるインデッ
クスに対するポインタに戻す、もしヘッダがビュー内に
存在しない場合、バッファ制御処理プログラム102は
待機状態に戻る。ブロックリード処理プログラムは後に
、ヘッダから失われているインデックスで始まるヘッダ
のビューまたはディスク上のインデックスファイルのビ
ューを入手し、各ヒユーのフィールド352および35
4を検査することにより一番最近使用したライトイネー
ブルのビューにロードする。
スとともに発見される場合、バッファ制御処理プログラ
ム102は、インデックスサイズ332およびインデッ
クススタート348と希望するインデックスまたはヘッ
ダ番号との差からバッファ366内のインデックスのオ
フセット位置を計算することによって得られるインデッ
クスに対するポインタに戻す、もしヘッダがビュー内に
存在しない場合、バッファ制御処理プログラム102は
待機状態に戻る。ブロックリード処理プログラムは後に
、ヘッダから失われているインデックスで始まるヘッダ
のビューまたはディスク上のインデックスファイルのビ
ューを入手し、各ヒユーのフィールド352および35
4を検査することにより一番最近使用したライトイネー
ブルのビューにロードする。
(以下余白)
上述したように1第14図に図示したソースブロックリ
ード処理プログラム274は、ルートディスクを入手し
、ソースディレクトリ・リング275内にそのルートデ
ィスクをロードする。これが、フィールド内のリードロ
ケーションを入手するブートストラップ形式の動作の始
まりである。
ード処理プログラム274は、ルートディスクを入手し
、ソースディレクトリ・リング275内にそのルートデ
ィスクをロードする。これが、フィールド内のリードロ
ケーションを入手するブートストラップ形式の動作の始
まりである。
ルートディレクトリが一旦ソースディレクトリ・リング
275にあると、ソースディレクトリ・サーチ処理プロ
グラム280はルートディレクトリの内容を解釈し、適
切な挿入ポイントのためのファイル記述2次元リスト1
08を探索することを含むソースファイル・ルックアッ
プ処理プログラム104と同様な方法でファイル記述2
次元リスト10日内に適切なエントリを生成する。−旦
。
275にあると、ソースディレクトリ・サーチ処理プロ
グラム280はルートディレクトリの内容を解釈し、適
切な挿入ポイントのためのファイル記述2次元リスト1
08を探索することを含むソースファイル・ルックアッ
プ処理プログラム104と同様な方法でファイル記述2
次元リスト10日内に適切なエントリを生成する。−旦
。
ルートディレクトリエントリがファイル記述2次元リス
ト10日に生成されると、ソースブロックリード処理プ
ログラム274は、ソースロケーション・ウインドー、
276の前方を見て、ソースロケーション処理プログラ
ム278用のバッファ制御処理プログラム102がソー
スディスク270上のルートディレクトリにファイルを
ロードすることを可能にするインデックスファイルの適
切な場所を有するソースロケーション・ウインドー、2
76をロードする。−旦、初期ウィンドー・ビューがロ
ードされると、ソースブロックリード処理プログラム2
74は、ファイル記述2次元リスト10Bの前方を見て
、ソースロケーション処理プログラム278が次に必要
とするインデックスファイルの位置を決定する。前方監
視(peek ahead:ピークアヘッド)動作につ
いは第24図を参照して詳細に述べる。それから、ソー
スブロックリード処理プログラム274は、必要となる
インデックス情報を有する空きのウィンドー・ビューを
ロードする。ソースロケ−シランリード処理プログラム
278は、ファイル記述2次元リスト108の各ノード
内のブロックロケーション・レコードポインタ202(
第10A図)を完全にする。
ト10日に生成されると、ソースブロックリード処理プ
ログラム274は、ソースロケーション・ウインドー、
276の前方を見て、ソースロケーション処理プログラ
ム278用のバッファ制御処理プログラム102がソー
スディスク270上のルートディレクトリにファイルを
ロードすることを可能にするインデックスファイルの適
切な場所を有するソースロケーション・ウインドー、2
76をロードする。−旦、初期ウィンドー・ビューがロ
ードされると、ソースブロックリード処理プログラム2
74は、ファイル記述2次元リスト10Bの前方を見て
、ソースロケーション処理プログラム278が次に必要
とするインデックスファイルの位置を決定する。前方監
視(peek ahead:ピークアヘッド)動作につ
いは第24図を参照して詳細に述べる。それから、ソー
スブロックリード処理プログラム274は、必要となる
インデックス情報を有する空きのウィンドー・ビューを
ロードする。ソースロケ−シランリード処理プログラム
278は、ファイル記述2次元リスト108の各ノード
内のブロックロケーション・レコードポインタ202(
第10A図)を完全にする。
このポインタは単一的にリンクされている一連のレコー
ドを指定しており、これらのレコードはファイルの各デ
ィスクのイクステントのための情報を包含しており、こ
のことがエントリに対応しているファイルのロケーショ
ンに関してファイル記述2次元リスト108を完全にす
る。このことはソースブロックリード処理プログラム2
74がファイル記述2次元リス)108を移動させ。
ドを指定しており、これらのレコードはファイルの各デ
ィスクのイクステントのための情報を包含しており、こ
のことがエントリに対応しているファイルのロケーショ
ンに関してファイル記述2次元リスト108を完全にす
る。このことはソースブロックリード処理プログラム2
74がファイル記述2次元リス)108を移動させ。
ディレクトリファイルを入手しソースディレクトリ・リ
ング275にロードし、データファイルを入手してソー
スデータ・リング112にロードすることを始めること
を可能にする。ファイル記述2次元リスト108内のデ
ィレクトリ・ノードエントリおよびファイル・ノードエ
ントリを生成する処理プログラムは、ルートディレクト
リ内のサブディレクトリエントリの内容をソースディレ
クトリ・リング275にロードするソースリード処理プ
ログラム274.エントリ用のロケーション情報を人手
し完全にするソースロケーション処理プログラム278
とともにソースディレクトリ・リング275をスキャン
しファイル記述2次元リスト108にノードエントリを
生成するサーチ処理プログラム、および、リング112
および275に情報を読み込むソースブロックリード処
理プログラム274が続けられる。
ング275にロードし、データファイルを入手してソー
スデータ・リング112にロードすることを始めること
を可能にする。ファイル記述2次元リスト108内のデ
ィレクトリ・ノードエントリおよびファイル・ノードエ
ントリを生成する処理プログラムは、ルートディレクト
リ内のサブディレクトリエントリの内容をソースディレ
クトリ・リング275にロードするソースリード処理プ
ログラム274.エントリ用のロケーション情報を人手
し完全にするソースロケーション処理プログラム278
とともにソースディレクトリ・リング275をスキャン
しファイル記述2次元リスト108にノードエントリを
生成するサーチ処理プログラム、および、リング112
および275に情報を読み込むソースブロックリード処
理プログラム274が続けられる。
ファイル記述2次元リス)108が充満され。
入力処理と協働するポインタがデータファイルおよびデ
ィレクトリファイルがソースデータリング112および
275に記憶されていることを示しているファイル記述
2次元リスト108のエントリを介して移動するから、
転送システム36は翻訳処理プログラム114および出
力処理がファイル記述2次元リスト108を横断するこ
とを開始し、ディストネーションディスク304にディ
レクトリファイルおよびデータファイルをロードするこ
とを可能にする。上述したように、もし翻訳処理プログ
ラム114が起動されているとき、ソースデータ・リン
グ112からのテキストデータが再フォ−マツト化され
、ディストネーションデータ・リング116に記憶され
る。
ィレクトリファイルがソースデータリング112および
275に記憶されていることを示しているファイル記述
2次元リスト108のエントリを介して移動するから、
転送システム36は翻訳処理プログラム114および出
力処理がファイル記述2次元リスト108を横断するこ
とを開始し、ディストネーションディスク304にディ
レクトリファイルおよびデータファイルをロードするこ
とを可能にする。上述したように、もし翻訳処理プログ
ラム114が起動されているとき、ソースデータ・リン
グ112からのテキストデータが再フォ−マツト化され
、ディストネーションデータ・リング116に記憶され
る。
ディストネーションブロック・ライト処理プログラム3
00は2つの機能を持っている。第1の機能は、データ
ファイル、ディレクトリファイルおよびヘッダをディス
トネーションディスク304に記憶する。第2の機能は
、ディストネーションディスク304のためのアロケー
ション制御リストおよびヘッダ制御リストにしたがって
、ディストネーションディスク304にすでに存在する
任意のディレクトリおよびヘッダ(インデックス)を読
み出す。このことは、ファイル記述2次元リスト108
内のファイルおよびディレクトリをディストネーション
ディスク304にあるファイルおよびディレクトリと合
併(+t+erge)することを可能にする。ディスト
ネーション・ディレクトリ・ビルト処理プログラム28
2は、ファイル記述2次元リスト108と、ディストネ
ーションディスク304にディレクトリを記憶している
ディストネーションDIR(ディレクトリ)−INリン
グ294の内容とを比較し9合併したディレクトリエン
トリ、または新しいディレクトリエントリを生威し、こ
の合併した。または新しいディレクトリエントリをディ
ストネーションDIR,−0UTリング296に記憶す
る。メモリ内に存在しないヘッダが必要なとき、ディス
トネーション・ロケーション処理プログラム284は待
機状態に入り、ディストネーションブロック・ライト処
理プログラム307はディストネーションディスク30
4からヘッダを入手し、ディストネーション・ロケーシ
ョン処理プログラム284はディストネーションディス
ク304上のファイルの物理的なロケーションを決定す
る。もしディレクトリエントリがディストネーションデ
ィスク304に存在しないとき、ディストネーション・
ディレクトリ作成処理プログラム282はディレクトリ
を生威し、存在する場合は存在するディレクトリに加え
る。ヘッダ作成処理プログラム286は、ディレクトリ
ファイルおよびデータファイルのためのヘッダまたはイ
ンデックスを生威し、それらをディストネーション・ロ
ケーション・ウィンドー290に記憶する。ディストネ
ーションブロック・ライト処理プログラム300は、デ
ィストネーションD I R−OUTリング296およ
びディストネーション・データリング116の内容をデ
ィストネーションディスク304に記憶する。または書
き込む。より高い優先順位であるディストネーションブ
ロック・ライト処理プログラム300は。
00は2つの機能を持っている。第1の機能は、データ
ファイル、ディレクトリファイルおよびヘッダをディス
トネーションディスク304に記憶する。第2の機能は
、ディストネーションディスク304のためのアロケー
ション制御リストおよびヘッダ制御リストにしたがって
、ディストネーションディスク304にすでに存在する
任意のディレクトリおよびヘッダ(インデックス)を読
み出す。このことは、ファイル記述2次元リスト108
内のファイルおよびディレクトリをディストネーション
ディスク304にあるファイルおよびディレクトリと合
併(+t+erge)することを可能にする。ディスト
ネーション・ディレクトリ・ビルト処理プログラム28
2は、ファイル記述2次元リスト108と、ディストネ
ーションディスク304にディレクトリを記憶している
ディストネーションDIR(ディレクトリ)−INリン
グ294の内容とを比較し9合併したディレクトリエン
トリ、または新しいディレクトリエントリを生威し、こ
の合併した。または新しいディレクトリエントリをディ
ストネーションDIR,−0UTリング296に記憶す
る。メモリ内に存在しないヘッダが必要なとき、ディス
トネーション・ロケーション処理プログラム284は待
機状態に入り、ディストネーションブロック・ライト処
理プログラム307はディストネーションディスク30
4からヘッダを入手し、ディストネーション・ロケーシ
ョン処理プログラム284はディストネーションディス
ク304上のファイルの物理的なロケーションを決定す
る。もしディレクトリエントリがディストネーションデ
ィスク304に存在しないとき、ディストネーション・
ディレクトリ作成処理プログラム282はディレクトリ
を生威し、存在する場合は存在するディレクトリに加え
る。ヘッダ作成処理プログラム286は、ディレクトリ
ファイルおよびデータファイルのためのヘッダまたはイ
ンデックスを生威し、それらをディストネーション・ロ
ケーション・ウィンドー290に記憶する。ディストネ
ーションブロック・ライト処理プログラム300は、デ
ィストネーションD I R−OUTリング296およ
びディストネーション・データリング116の内容をデ
ィストネーションディスク304に記憶する。または書
き込む。より高い優先順位であるディストネーションブ
ロック・ライト処理プログラム300は。
ファイルに対してクラスタ(ブロックの郡)を割り当て
るために、ファイルシステム特定ルーチンをコールして
ディストネーションDIR−OUTリング296および
ディストネーション・データリング116のファイルの
ためのスペースを割り当てる。ディストネーション・デ
ィレクトリ作成処理プログラム282はヘッダを割り当
てて、ヘッダ番号がディレクトリエントリのために必要
な場合ヘッダ制御リスト・ウインドー292を更新させ
る。もし必要なときにはへラダ作成処理プログラム28
6が続けられ、ヘッダ内にアロケーション情報を記憶す
る。ロケーションおよびアロケージクン情報がファイル
アロケーションテーブルに組み合わされているので、ヘ
ッダ作成処理プログラム286はDOSディストネーシ
ョンディスクのためには必要とされない。ディストネー
ションブロック・ライト処理プログラム300は適切な
段階(ステップ)においてディストネーションディスク
304にディストネーション・ロケーション・ウィンド
ー290.ヘッダ制御リスト(HCL)ウィンドー29
2およびアロケージジン制i創Jスト(ACL)ウィン
ドー298のビューを書き込む。
るために、ファイルシステム特定ルーチンをコールして
ディストネーションDIR−OUTリング296および
ディストネーション・データリング116のファイルの
ためのスペースを割り当てる。ディストネーション・デ
ィレクトリ作成処理プログラム282はヘッダを割り当
てて、ヘッダ番号がディレクトリエントリのために必要
な場合ヘッダ制御リスト・ウインドー292を更新させ
る。もし必要なときにはへラダ作成処理プログラム28
6が続けられ、ヘッダ内にアロケーション情報を記憶す
る。ロケーションおよびアロケージクン情報がファイル
アロケーションテーブルに組み合わされているので、ヘ
ッダ作成処理プログラム286はDOSディストネーシ
ョンディスクのためには必要とされない。ディストネー
ションブロック・ライト処理プログラム300は適切な
段階(ステップ)においてディストネーションディスク
304にディストネーション・ロケーション・ウィンド
ー290.ヘッダ制御リスト(HCL)ウィンドー29
2およびアロケージジン制i創Jスト(ACL)ウィン
ドー298のビューを書き込む。
第16図および第17図はデータの流れとファイルI1
0およびブロックI10転送の組合せについての処理実
行を示す図であり、前述したようにこれらの処理は適切
に起動され、実行される。
0およびブロックI10転送の組合せについての処理実
行を示す図であり、前述したようにこれらの処理は適切
に起動され、実行される。
本発明のこれらの処理の実行順序が第18図に図解した
処理制御処理または処理制御ルーチン398によって制
御される。第18図は処理実行順序を制御する処理制御
ルーチン398のフローチャートである。この処理制御
ルーチン398は基本的には、待機状態または完了状態
に到達するまである処理プログラムが動作することが可
能である処理プログラムを起動またはコールするループ
であり、それらの処理プログラムを次の処理プログラム
に移動させる。処理のリストの終わりに到達すると、処
理制御ルーチン398は処理の始めで再び起動され、全
ての処理プログラムが行われるまでスキャンを継続する
。処理制御ルーチン398の最初のステップは処理プロ
グラムのアドレスをロードするステップ400である。
処理制御処理または処理制御ルーチン398によって制
御される。第18図は処理実行順序を制御する処理制御
ルーチン398のフローチャートである。この処理制御
ルーチン398は基本的には、待機状態または完了状態
に到達するまである処理プログラムが動作することが可
能である処理プログラムを起動またはコールするループ
であり、それらの処理プログラムを次の処理プログラム
に移動させる。処理のリストの終わりに到達すると、処
理制御ルーチン398は処理の始めで再び起動され、全
ての処理プログラムが行われるまでスキャンを継続する
。処理制御ルーチン398の最初のステップは処理プロ
グラムのアドレスをロードするステップ400である。
処理プログラムのアドレスが処理順序および各処理プロ
グラムのある要素に従ってアレーまたは処理制御リスト
に記憶されている。アレーはまた各処理プログラム用の
状態インジケータを包含している。これらの状態は、レ
ディ(準DI)状態2データのための待機状態、Ilo
のための待機状態、ルームのための待機状態がある。ア
レーはまた。データリングの空き(empty)または
満杯(full)などの事象を待機していることを生成
することに基づいて停止された処理プログラムのある位
置において待機している処理を開始させることを可能に
するステップ番号を有している。これはサブルーチンの
ための可変エントリポイントのように作用(機能)して
いる。処理プログラムが実行される順序は第4図、第1
4図、第16図および第17図に示されており、たとえ
ば、ソースデイレクトリサーチ処理プログラム280は
処理番号3であり、この処理番号は、処理番号がゼロか
ら始まるので処理番号アレー内の4番目にあるこの処理
は2実行順序が4であることを示している。この処理番
号はまた処理プログラムのためのポインタの優先番号で
あり、高い番号は優先順位が高いことを示しており、ラ
イト処理プログラムが高い優先順位を持っているという
処理番号からも明らかである。
グラムのある要素に従ってアレーまたは処理制御リスト
に記憶されている。アレーはまた各処理プログラム用の
状態インジケータを包含している。これらの状態は、レ
ディ(準DI)状態2データのための待機状態、Ilo
のための待機状態、ルームのための待機状態がある。ア
レーはまた。データリングの空き(empty)または
満杯(full)などの事象を待機していることを生成
することに基づいて停止された処理プログラムのある位
置において待機している処理を開始させることを可能に
するステップ番号を有している。これはサブルーチンの
ための可変エントリポイントのように作用(機能)して
いる。処理プログラムが実行される順序は第4図、第1
4図、第16図および第17図に示されており、たとえ
ば、ソースデイレクトリサーチ処理プログラム280は
処理番号3であり、この処理番号は、処理番号がゼロか
ら始まるので処理番号アレー内の4番目にあるこの処理
は2実行順序が4であることを示している。この処理番
号はまた処理プログラムのためのポインタの優先番号で
あり、高い番号は優先順位が高いことを示しており、ラ
イト処理プログラムが高い優先順位を持っているという
処理番号からも明らかである。
ステップ402において、転送システム36はソースお
よびディストネーションディスクのファイル形式を決定
するために必要なそれらの処理ををレディ状態にセット
する。この初期段階においてレディ状態にセットする処
理プログラムは、バッファ制御処理プログラム102.
ソースブロンクリート処理プログラム274.ディスト
ネーションブロック・ライト処理プログラム300およ
びユーザーインターフェース処理プログラム100であ
る。ユーザーがファイルフォーマットを問い合わせられ
る簡単なバージョンが採用されるとこのとは単にユーザ
ーインターフェース処理プログラム100をレディ状態
にセットすることである。これらの処理プログラムが単
なるレディ状態にセットする処理プログラムであるから
、処理制御ルーチン398のループを介した最初のバス
を通じて、単にこれらの処理プログラムが実行されるだ
けである。後者のプログラムが処理している間、ディス
ク形式に基づく適切な処理プログラムが起動される。も
しソースディスクが元々のディスクであると決定されホ
ストのファイルシステムを通してアクセスされると、ソ
ースファイルリード処理プログラム110およびソース
ファイル・ルックアップ処理プログラム104がレディ
状態にセットされ、ディストネーションディスクが異種
のフォーマットディスクの場合ディストネーション・デ
ィレクトリ作成処理プログラム282、ディストネーシ
ョン・ロケーション処理プログラム284.ヘッダ作成
処理プログラム286およびディストネーションブロッ
ク・ライト処理プログラム300が起動される。
よびディストネーションディスクのファイル形式を決定
するために必要なそれらの処理ををレディ状態にセット
する。この初期段階においてレディ状態にセットする処
理プログラムは、バッファ制御処理プログラム102.
ソースブロンクリート処理プログラム274.ディスト
ネーションブロック・ライト処理プログラム300およ
びユーザーインターフェース処理プログラム100であ
る。ユーザーがファイルフォーマットを問い合わせられ
る簡単なバージョンが採用されるとこのとは単にユーザ
ーインターフェース処理プログラム100をレディ状態
にセットすることである。これらの処理プログラムが単
なるレディ状態にセットする処理プログラムであるから
、処理制御ルーチン398のループを介した最初のバス
を通じて、単にこれらの処理プログラムが実行されるだ
けである。後者のプログラムが処理している間、ディス
ク形式に基づく適切な処理プログラムが起動される。も
しソースディスクが元々のディスクであると決定されホ
ストのファイルシステムを通してアクセスされると、ソ
ースファイルリード処理プログラム110およびソース
ファイル・ルックアップ処理プログラム104がレディ
状態にセットされ、ディストネーションディスクが異種
のフォーマットディスクの場合ディストネーション・デ
ィレクトリ作成処理プログラム282、ディストネーシ
ョン・ロケーション処理プログラム284.ヘッダ作成
処理プログラム286およびディストネーションブロッ
ク・ライト処理プログラム300が起動される。
ステップ404において、現在の処理プログラムが最初
の処理プログラムにセットされ、ループを介した第1の
バスにおいてはこの処理プログラムはユーザーインター
フェース処理プログラムlOOであろう。次いで、決定
ステップ406が行われ、現在の処理プログラムが実行
された(done)状態にあるか否かについての決定が
行われ、もし実行されていない場合、現在の処理プログ
ラムの状態が決定される(ステップ4IO)。上述した
ように、この処理は処理制御アレーをアクセスすること
により決定される。もし現在の処理プログラムがレディ
状態の場合(ステップ412)。
の処理プログラムにセットされ、ループを介した第1の
バスにおいてはこの処理プログラムはユーザーインター
フェース処理プログラムlOOであろう。次いで、決定
ステップ406が行われ、現在の処理プログラムが実行
された(done)状態にあるか否かについての決定が
行われ、もし実行されていない場合、現在の処理プログ
ラムの状態が決定される(ステップ4IO)。上述した
ように、この処理は処理制御アレーをアクセスすること
により決定される。もし現在の処理プログラムがレディ
状態の場合(ステップ412)。
ホストコンピュータ30のCPUが現在の処理プログラ
ムに対して割りつけられる(ステップ414)。もしレ
ディ状態でない場合、処理番号が進められ(ステップ4
16)、現在の処理番号が最後の処理番号よりも大きい
かどうかについての決定のためのテストが行われる(ス
テップ418)。もし大きくない場合、ループ処理は連
続する処理プログラムを起動するための処理を行う。も
し現在の処理番号が最後の処理番号より大きい場合(現
在の状況においては最も優先順位の高い番号が付けられ
ているものは処理13である)、ソースディスクの形式
が決定されているかどうかについての決定が行われる(
ステップ420)。−旦ソースディスク形式が決定され
ると、ソースディスクを読み出すために必要な処理プロ
グラムが起動される(ステップ422)。次いで、ディ
ストネーションディスクの形式が決定されているかどう
かについての決定が行われ(ステップ424)もし決定
されていれば、必要なディストネーション処理プログラ
ムが起動される(ステップ426)、もし全ての処理プ
ログラムが実行完了していない場合(ステップ42B)
、現在の処理番号が最初の処理番号にセットされ(ステ
ップ404)、処理実行制御ループが反復継続される。
ムに対して割りつけられる(ステップ414)。もしレ
ディ状態でない場合、処理番号が進められ(ステップ4
16)、現在の処理番号が最後の処理番号よりも大きい
かどうかについての決定のためのテストが行われる(ス
テップ418)。もし大きくない場合、ループ処理は連
続する処理プログラムを起動するための処理を行う。も
し現在の処理番号が最後の処理番号より大きい場合(現
在の状況においては最も優先順位の高い番号が付けられ
ているものは処理13である)、ソースディスクの形式
が決定されているかどうかについての決定が行われる(
ステップ420)。−旦ソースディスク形式が決定され
ると、ソースディスクを読み出すために必要な処理プロ
グラムが起動される(ステップ422)。次いで、ディ
ストネーションディスクの形式が決定されているかどう
かについての決定が行われ(ステップ424)もし決定
されていれば、必要なディストネーション処理プログラ
ムが起動される(ステップ426)、もし全ての処理プ
ログラムが実行完了していない場合(ステップ42B)
、現在の処理番号が最初の処理番号にセットされ(ステ
ップ404)、処理実行制御ループが反復継続される。
全ての処理プログラムが終了している場合、ソースディ
スクからディストネーションディスクへの完全な転送が
行われる。
スクからディストネーションディスクへの完全な転送が
行われる。
第19図はユーザーインターツース処理プログラム10
0を示すフローチャートである。ユーザーコマンドを解
析することにより、第19図に示したユーザーインター
フェース処理プログラム100が起動される。この解析
処理は従来から知られている処理であり、アクセスされ
るソースおよびディストネーションディスク装置および
ファイルを同定する。−旦ユーザーコマンドが解析され
ると、ソースディスクが必要かどうかについてのテスト
が行われる(ステップ442)。たとえばもしソースデ
ィスク装置とディストネーションディスク装置とがC0
PYコマンドについて異なる場合、たとえば、“A:′
と′E;“とのように異なる場合、ソースディスクが必
要となる。もし、コマンドがTYPEまたはDIRの場
合にはソースディスクがまた必要であり、コマンドがD
ELETEまたはM K [) I R(make a
directoryなど)の場合にはディストネーシ
ョンディスクが必要となる。ソースディスクが必要な場
合、上述したように、ソースディスクの形式が決定され
る(ステップ444)。ディストネーションディスクが
必要な場合、ディストネーションディスクについても同
じステップが行われる。この点について、もし簡単なバ
ージョンが採用された場合、ユーザーはディストネーシ
ョンおよびソースディスク形式を特定するために問い合
わせられる。ソースブロックリード処理プログラム27
4を実行することによってソースおよびディストネーシ
ョンディスクの形式の決定が行われ、ディストネーショ
ンブロック・ライト処理プログラム300.処理制御ル
ーチン398.バッファ制御処理プログラム102.お
よび、ユーザーインターツース処理プログラムlOOが
処理を行う。ユーザーインターツース処理プログラム1
00がステップ444に到達しソースディスクの形式を
決定することを試みるが、適切な情報がまだディスクか
ら読み出されでていないので、そうすることは出来ない
。したがって、ユーザーインターツース処理プログラム
100は待機状態に入り、制御を、明らかにソースブロ
ックリード処理プログラム274に制御を移す第18図
に示す処理制御ルーチン398に移す。ソースブロック
リード処理プログラム274はディスクの形式を決定す
るのに必要な情報を読みだし、処理制御ルーチン398
を介してユーザーインターツース処理プログラム100
に制御を移し、再びユーザーインターツース処理プログ
ラム100の処理が繰り返される。再び起動されると、
ユーザーインターツース処理プログラムlOOはソース
ディスクの形式を決定する。処理の相互関係から明らか
なように、ソースおよびディストネーションディスクの
形式がレディ状態にセットされるか起動されるかに適切
な処理の前に、処理制御ルーチン398を介した複数の
ループ処理が行われる。充分な情報が提供されると。
0を示すフローチャートである。ユーザーコマンドを解
析することにより、第19図に示したユーザーインター
フェース処理プログラム100が起動される。この解析
処理は従来から知られている処理であり、アクセスされ
るソースおよびディストネーションディスク装置および
ファイルを同定する。−旦ユーザーコマンドが解析され
ると、ソースディスクが必要かどうかについてのテスト
が行われる(ステップ442)。たとえばもしソースデ
ィスク装置とディストネーションディスク装置とがC0
PYコマンドについて異なる場合、たとえば、“A:′
と′E;“とのように異なる場合、ソースディスクが必
要となる。もし、コマンドがTYPEまたはDIRの場
合にはソースディスクがまた必要であり、コマンドがD
ELETEまたはM K [) I R(make a
directoryなど)の場合にはディストネーシ
ョンディスクが必要となる。ソースディスクが必要な場
合、上述したように、ソースディスクの形式が決定され
る(ステップ444)。ディストネーションディスクが
必要な場合、ディストネーションディスクについても同
じステップが行われる。この点について、もし簡単なバ
ージョンが採用された場合、ユーザーはディストネーシ
ョンおよびソースディスク形式を特定するために問い合
わせられる。ソースブロックリード処理プログラム27
4を実行することによってソースおよびディストネーシ
ョンディスクの形式の決定が行われ、ディストネーショ
ンブロック・ライト処理プログラム300.処理制御ル
ーチン398.バッファ制御処理プログラム102.お
よび、ユーザーインターツース処理プログラムlOOが
処理を行う。ユーザーインターツース処理プログラム1
00がステップ444に到達しソースディスクの形式を
決定することを試みるが、適切な情報がまだディスクか
ら読み出されでていないので、そうすることは出来ない
。したがって、ユーザーインターツース処理プログラム
100は待機状態に入り、制御を、明らかにソースブロ
ックリード処理プログラム274に制御を移す第18図
に示す処理制御ルーチン398に移す。ソースブロック
リード処理プログラム274はディスクの形式を決定す
るのに必要な情報を読みだし、処理制御ルーチン398
を介してユーザーインターツース処理プログラム100
に制御を移し、再びユーザーインターツース処理プログ
ラム100の処理が繰り返される。再び起動されると、
ユーザーインターツース処理プログラムlOOはソース
ディスクの形式を決定する。処理の相互関係から明らか
なように、ソースおよびディストネーションディスクの
形式がレディ状態にセットされるか起動されるかに適切
な処理の前に、処理制御ルーチン398を介した複数の
ループ処理が行われる。充分な情報が提供されると。
ユーザーインターツース処理プログラム100が、解析
されたコマンドおよびディスクの形式から第3図に示し
た動作記述データ構造60を初期化する。
されたコマンドおよびディスクの形式から第3図に示し
た動作記述データ構造60を初期化する。
第20図に図解したソースディレクトリ・サーチ処理プ
ログラム280が、ファイル記述2次元リスト108の
ための挿入ポインタを定義する処理を行うことによって
(ステップ460)開始される。ポインタ定義動作は、
ソースディレクトリ・サーチ処理プログラム280が挿
入に用いるリストポインタアレー内にポインタを指定す
る整数の値に戻すバッファ制御処理プログラム102へ
のコールを含んでいる。ファイル記述2次元リスト10
8用のポインタはディレクトリ作成移動順序ポインタま
たはディレクトリ構造ポインタとは反対の可変移動ポイ
ンタである。そのポインタは、可変移動が許可され、他
のいかなるポインタによっても続けられず、ファイル記
述2次元リスト108を通して自由に移動する。その理
由は、エントリをファイル記述2次元リスト108にフ
ァイル記述2次元リスト108を全体を通した可変のロ
ケーションに挿入するきに必要だからである。次にソー
スディレクトリ・サーチ処理プログラム280はソース
ディレクトリ・リング275のポインタを定義する(ス
テップ462)。この処理はまた。リングポインタアレ
ー内の定義が用いられるべきであることを示す整数を入
手するためバッファ制御処理プログラム102をコール
することを含んでいる。ソースディレクトリ・サーチ処
理プログラム280はそれから次のディレクトリイクス
テントを得ることによって処理される(ステップ464
)。これは、バッファ制御処理プログラム102が次の
ディレクトリエントリを提供し2 もしルートディレク
トリが1つのイクステントより大きい場合このループを
通した第1のバスにおいてルートディレクトリのための
第1のイクステントでありうる。もしルートディレクト
リが利用出来ない場合(ステップ466)、 ソースデ
ィレクトリ・サーチ処理プログラム280は待機状態に
入り、ディレクトリイクステントが提供されるまで待機
する。この待機状態はステップ番号が更新される前に処
理制御ルーチン398に実際に戻される。待機状態の間
、処理制御ルーチン398は他の処理プログラムを起動
し、明らかにイクステントがレディ状態になる。もし処
理プログラムが全てのディレクトリエントリの終わりに
到達すると、終了したものとしてフラグがたてられる。
ログラム280が、ファイル記述2次元リスト108の
ための挿入ポインタを定義する処理を行うことによって
(ステップ460)開始される。ポインタ定義動作は、
ソースディレクトリ・サーチ処理プログラム280が挿
入に用いるリストポインタアレー内にポインタを指定す
る整数の値に戻すバッファ制御処理プログラム102へ
のコールを含んでいる。ファイル記述2次元リスト10
8用のポインタはディレクトリ作成移動順序ポインタま
たはディレクトリ構造ポインタとは反対の可変移動ポイ
ンタである。そのポインタは、可変移動が許可され、他
のいかなるポインタによっても続けられず、ファイル記
述2次元リスト108を通して自由に移動する。その理
由は、エントリをファイル記述2次元リスト108にフ
ァイル記述2次元リスト108を全体を通した可変のロ
ケーションに挿入するきに必要だからである。次にソー
スディレクトリ・サーチ処理プログラム280はソース
ディレクトリ・リング275のポインタを定義する(ス
テップ462)。この処理はまた。リングポインタアレ
ー内の定義が用いられるべきであることを示す整数を入
手するためバッファ制御処理プログラム102をコール
することを含んでいる。ソースディレクトリ・サーチ処
理プログラム280はそれから次のディレクトリイクス
テントを得ることによって処理される(ステップ464
)。これは、バッファ制御処理プログラム102が次の
ディレクトリエントリを提供し2 もしルートディレク
トリが1つのイクステントより大きい場合このループを
通した第1のバスにおいてルートディレクトリのための
第1のイクステントでありうる。もしルートディレクト
リが利用出来ない場合(ステップ466)、 ソースデ
ィレクトリ・サーチ処理プログラム280は待機状態に
入り、ディレクトリイクステントが提供されるまで待機
する。この待機状態はステップ番号が更新される前に処
理制御ルーチン398に実際に戻される。待機状態の間
、処理制御ルーチン398は他の処理プログラムを起動
し、明らかにイクステントがレディ状態になる。もし処
理プログラムが全てのディレクトリエントリの終わりに
到達すると、終了したものとしてフラグがたてられる。
ディレクトリが利用可能な場合、バッファ制御処理プロ
グラム102は4イクステント、レングス、セグメント
番号およびイクステントのデータの始めに対するポイン
タを規定する情報に戻す。すなわち、バッファ制御処理
プログラム102は、実際のイクステントデータを指定
するイクステントレコードの定義に対するポインタに戻
す、次に、イクステントは、バッファ制御処理プログラ
ム102を用いたハンドシェーク処理を用いて新しいデ
ィレクトリに遭遇しているかどうかを決定するために検
査される(ステップ470)。
グラム102は4イクステント、レングス、セグメント
番号およびイクステントのデータの始めに対するポイン
タを規定する情報に戻す。すなわち、バッファ制御処理
プログラム102は、実際のイクステントデータを指定
するイクステントレコードの定義に対するポインタに戻
す、次に、イクステントは、バッファ制御処理プログラ
ム102を用いたハンドシェーク処理を用いて新しいデ
ィレクトリに遭遇しているかどうかを決定するために検
査される(ステップ470)。
もし遭遇していれば、ソースディレクトリ・サーチ処理
プログラム280は、ディレクトリを挿入する処理プロ
グラムが完了していることを示す(ステップ472)。
プログラム280は、ディレクトリを挿入する処理プロ
グラムが完了していることを示す(ステップ472)。
このバッファ制御処理プログラム102を用いたハンド
シェーク処理は、なんらかの分類処理が今完了したので
以下のポインタがディレクトリのためのエントリに対し
て今進められることをバッファ制御処理プログラム10
2に知らせる。そこで、ソースディスクの形式に基づく
ファイルシステム特定化ルーチンをコールする。ディレ
クトリエントリが人手される(ステップ474)。この
ルーチンは、ディレクトリバッファのアドレスおよびそ
のバッファに対するオフセットが与えられ1次のエント
リに対してオフセットを更新し、もしそれ以上のエント
リがバッファにおいて利用可能でない場合、待機状態に
戻りもし次のエントリがディレクトリの終わりを示して
いる場合終了に戻る。もしこれがそのイクステントにお
いて新しいエントリでない場合には次のエントリが得ら
れる(ステップ464)、もし新しいエントリがイクス
テントにあれば、エントリがその処理のために必要かど
うかについての決定が行われる(ステップ478)。エ
ントリがユーザー仕様に一致しエントリがファイルであ
るかユーザーが全体のディレクトリツリーの処理を要求
しておりエントリがサブディレクトリ用であるとき、エ
ントリが処理のために必要である。処理のためにエント
リが必要なとき1分類か要求されている場合には、エン
トリはアルファベントの順序でファイル記述2次元リス
ト108に挿入される(ステップ480)。このことは
、バッファ制御処理プログラム102のコールによって
遂行される。分類が要求されていないとき、バッファ制
御処理プログラム102は、最後の挿入のためにファイ
ル記述2次元リス)108にルームが存在しないことを
示す状態にインジケータを戻し。
シェーク処理は、なんらかの分類処理が今完了したので
以下のポインタがディレクトリのためのエントリに対し
て今進められることをバッファ制御処理プログラム10
2に知らせる。そこで、ソースディスクの形式に基づく
ファイルシステム特定化ルーチンをコールする。ディレ
クトリエントリが人手される(ステップ474)。この
ルーチンは、ディレクトリバッファのアドレスおよびそ
のバッファに対するオフセットが与えられ1次のエント
リに対してオフセットを更新し、もしそれ以上のエント
リがバッファにおいて利用可能でない場合、待機状態に
戻りもし次のエントリがディレクトリの終わりを示して
いる場合終了に戻る。もしこれがそのイクステントにお
いて新しいエントリでない場合には次のエントリが得ら
れる(ステップ464)、もし新しいエントリがイクス
テントにあれば、エントリがその処理のために必要かど
うかについての決定が行われる(ステップ478)。エ
ントリがユーザー仕様に一致しエントリがファイルであ
るかユーザーが全体のディレクトリツリーの処理を要求
しておりエントリがサブディレクトリ用であるとき、エ
ントリが処理のために必要である。処理のためにエント
リが必要なとき1分類か要求されている場合には、エン
トリはアルファベントの順序でファイル記述2次元リス
ト108に挿入される(ステップ480)。このことは
、バッファ制御処理プログラム102のコールによって
遂行される。分類が要求されていないとき、バッファ制
御処理プログラム102は、最後の挿入のためにファイ
ル記述2次元リス)108にルームが存在しないことを
示す状態にインジケータを戻し。
ソースディレクトリ・サーチ処理プログラム280は利
用可能になるまでファイル記述2次元リスト108のス
ペースのために待機する(スペース、184 )。しか
しながら1分類が要求されているときには、ファイル記
述2次元リスト108の全体が同時にメモリに一致して
いなければならずそして、ルームが存在しないので、エ
ラー状態が存在し、ユーザーは小さい組みのファイルを
特定するために問い合わ゛せられなければならない。繰
り返すと5本発明において発生するたの全ての待機状態
において、これはユーザーインターツース処理プログラ
ム100に対する転送を含み、ステップ番号が記憶され
た後他の処理が実行できるようにしている。−旦エント
リが挿入されると、制御は8記憶されたステップ番号を
用いて他の待機状態リターンが行われたように、ステッ
プ470に戻る。
用可能になるまでファイル記述2次元リスト108のス
ペースのために待機する(スペース、184 )。しか
しながら1分類が要求されているときには、ファイル記
述2次元リスト108の全体が同時にメモリに一致して
いなければならずそして、ルームが存在しないので、エ
ラー状態が存在し、ユーザーは小さい組みのファイルを
特定するために問い合わ゛せられなければならない。繰
り返すと5本発明において発生するたの全ての待機状態
において、これはユーザーインターツース処理プログラ
ム100に対する転送を含み、ステップ番号が記憶され
た後他の処理が実行できるようにしている。−旦エント
リが挿入されると、制御は8記憶されたステップ番号を
用いて他の待機状態リターンが行われたように、ステッ
プ470に戻る。
ソースロケーション処理プログラム278およびディス
トネーション・ロケーション処理プログラム284の処
理内容が第21図に図解されている。この処理プログラ
ム5 ソースロケーション処理プログラム278/デイ
ストネーシヨン・ロケーション処理プログラム284は
8次に処理されるべきノード158の整数を要求するバ
ッファ制御処理プログラム102をコールするものであ
るファイル記述2次元リスト108内のポインタを規定
するステップ490から開始する。この処理のためのポ
インタはディレクトリ形成順序にしたがってファイル記
述2次元リスト10Bを介して移動する。ファイル記述
2次元リス)108を通してソースロケーションポイン
タが移動するときディスクの各形式がソースディスク内
に見出されなければならないから、その移動はファイル
およびディレクトリで停止するが、ディストネーション
・ロケーションポインタが移動するとき、その移動はフ
ァイル記述2次元リスト108内のファイルノードをス
キ・ンブし、ディレクトリのみがディストネーションデ
ィスクから読み出されなければならないのでディレクト
リにおいてのみ停止する。そのルーチンは、ソースディ
スクまたはディストネーションディスクに目標のエント
リを配置するファイルシステム特定化ルーチンのアドレ
スをロードする(ステップ492)。それから。
トネーション・ロケーション処理プログラム284の処
理内容が第21図に図解されている。この処理プログラ
ム5 ソースロケーション処理プログラム278/デイ
ストネーシヨン・ロケーション処理プログラム284は
8次に処理されるべきノード158の整数を要求するバ
ッファ制御処理プログラム102をコールするものであ
るファイル記述2次元リスト108内のポインタを規定
するステップ490から開始する。この処理のためのポ
インタはディレクトリ形成順序にしたがってファイル記
述2次元リスト10Bを介して移動する。ファイル記述
2次元リス)108を通してソースロケーションポイン
タが移動するときディスクの各形式がソースディスク内
に見出されなければならないから、その移動はファイル
およびディレクトリで停止するが、ディストネーション
・ロケーションポインタが移動するとき、その移動はフ
ァイル記述2次元リスト108内のファイルノードをス
キ・ンブし、ディレクトリのみがディストネーションデ
ィスクから読み出されなければならないのでディレクト
リにおいてのみ停止する。そのルーチンは、ソースディ
スクまたはディストネーションディスクに目標のエント
リを配置するファイルシステム特定化ルーチンのアドレ
スをロードする(ステップ492)。それから。
ファイル記述ポインタがファイル記述2次元リス1−1
08内のルートまで進められる(ステップ494)。こ
れはバッファ制御処理プログラム102に対するコール
である。さらに第21図の処理プログラムは、待機状態
が生ずるかそのルーチンが行われるまでロケーション動
作を継続するメインループに入る。そのループの最初の
ステップは、次のファイルまたは次のディレクトリに対
するファイル記述2次元リスト108用のりストポイン
タを進めることである(ステップ496)、この要求は
、バッファ制御処理プログラム102で整数のポインタ
番号を入手させ、ある状態(レディ状態、データをアウ
エイテング状態(awaiting)する状態、終了状
態)に戻る。もし戻った状態が「レディ状態」の場合に
は、バッファ制御処理プログラム102はまた次のりス
トエントリ(に対するポインタ)のアドレスに戻る。(
もし次のリングのアドレスを有している場合にはイクス
テントが戻される。) ソースロケーションポインタがディレクトリおよびファ
イルの両者にわたって進められ(それらで停止され)、
そして、ファイル記述2次元リスト108を通して最初
に順序づけされた(移動が可変ではない)ポインタであ
る。ディストネーション・ロケーションポインタがその
ディレクトリにわたって進められ、リストエントリをデ
ィストネーションディレクトリ・リングに挿入するディ
レクトリ作成ボインクに続けられる。ディレクトリの作
成処理がロケーション情報を入手するために必要な情報
を有するディストネーションディレクトリから情報を得
るから、ディストネーション・ロケーションポインタが
ディレクトリ形成ポインタに続けられることが要求され
る。ソースロケーションポインタがブロックリードポイ
ンタおよびブロックレディポインタに続けられる。ディ
ストネーション・ロケーションポインタがブロックライ
トポインタに続けられる。
08内のルートまで進められる(ステップ494)。こ
れはバッファ制御処理プログラム102に対するコール
である。さらに第21図の処理プログラムは、待機状態
が生ずるかそのルーチンが行われるまでロケーション動
作を継続するメインループに入る。そのループの最初の
ステップは、次のファイルまたは次のディレクトリに対
するファイル記述2次元リスト108用のりストポイン
タを進めることである(ステップ496)、この要求は
、バッファ制御処理プログラム102で整数のポインタ
番号を入手させ、ある状態(レディ状態、データをアウ
エイテング状態(awaiting)する状態、終了状
態)に戻る。もし戻った状態が「レディ状態」の場合に
は、バッファ制御処理プログラム102はまた次のりス
トエントリ(に対するポインタ)のアドレスに戻る。(
もし次のリングのアドレスを有している場合にはイクス
テントが戻される。) ソースロケーションポインタがディレクトリおよびファ
イルの両者にわたって進められ(それらで停止され)、
そして、ファイル記述2次元リスト108を通して最初
に順序づけされた(移動が可変ではない)ポインタであ
る。ディストネーション・ロケーションポインタがその
ディレクトリにわたって進められ、リストエントリをデ
ィストネーションディレクトリ・リングに挿入するディ
レクトリ作成ボインクに続けられる。ディレクトリの作
成処理がロケーション情報を入手するために必要な情報
を有するディストネーションディレクトリから情報を得
るから、ディストネーション・ロケーションポインタが
ディレクトリ形成ポインタに続けられることが要求され
る。ソースロケーションポインタがブロックリードポイ
ンタおよびブロックレディポインタに続けられる。ディ
ストネーション・ロケーションポインタがブロックライ
トポインタに続けられる。
もしエントリが利用可能でない場合(ステップ498)
、その処理プログラムはファイル記述2次元リスト10
8内のエントリが利用可能になるまで待機する(ステッ
プ500)。もしエントリが利用可能な場合、その処理
プログラムはウィンドー290の適切な位置から要求さ
れる情報を配置するためのビューを人手する。これは、
必要なインデックスファイルの部分を特定しファイル・
アロケーションテーブル内のワードを指示するDO3内
のクラスタ番号を特定するため、VMSヘッダ番号を用
いて適切なウィンドー区分から情報を要求するバッファ
制御処理プログラム102をコールすることである。も
う−度バッファ制御処理プログラム102が、ポインタ
または情報を配置することがレディ状態でない指示に戻
る。もし情報を配置することがレディ状態でない場合、
この処理プログラムは待機状態に入り(ステップ506
)、情報を配置することを待つ。処理制御ルーチン39
8によってこの処理プログラム278/284が再びコ
ールされると、待機状態(ステップ506)の前に記憶
されているステップ番号が用いられてすくにステップ5
02に移動させられる。ロケーション情報がレディ状態
のとき(ステップ508)、ファイルロケーシッン情報
またはディレクトリロケーション情報が共通のメモリフ
ォーマントに読み込まれ(ステップ508)。
、その処理プログラムはファイル記述2次元リスト10
8内のエントリが利用可能になるまで待機する(ステッ
プ500)。もしエントリが利用可能な場合、その処理
プログラムはウィンドー290の適切な位置から要求さ
れる情報を配置するためのビューを人手する。これは、
必要なインデックスファイルの部分を特定しファイル・
アロケーションテーブル内のワードを指示するDO3内
のクラスタ番号を特定するため、VMSヘッダ番号を用
いて適切なウィンドー区分から情報を要求するバッファ
制御処理プログラム102をコールすることである。も
う−度バッファ制御処理プログラム102が、ポインタ
または情報を配置することがレディ状態でない指示に戻
る。もし情報を配置することがレディ状態でない場合、
この処理プログラムは待機状態に入り(ステップ506
)、情報を配置することを待つ。処理制御ルーチン39
8によってこの処理プログラム278/284が再びコ
ールされると、待機状態(ステップ506)の前に記憶
されているステップ番号が用いられてすくにステップ5
02に移動させられる。ロケーション情報がレディ状態
のとき(ステップ508)、ファイルロケーシッン情報
またはディレクトリロケーション情報が共通のメモリフ
ォーマントに読み込まれ(ステップ508)。
整数のディストネーションによって予め提供されたリス
トポインタを用いてファイル記述2次元リスト108に
記憶される。
トポインタを用いてファイル記述2次元リスト108に
記憶される。
(以下余白)
第22図に図解したソースブロックリード処理プログラ
ム274は、装置情報を入手する処理段階(ステップ5
20)から始まる。すなわち、ユーザー仕様によって特
定された装置がランダムアクセスかどうか、それらの装
置がディスク装置であるかのチエツクが行われる。この
処理段階および次の3つの処理段階は最初の時点で実行
され。
ム274は、装置情報を入手する処理段階(ステップ5
20)から始まる。すなわち、ユーザー仕様によって特
定された装置がランダムアクセスかどうか、それらの装
置がディスク装置であるかのチエツクが行われる。この
処理段階および次の3つの処理段階は最初の時点で実行
され。
この処理プログラムが起動され、そして、ディスクの形
式が異種であるかどうかに関わらず「処理終了」として
復帰する。次にユーザーはディスクが搭載されるべきこ
とが必要かどうかについて質問され(ステップ522)
、もし必要な場合装置が搭載され(ステップ524)、
そうでない場合には処理は停止する。次にソースディス
クの形式を決定するのに必要なソースディスクの情報ブ
ロックが読み出される(ステップ526)。この時点で
、ディスクの形式が異種かどうかについての決定が行わ
れる(ステップ528)。もしディスクの形式が異種で
ない場合にはソースブロックリード処理プログラム27
4は再び実行される必要がなく、その処理が終了したこ
とを示してその処理ルーチンから出る。もしディスクの
形式か異種の場合には、ファイルシステム・ロケーショ
ン情報が読み出される(ステップ530)、このロケー
ション情報は、ディスクの形式(VMSホームブロック
またはDO3BIOSパラメータブロック)を決定する
ために用いられるディスクの最初の1024バイトであ
る。DO3BIOSパラメータブロックは、ファイル・
アロケーションテーブルおよびルートディレクトリの配
置を決定するために用いられる。VMSホームブロック
はヘッダファイルのロケーションおよびファイル内の第
4のヘッダを特定しルートディレクトリ内のロケーショ
ンを同定する第1のヘッダを入手するために用いられる
。次に、エントリのロケーションを決定するためにソー
スロケーション処理プログラム278が用いるルートお
よびビットマツプがロードされる(ステップ532)。
式が異種であるかどうかに関わらず「処理終了」として
復帰する。次にユーザーはディスクが搭載されるべきこ
とが必要かどうかについて質問され(ステップ522)
、もし必要な場合装置が搭載され(ステップ524)、
そうでない場合には処理は停止する。次にソースディス
クの形式を決定するのに必要なソースディスクの情報ブ
ロックが読み出される(ステップ526)。この時点で
、ディスクの形式が異種かどうかについての決定が行わ
れる(ステップ528)。もしディスクの形式が異種で
ない場合にはソースブロックリード処理プログラム27
4は再び実行される必要がなく、その処理が終了したこ
とを示してその処理ルーチンから出る。もしディスクの
形式か異種の場合には、ファイルシステム・ロケーショ
ン情報が読み出される(ステップ530)、このロケー
ション情報は、ディスクの形式(VMSホームブロック
またはDO3BIOSパラメータブロック)を決定する
ために用いられるディスクの最初の1024バイトであ
る。DO3BIOSパラメータブロックは、ファイル・
アロケーションテーブルおよびルートディレクトリの配
置を決定するために用いられる。VMSホームブロック
はヘッダファイルのロケーションおよびファイル内の第
4のヘッダを特定しルートディレクトリ内のロケーショ
ンを同定する第1のヘッダを入手するために用いられる
。次に、エントリのロケーションを決定するためにソー
スロケーション処理プログラム278が用いるルートお
よびビットマツプがロードされる(ステップ532)。
後でソースブロックリード処理プログラム274がコー
ルされると、この処理はループ処理に入り、そのループ
内で、ディレクトリ、ファイルおよびヘッダがロードさ
れている間可能なかぎり、そして必要なかぎり実行され
る。
ルされると、この処理はループ処理に入り、そのループ
内で、ディレクトリ、ファイルおよびヘッダがロードさ
れている間可能なかぎり、そして必要なかぎり実行され
る。
ループの第1のブロックの処理の間、ファイル記述2次
元リスト108内のソースディレクトリが読み出され(
ステップ534)、 ソースディレクトリ・リング27
5に記憶されるが、これについては第23図を参照して
詳細に後述する。もしこの処理の間にファイル記述2次
元リスト108のディレクトリのリストの終わりになる
と、この処理プログラム274は次のステップの処理に
移るかまたはルームのための待機状態になる。しかしな
がら、もしI10待機状態に遭遇すると、このソースブ
ロックリード処理プログラム274は現在のステップで
待機しくステップ536)、処理制御ルーチン398に
戻る。次に、ソースブロックリード処理274プログラ
ムは、第23図に関連づけて述べるように、I10待機
状態に遭遇するまで、または、ルーム空き待ちのために
次のステップに移動するまで、ソースファイルデータ・
リング112にできるだけ多くのファイル記述2次元リ
スト108に列挙されたソースファイルを読み込む(ス
テップ538)、それから、ソースブロックリード処理
プログラム274は、I10待機が必要になるまで(ス
テップ544)、または、ウィンドー内により多くのル
ームが必要なので次のステップへの移動が必要になるま
で、ファイル記述2次元リスト108のファイルのイン
デックスおよびディレクトリをソースロケーション・ウ
インドー、272に読み込む(ステップ542)。ヘッ
ダ(インデックス)の読み込み動作については第24図
を参照して詳細に後述する。
元リスト108内のソースディレクトリが読み出され(
ステップ534)、 ソースディレクトリ・リング27
5に記憶されるが、これについては第23図を参照して
詳細に後述する。もしこの処理の間にファイル記述2次
元リスト108のディレクトリのリストの終わりになる
と、この処理プログラム274は次のステップの処理に
移るかまたはルームのための待機状態になる。しかしな
がら、もしI10待機状態に遭遇すると、このソースブ
ロックリード処理プログラム274は現在のステップで
待機しくステップ536)、処理制御ルーチン398に
戻る。次に、ソースブロックリード処理274プログラ
ムは、第23図に関連づけて述べるように、I10待機
状態に遭遇するまで、または、ルーム空き待ちのために
次のステップに移動するまで、ソースファイルデータ・
リング112にできるだけ多くのファイル記述2次元リ
スト108に列挙されたソースファイルを読み込む(ス
テップ538)、それから、ソースブロックリード処理
プログラム274は、I10待機が必要になるまで(ス
テップ544)、または、ウィンドー内により多くのル
ームが必要なので次のステップへの移動が必要になるま
で、ファイル記述2次元リスト108のファイルのイン
デックスおよびディレクトリをソースロケーション・ウ
インドー、272に読み込む(ステップ542)。ヘッ
ダ(インデックス)の読み込み動作については第24図
を参照して詳細に後述する。
全ての読み込みが行われなかった場合、すなわち。
ファイル記述2次元リスト108の最後に到達しなかっ
た場合には、ソースブロックリード処理プログラム27
4はより多くのデータを読み込むために待機するか、フ
ァイル記述2次元リスト108内により多くのルームが
できるまで待機する(ステップ548)。この待機状態
からの復帰は。
た場合には、ソースブロックリード処理プログラム27
4はより多くのデータを読み込むために待機するか、フ
ァイル記述2次元リスト108内により多くのルームが
できるまで待機する(ステップ548)。この待機状態
からの復帰は。
制御が処理制御ルーチン398に転送される前に記憶さ
れたステップ番号を用いて予め実行されたステップ53
4,538および542内のステップに戻る。全てのフ
ァイル読みだしが完了したとき、この処理プログラム2
74は、ユーザー仕様内に特定されたファイルの終わり
に到達しており、状態が終了してものとしてセットされ
る。
れたステップ番号を用いて予め実行されたステップ53
4,538および542内のステップに戻る。全てのフ
ァイル読みだしが完了したとき、この処理プログラム2
74は、ユーザー仕様内に特定されたファイルの終わり
に到達しており、状態が終了してものとしてセットされ
る。
適切なリングへのディレクトリのブロックリード処理プ
ログラム534およびファイルのブロックリードプログ
ラム538が第23図に図解したものと同じ処理方法に
よって行われる。この処理プログラムはまた。ディスト
ネーションディスク304のディレクトリがディストネ
ーシゴンDIR−INリング292に読み込まれるのに
必要なとき、ディストネーションブロック・ライトプロ
グラム処理300によって実行される。この処理プログ
ラムは、ソースディレクトリ、ファイルディレクトリま
たはディストネーションディレクトリがローカル処理ア
レー内の対応するポインタを用いることが必要とされる
かどうかを維持し続ける。このアレー内のインデックス
が現在のステップによって決定される。この処理プログ
ラムは。
ログラム534およびファイルのブロックリードプログ
ラム538が第23図に図解したものと同じ処理方法に
よって行われる。この処理プログラムはまた。ディスト
ネーションディスク304のディレクトリがディストネ
ーシゴンDIR−INリング292に読み込まれるのに
必要なとき、ディストネーションブロック・ライトプロ
グラム処理300によって実行される。この処理プログ
ラムは、ソースディレクトリ、ファイルディレクトリま
たはディストネーションディレクトリがローカル処理ア
レー内の対応するポインタを用いることが必要とされる
かどうかを維持し続ける。このアレー内のインデックス
が現在のステップによって決定される。この処理プログ
ラムは。
エントリを次のファイル記述2次元リスト108に進め
、読み込まれるブロックロケーションイクステントが存
在する限り、それらをメモリに読み込む。最後のブロッ
クロケーションイクステントが読み出されると、この処
理プログラムはファイル記述2次元リスト108内の次
のエントリに進める。ソースブロックリード処理プログ
ラム274による最初のステップは、リングイクステン
トが適切なリング112または275内に割りつけられ
ているか否かを決定するものである(ステップ560)
。もし割りつけられていない場合、利用可能なイクステ
ントに対して本質的に適切なポインタを要求するバッフ
ァ制御処理プログラムlO2のコールである次のイクス
テントにリングポインタを進める(ステップ562)。
、読み込まれるブロックロケーションイクステントが存
在する限り、それらをメモリに読み込む。最後のブロッ
クロケーションイクステントが読み出されると、この処
理プログラムはファイル記述2次元リスト108内の次
のエントリに進める。ソースブロックリード処理プログ
ラム274による最初のステップは、リングイクステン
トが適切なリング112または275内に割りつけられ
ているか否かを決定するものである(ステップ560)
。もし割りつけられていない場合、利用可能なイクステ
ントに対して本質的に適切なポインタを要求するバッフ
ァ制御処理プログラムlO2のコールである次のイクス
テントにリングポインタを進める(ステップ562)。
リードファイルポインタは、そのリングを通して最初の
ポインタであり、リングからデータを抽出するために用
いられる処理ポインタに続けられる。ソースディレクト
リに関してはそのポインタはソースサーチポインタであ
り、ソースデータリングに関してはそのポインタは翻訳
ポインタであるかブロックライトポインタであり、ディ
ストネーションディレクトリ・リングに関しては次のポ
インタはディレクトリ作成処理ポインタである。最初の
ポインタはバッファ制御ポインタである最後のポインタ
の前に入手してはならない。もしリングイクステントが
レディ状態でない場合には(ステップ564)、待機状
態となる(ステップ566)。次に第10A図に図解し
たブロック・ロケーションレコード203のフィールド
を検査することによりファイル・ロケーションイクステ
ントが利用可能か否かについての検査が行われる(ステ
ップ56日)。もし利用可能でない場合、バッファ制御
処理プログラム102に対する他のコールを行うことに
よってファイル記述ポインタが進められる(ステップ5
70)、再び、ポインタの番号またはポインタが進めら
れるかどうかの指示に戻る。次に処理は、イクステント
レングス204とセグメントレングス23Gとを比較す
ることにより、適切なものとしファイルまたはディレク
トリ用の対応するリングセグメント内にルームが存在す
るかどうかについて決定する(ステップ576)。もし
存在しない場合、再びバッファ制御処理プログラム10
2をコールすることにより新しいリングセグメントが割
りつけられる(ステップ578)。バッファ制御処理プ
ログラム102は状態フィールド225を用いて最初の
自由なセグメントを捜し出し、自由なセグメントを割り
つけるが、そうでない場合には、利用可能でない指示に
戻されこのステップで待機状態となる。それから、この
処理プログラムは、イクステントレングス204とセグ
メントレングス236とを比較することによりどれだけ
の大きさのファイルブロック・ロケーションイクステン
トが読み込めるかを決定しくステップ584)、待機し
ながら(ステップ590)データの適切な部分を読み込
む(ステップ586)。ステップ586における読み込
み動作は、第49図を参照して詳述する絶対読み込み(
absolute read)を従来方式でコールする
ものである。−旦、データが読み込まれ、適切なリング
の適切なイクステントに記憶される(ステップ592)
。この更新処理は、リング内に新しく記憶されたデータ
量をそのリングのセグメント内で利用可能な全部のスペ
ースを減算することを含む。もしフィールド250をチ
エツクすることによって決定される全部のプロックイク
ステントが読み込まれると(ステップ594)、 この
処理プログラムは、第10A図の次のブロック・ロケー
ションレコード203に対するポインタ210が続けら
れる次のファイルブロック・ロケーションイクステント
に進める。ただし、各ブロック・ロケーションレコード
203は1つのイクステントに応答する。それからこの
処理プログラムは、データを読み込む処理を継続するた
めにループバックする第24図は第22図のステップ5
42のヘッダ(インデックス)のブロック読み込みを図
解している。第24図のヘッダのブロックリード処理プ
ログラム542はディストネーションブロック・ライト
プログラム処理300によっても用いられヘッダが必要
な場合ヘッダをディストネーション・ロケーション・ウ
ィンドー290にロードする。このルーチンは、ユーザ
ーによって特定されたファイルまたはファイルを合併す
るために必要なファイルのためのロケーション情報(本
質的にファイルヘッダまたはインデックス)をロードす
るためにコールされる。VMSにおいてこの情報はヘッ
ダであり、UNIXにおいてこの情報はl−N0DBS
であり、DO3においてこの情報はファイルアロケーシ
ョンテーブルである。ヘッダは、適切なソースロケーシ
ョンまたはソースロケーションポインター276および
290に記憶される。最初に、このブロックリード処理
プログラム542は1 ピークアヘッド・バリアプル値
NをIにセットすることである(ステップ610)。
ポインタであり、リングからデータを抽出するために用
いられる処理ポインタに続けられる。ソースディレクト
リに関してはそのポインタはソースサーチポインタであ
り、ソースデータリングに関してはそのポインタは翻訳
ポインタであるかブロックライトポインタであり、ディ
ストネーションディレクトリ・リングに関しては次のポ
インタはディレクトリ作成処理ポインタである。最初の
ポインタはバッファ制御ポインタである最後のポインタ
の前に入手してはならない。もしリングイクステントが
レディ状態でない場合には(ステップ564)、待機状
態となる(ステップ566)。次に第10A図に図解し
たブロック・ロケーションレコード203のフィールド
を検査することによりファイル・ロケーションイクステ
ントが利用可能か否かについての検査が行われる(ステ
ップ56日)。もし利用可能でない場合、バッファ制御
処理プログラム102に対する他のコールを行うことに
よってファイル記述ポインタが進められる(ステップ5
70)、再び、ポインタの番号またはポインタが進めら
れるかどうかの指示に戻る。次に処理は、イクステント
レングス204とセグメントレングス23Gとを比較す
ることにより、適切なものとしファイルまたはディレク
トリ用の対応するリングセグメント内にルームが存在す
るかどうかについて決定する(ステップ576)。もし
存在しない場合、再びバッファ制御処理プログラム10
2をコールすることにより新しいリングセグメントが割
りつけられる(ステップ578)。バッファ制御処理プ
ログラム102は状態フィールド225を用いて最初の
自由なセグメントを捜し出し、自由なセグメントを割り
つけるが、そうでない場合には、利用可能でない指示に
戻されこのステップで待機状態となる。それから、この
処理プログラムは、イクステントレングス204とセグ
メントレングス236とを比較することによりどれだけ
の大きさのファイルブロック・ロケーションイクステン
トが読み込めるかを決定しくステップ584)、待機し
ながら(ステップ590)データの適切な部分を読み込
む(ステップ586)。ステップ586における読み込
み動作は、第49図を参照して詳述する絶対読み込み(
absolute read)を従来方式でコールする
ものである。−旦、データが読み込まれ、適切なリング
の適切なイクステントに記憶される(ステップ592)
。この更新処理は、リング内に新しく記憶されたデータ
量をそのリングのセグメント内で利用可能な全部のスペ
ースを減算することを含む。もしフィールド250をチ
エツクすることによって決定される全部のプロックイク
ステントが読み込まれると(ステップ594)、 この
処理プログラムは、第10A図の次のブロック・ロケー
ションレコード203に対するポインタ210が続けら
れる次のファイルブロック・ロケーションイクステント
に進める。ただし、各ブロック・ロケーションレコード
203は1つのイクステントに応答する。それからこの
処理プログラムは、データを読み込む処理を継続するた
めにループバックする第24図は第22図のステップ5
42のヘッダ(インデックス)のブロック読み込みを図
解している。第24図のヘッダのブロックリード処理プ
ログラム542はディストネーションブロック・ライト
プログラム処理300によっても用いられヘッダが必要
な場合ヘッダをディストネーション・ロケーション・ウ
ィンドー290にロードする。このルーチンは、ユーザ
ーによって特定されたファイルまたはファイルを合併す
るために必要なファイルのためのロケーション情報(本
質的にファイルヘッダまたはインデックス)をロードす
るためにコールされる。VMSにおいてこの情報はヘッ
ダであり、UNIXにおいてこの情報はl−N0DBS
であり、DO3においてこの情報はファイルアロケーシ
ョンテーブルである。ヘッダは、適切なソースロケーシ
ョンまたはソースロケーションポインター276および
290に記憶される。最初に、このブロックリード処理
プログラム542は1 ピークアヘッド・バリアプル値
NをIにセットすることである(ステップ610)。
このピークアヘッド・バリアプル値Nは、実施するに必
要なヘッダのブロックリードがファイル記述2次元リス
ト108のためのソースロケーションポインタに対して
どれだけ離れた前方にあるかを示すために用いられる。
要なヘッダのブロックリードがファイル記述2次元リス
ト108のためのソースロケーションポインタに対して
どれだけ離れた前方にあるかを示すために用いられる。
ブロックリード処理ルーfン542は、ロケーション処
理プログラムがファイル記述2次元リスト108内のポ
インタを進めていることを知っており、ブロックリード
処理ルーチン542はウィンドーに必要な情報をロード
することを試みる。このピークアヘッドは可変である。
理プログラムがファイル記述2次元リスト108内のポ
インタを進めていることを知っており、ブロックリード
処理ルーチン542はウィンドーに必要な情報をロード
することを試みる。このピークアヘッドは可変である。
その理由は、ソースデイレクトリサーチ処理プログラム
280がソースディレクトリ・リング275を検査して
おり、ロードされている任意のディレクトリのためにフ
ァイル記述2次元リスト10B内にエントリを生成して
いるからである。次に第24図のブロックリード処理ル
ーチン542は、エントリNの番号のためにファイル記
述2次元リスト108内にピークアヘッドする(ステッ
プ612)。ここで起こるバンファ制御ピークアヘッド
は、ロケーションポインタによって指定される現在のア
ドレスを保存するために用いられ、バッファ制御処理プ
ログラム102をコールしてポインタをN回進め、その
アドレスを元・の現在アドレスに復活させ、そのポイン
タは将来N回コールするために進められるアドレスに復
帰させる。ピークアヘッドは、ファイル記述リストノー
ド158のアドレスを入手するが、その処理は、ソース
およびディストネーション処理がそれらを入手するとき
行われ、そして、ピークアヘッドは、へンダをウィンド
ーにロードすべきことが必要か否かを決定するためにレ
コード外のヘッダフィールド内容を入手する。もしリス
トレコードがレディ状態でない場合(ステップ636)
、読み込むべき何らかのヘッダが存在するか否かについ
ての決定が行われ(ステップ636) 、 もし存在
する場合、この処理ルーチンはヘッダを読み込む(ステ
ップ630)。ウィンドーが現在使用すべきヘッダを有
しているので読み込むべきヘッダが存在しない場合、ま
たは、ピークアヘッドデータが利用可能でない場合、こ
の処理ルーチンはピークアヘッドによって指定されるフ
ァイル記述2次元リス)108内にエントリが利用可能
になるまで待機する(ステップ638)。レコードがレ
ディ状態の場合、ヘッダ番号197がソースディスフ2
70のブロック番号に変換され、ブロック・ロケーショ
ンレコード203に記憶される。次に、このヘッダが新
しいビュー内の最初のへ・ンダであるか否かの決定が行
われる(ステ・ンプ61B)。すなわち、ページング(
ページ割りつけ)処理において、ウィンドーのビューの
インデ・ンクス範囲が探し出されたヘッダの番号に対し
て比較され、もしその範囲内に存在しない場合にはその
ヘッダは新しいビューである。その場合にはデータビュ
ーが割りつけられ、最大範囲がセ・ントされる(ステッ
プ620)。データビューがレディ状態でない場合(ス
テップ622)、適切なウィンドーにおいて利用可能に
なるまで待機する(ステップ622)。そのビューのヘ
ッダおよびプロ・ツク番号が読み出しのために割りつけ
られた最初のヘッダおよびブロック番号と比較される。
280がソースディレクトリ・リング275を検査して
おり、ロードされている任意のディレクトリのためにフ
ァイル記述2次元リスト10B内にエントリを生成して
いるからである。次に第24図のブロックリード処理ル
ーチン542は、エントリNの番号のためにファイル記
述2次元リスト108内にピークアヘッドする(ステッ
プ612)。ここで起こるバンファ制御ピークアヘッド
は、ロケーションポインタによって指定される現在のア
ドレスを保存するために用いられ、バッファ制御処理プ
ログラム102をコールしてポインタをN回進め、その
アドレスを元・の現在アドレスに復活させ、そのポイン
タは将来N回コールするために進められるアドレスに復
帰させる。ピークアヘッドは、ファイル記述リストノー
ド158のアドレスを入手するが、その処理は、ソース
およびディストネーション処理がそれらを入手するとき
行われ、そして、ピークアヘッドは、へンダをウィンド
ーにロードすべきことが必要か否かを決定するためにレ
コード外のヘッダフィールド内容を入手する。もしリス
トレコードがレディ状態でない場合(ステップ636)
、読み込むべき何らかのヘッダが存在するか否かについ
ての決定が行われ(ステップ636) 、 もし存在
する場合、この処理ルーチンはヘッダを読み込む(ステ
ップ630)。ウィンドーが現在使用すべきヘッダを有
しているので読み込むべきヘッダが存在しない場合、ま
たは、ピークアヘッドデータが利用可能でない場合、こ
の処理ルーチンはピークアヘッドによって指定されるフ
ァイル記述2次元リス)108内にエントリが利用可能
になるまで待機する(ステップ638)。レコードがレ
ディ状態の場合、ヘッダ番号197がソースディスフ2
70のブロック番号に変換され、ブロック・ロケーショ
ンレコード203に記憶される。次に、このヘッダが新
しいビュー内の最初のへ・ンダであるか否かの決定が行
われる(ステ・ンプ61B)。すなわち、ページング(
ページ割りつけ)処理において、ウィンドーのビューの
インデ・ンクス範囲が探し出されたヘッダの番号に対し
て比較され、もしその範囲内に存在しない場合にはその
ヘッダは新しいビューである。その場合にはデータビュ
ーが割りつけられ、最大範囲がセ・ントされる(ステッ
プ620)。データビューがレディ状態でない場合(ス
テップ622)、適切なウィンドーにおいて利用可能に
なるまで待機する(ステップ622)。そのビューのヘ
ッダおよびプロ・ツク番号が読み出しのために割りつけ
られた最初のヘッダおよびブロック番号と比較される。
へ・ンダ番号とブロック番号とが同じでない場合、デー
タは連続していないので、新しいヘッダはウィンドーに
ロードするために割りつけられない。もしデータがディ
スク上に隣接している場合、そのへ、ンダのウィンドー
ビュー内にルームが存在するか否かについてのチエツク
が行われる。もしルームが存在しない場合1次のヘッダ
をウィンドーに嵌め込むことが可能か否かについて検査
する。検査した結果衣のヘッダがウィンドーに嵌め込む
ことができない場合、または、その検査がさらに前方を
見ることができない場合、そのデータがウィンドーに読
み込まれる。もしロードすべき他のヘッダが存在する場
合、そして、他のデータビューが利用可能な場合、その
ヘッダが割り当てられる次のデータビュー内で最初のヘ
ッダとなる。
タは連続していないので、新しいヘッダはウィンドーに
ロードするために割りつけられない。もしデータがディ
スク上に隣接している場合、そのへ、ンダのウィンドー
ビュー内にルームが存在するか否かについてのチエツク
が行われる。もしルームが存在しない場合1次のヘッダ
をウィンドーに嵌め込むことが可能か否かについて検査
する。検査した結果衣のヘッダがウィンドーに嵌め込む
ことができない場合、または、その検査がさらに前方を
見ることができない場合、そのデータがウィンドーに読
み込まれる。もしロードすべき他のヘッダが存在する場
合、そして、他のデータビューが利用可能な場合、その
ヘッダが割り当てられる次のデータビュー内で最初のヘ
ッダとなる。
第25図に示したソースファイル・ルックアップ処理プ
ログラム104において、最初に行われる処理はファイ
ル記述2次元リスト108にファイルエントリを挿入す
るポインタを定義することである。もう−度述べると、
これはバッファ制御処理プログラム102をコールして
ポインタについての整数の指定(designatio
n )を得ることである。このポインタはソースサーチ
ポインタのように可変移動ポインタである。次にポイン
タは。
ログラム104において、最初に行われる処理はファイ
ル記述2次元リスト108にファイルエントリを挿入す
るポインタを定義することである。もう−度述べると、
これはバッファ制御処理プログラム102をコールして
ポインタについての整数の指定(designatio
n )を得ることである。このポインタはソースサーチ
ポインタのように可変移動ポインタである。次にポイン
タは。
再びバッファ制御処理プログラム102をコールするこ
とによりファイル記述2次元リスト108内のルートデ
ィレクトリエントリに対して進められる。それから、こ
の処理プログラムは、ファイル記述2次元リスト108
内にファイルエントリを生成する処理ループに入る。ま
ず、ファイル仕様内の次のディレクトリエントリが入手
されるが(ステップ654)、 この処理は元々のフ
ァイルシステムI10ルーチンに対するコールである。
とによりファイル記述2次元リスト108内のルートデ
ィレクトリエントリに対して進められる。それから、こ
の処理プログラムは、ファイル記述2次元リスト108
内にファイルエントリを生成する処理ループに入る。ま
ず、ファイル仕様内の次のディレクトリエントリが入手
されるが(ステップ654)、 この処理は元々のフ
ァイルシステムI10ルーチンに対するコールである。
もしディレクトリエントリが利用可能な場合(ステップ
656)、上述したようにエントリが処理のために必要
か否かについて決定が行われる(ステップ658)。次
に、前述したように、ノクツファ制御処理プログラム1
02をコールすることGこより、エントリをファイル記
述2次元リスト108内に挿入する。もしそれ以上ディ
レクトリエントリが存在しない場合、サブディレクトリ
につ0)ての処理が必要か否かについての決定が行われ
る(ステップ662)。もt存在しない場合、ポインタ
が次のディレクトリに対して進められ(ステップ664
)、そして9 このポインタを進める要求に関してバッ
ファ制御処理プログラム102がレディ状態でない状態
に復帰しているとき、ディレクトリがレディ状態かどう
かについての決定が行われる(ステップ666)。もし
ディレクトリがレディ状態の場合、ディレクトリがファ
イル仕様サーチバスに加えられ(ステップ66B)、こ
の処理は次のエントリを入手するために復帰する(ステ
ップ654)。
656)、上述したようにエントリが処理のために必要
か否かについて決定が行われる(ステップ658)。次
に、前述したように、ノクツファ制御処理プログラム1
02をコールすることGこより、エントリをファイル記
述2次元リスト108内に挿入する。もしそれ以上ディ
レクトリエントリが存在しない場合、サブディレクトリ
につ0)ての処理が必要か否かについての決定が行われ
る(ステップ662)。もt存在しない場合、ポインタ
が次のディレクトリに対して進められ(ステップ664
)、そして9 このポインタを進める要求に関してバッ
ファ制御処理プログラム102がレディ状態でない状態
に復帰しているとき、ディレクトリがレディ状態かどう
かについての決定が行われる(ステップ666)。もし
ディレクトリがレディ状態の場合、ディレクトリがファ
イル仕様サーチバスに加えられ(ステップ66B)、こ
の処理は次のエントリを入手するために復帰する(ステ
ップ654)。
第26図に図解されているソースファイルリード処理プ
ログラム110もソースデータリング112およびファ
イル記述2次元リス)108のためのポインタを定義す
る処理ステップで始まり(ステップ650,652)、
この処理はバッファ制御処理プログラム102を適
切にコールすることにより行われる。このリストポイン
タは挿入ポインタが続けられ、ディレクトリエントリに
わたってスキンプするディレクトリ作成順序に従って移
動する。ファイルリードポインタが最初であり、翻訳処
理が行われている場合鉗訳ポインタが続けられ、そうで
ない場合ブロックライトポインタが続けられ、そして、
ファイルリードポインタがディレクトリリストノードに
わたってスキップするディレクトリ作成順序にしたがっ
て移動する。
ログラム110もソースデータリング112およびファ
イル記述2次元リス)108のためのポインタを定義す
る処理ステップで始まり(ステップ650,652)、
この処理はバッファ制御処理プログラム102を適
切にコールすることにより行われる。このリストポイン
タは挿入ポインタが続けられ、ディレクトリエントリに
わたってスキンプするディレクトリ作成順序に従って移
動する。ファイルリードポインタが最初であり、翻訳処
理が行われている場合鉗訳ポインタが続けられ、そうで
ない場合ブロックライトポインタが続けられ、そして、
ファイルリードポインタがディレクトリリストノードに
わたってスキップするディレクトリ作成順序にしたがっ
て移動する。
次にファイル記述2次元リスト108用のポインタが次
のファイルに対して進められ(ステップ682)、もし
エントリがレディ状態でない場合(ステップ684)、
待機状態になる(ステップ686)。次に、ファイル名
称によって特定されたファイルが1元々のオペレーティ
ングシステムに対して従来のC言語コールを行うことに
よって読み込みに対してオープンにされる(ステン16
88)。フィールド203が復帰情報によって完全にさ
れ、そして、そのフィールドがファイルを特定するため
のリード、ライトおよびクローズコールに対して通過さ
せられる。それから、レコード203およびレコード2
25を用いる上述した方法によって、スペースがリング
のソースデータセグメント上で利用可能かどうかについ
て決定が行われる(ステップ690)。もし利用可能な
場合、バッファ制御処理プログラム102をコールする
ことにより次のソースデータセグメントが得られる(ス
テップ692)。もしセグメントがレディ状態でない場
合(ステップ694)、待機状態となる(ステップ69
6)。リングセグメントが利用可能な場合、イクステン
トがレディ状態でない場合には(ステップ702)待機
しながら(ステップ704)、ポインタが次のイクステ
ントに対して進められる(ステップ700)。それから
ファイル内のデータが読み込まれ(ステップ704)、
イクステント情報の更新(ステップ710)が続けられ
る利用可能なセグメントスペースの更新(ステップ70
8)とともに、そのデータがセグメントに記憶される。
のファイルに対して進められ(ステップ682)、もし
エントリがレディ状態でない場合(ステップ684)、
待機状態になる(ステップ686)。次に、ファイル名
称によって特定されたファイルが1元々のオペレーティ
ングシステムに対して従来のC言語コールを行うことに
よって読み込みに対してオープンにされる(ステン16
88)。フィールド203が復帰情報によって完全にさ
れ、そして、そのフィールドがファイルを特定するため
のリード、ライトおよびクローズコールに対して通過さ
せられる。それから、レコード203およびレコード2
25を用いる上述した方法によって、スペースがリング
のソースデータセグメント上で利用可能かどうかについ
て決定が行われる(ステップ690)。もし利用可能な
場合、バッファ制御処理プログラム102をコールする
ことにより次のソースデータセグメントが得られる(ス
テップ692)。もしセグメントがレディ状態でない場
合(ステップ694)、待機状態となる(ステップ69
6)。リングセグメントが利用可能な場合、イクステン
トがレディ状態でない場合には(ステップ702)待機
しながら(ステップ704)、ポインタが次のイクステ
ントに対して進められる(ステップ700)。それから
ファイル内のデータが読み込まれ(ステップ704)、
イクステント情報の更新(ステップ710)が続けられ
る利用可能なセグメントスペースの更新(ステップ70
8)とともに、そのデータがセグメントに記憶される。
もし、ノンゼロバイトの読み込み復帰によって決定され
る全体のファイルがまだ読み込まれていない場合(ステ
ップ712)、読み込み処理が継続しくステップ690
)、そうでない場合には1元々のオペレーティングシス
テムに対して標準のC言語を用いて、ファイルがクロー
ズされる(ステップ714)。
る全体のファイルがまだ読み込まれていない場合(ステ
ップ712)、読み込み処理が継続しくステップ690
)、そうでない場合には1元々のオペレーティングシス
テムに対して標準のC言語を用いて、ファイルがクロー
ズされる(ステップ714)。
第27図は翻訳処理プログラム114の動作を図解して
おり、この翻訳処理は、ソースデータリング112内の
データがレディ状態か否かについての検査(ステップ7
20)から開始している。
おり、この翻訳処理は、ソースデータリング112内の
データがレディ状態か否かについての検査(ステップ7
20)から開始している。
データがレディ状態でない場合、バッファ制御処理プロ
グラム102のコールが行われて次のソースデータ・リ
ングイクステント242を入手する(ステップ722)
。もしソースデータ・リングイクステント242がレデ
ィ状態でない場合(ステップ724)、待機状態となる
(ステップ726)、もしソースデータ・リンダイクス
テント242内のデータがレディ状態の場合ラインまた
はレコードが抽出され(ステップ72B)、ディストネ
ーションデータ・リング116のイクステント内にルー
ムが存在するか否かについて検査が行われる(ステップ
730)。もしルームが存在しない場合、バッファ制御
処理プログラム102をコールすることによってリング
ポインタが進められる(ステップ734)。もしディス
トネーションデータ・リング116用のイクステントが
レディ状態でない場合(ステップ736)、他の待機状
態となり(ステップ738)、イクステントがレディ状
態かもしくは存在する場合にはディストネーションデー
タ・リング116のディストネーションデータセグメン
ト(220〜224)内のライン用のルームが存在する
か否かについての決定が行われる(ステップ740)。
グラム102のコールが行われて次のソースデータ・リ
ングイクステント242を入手する(ステップ722)
。もしソースデータ・リングイクステント242がレデ
ィ状態でない場合(ステップ724)、待機状態となる
(ステップ726)、もしソースデータ・リンダイクス
テント242内のデータがレディ状態の場合ラインまた
はレコードが抽出され(ステップ72B)、ディストネ
ーションデータ・リング116のイクステント内にルー
ムが存在するか否かについて検査が行われる(ステップ
730)。もしルームが存在しない場合、バッファ制御
処理プログラム102をコールすることによってリング
ポインタが進められる(ステップ734)。もしディス
トネーションデータ・リング116用のイクステントが
レディ状態でない場合(ステップ736)、他の待機状
態となり(ステップ738)、イクステントがレディ状
態かもしくは存在する場合にはディストネーションデー
タ・リング116のディストネーションデータセグメン
ト(220〜224)内のライン用のルームが存在する
か否かについての決定が行われる(ステップ740)。
もしルームが存在しない場合、リングセグメント情報が
更新され(ステップ742)、再びバッファ制御処理プ
ログラム102をコールすることにより、新しいデータ
セグメントの割りつけ処理(ステップ744)が続けら
れる。イクステントがセグメント境界を横切らないので
、新しいセグメントが割りつけられる。もし新しいセグ
メントがレディ状態であるか(ステン1746)古いセ
グメントがルームを有している場合(ステップ74.0
) 、新しいフォーマット内のディストネーションデ
ータセグメント内にラインが置かれ(ステップ750)
、ディストネーション・ファイルサイズを増加させる処
理(ステップ752)が続けられる。もしこのラインが
ファイル内の最後のラインでない場合(ステップ754
)、 ソースデータリング112からディストネーシ
ョンデータ・リング116に移動する処理が続く。丁度
全記憶されたラインがファイル内の最後のラインの場合
、ディストネーションファイルのサイズがファイル記述
2次元リスト108に記憶され(ステップ756)、
リングイクステント情報が更新される(ステップ75
8)。
更新され(ステップ742)、再びバッファ制御処理プ
ログラム102をコールすることにより、新しいデータ
セグメントの割りつけ処理(ステップ744)が続けら
れる。イクステントがセグメント境界を横切らないので
、新しいセグメントが割りつけられる。もし新しいセグ
メントがレディ状態であるか(ステン1746)古いセ
グメントがルームを有している場合(ステップ74.0
) 、新しいフォーマット内のディストネーションデ
ータセグメント内にラインが置かれ(ステップ750)
、ディストネーション・ファイルサイズを増加させる処
理(ステップ752)が続けられる。もしこのラインが
ファイル内の最後のラインでない場合(ステップ754
)、 ソースデータリング112からディストネーシ
ョンデータ・リング116に移動する処理が続く。丁度
全記憶されたラインがファイル内の最後のラインの場合
、ディストネーションファイルのサイズがファイル記述
2次元リスト108に記憶され(ステップ756)、
リングイクステント情報が更新される(ステップ75
8)。
第28図に図解したディストネーション・ディレクトリ
作威処理プログラム282がまずコールされると、この
処理プログラムはバッファ制御処理プログラム102を
コールしくステップ770)、ディストネーションDI
RiNリング294およびディストネーシジンDIR−
OUTリング296のためのポインタの定義に沿ってフ
ァイル記述2次元リス)10B用のディレクトリ作成ポ
インタを定義する。リストポインタは翻訳ポインタまた
はブロックリードまたはファイルリードポインタに続い
ており、ディストネーションロケーションポインタが続
けられている。ディストネーションDIR−INリング
294のポインタはブロックリードデイレクトリポイン
タに続いており、バッファ制御ポインタが続けられてお
り、−方5ディストネーションD I R−OUTリン
グ296のポインタが最初で、ブロックライト・デイレ
クトリポインタが続けられている0次に、ディストネー
ション・ディレクトリ作成処理ルーチン282は、リン
グ内のディストネーションディレクトリから次のディレ
クトリエントリを人手するファイルシステム特定化ルー
チン用のアドレスをロードしくステップ772)、ディ
ストネーションDIR−OUTリング296内に新しい
エントリを挿入し、ディレクトリエントリから名称と形
式を抽出する。リングポインタ内のりストボインクおよ
びディストネーションディレクトリがルートに対して進
められ(ステップ774)、それによって、ファイル記
述ポインタおよびポインタ内のディストネーションディ
レクトリが同じディレクトリに対応する。それから、デ
ィストネーションディレクトリエントリが予め決定され
たデイストネーシゴンディスク304のファイルフォー
マットに基づいて分類されるべきか否かについての決定
が行われる(ステップ776)。もしディレクトリエン
トリが分類されるべき場合、ディレクトリエントリは、
第29図を参照して記述される分類順序に従って合併さ
れる(ステップ778)。もしディレクトリエントリが
分類されない場合、それらは、第30図を参照して述べ
る非分類に従って合併される(ステップ780)。現在
のディレクトリ用のエントリが一旦合併されると、ノ\
ッファ制御処理プログラム102をコールすることによ
って、ディストネーションDIR−INリング294内
のディストネーションディレクトリ用のポインタが次の
ディレクトリに対して進められる(ステップ782)。
作威処理プログラム282がまずコールされると、この
処理プログラムはバッファ制御処理プログラム102を
コールしくステップ770)、ディストネーションDI
RiNリング294およびディストネーシジンDIR−
OUTリング296のためのポインタの定義に沿ってフ
ァイル記述2次元リス)10B用のディレクトリ作成ポ
インタを定義する。リストポインタは翻訳ポインタまた
はブロックリードまたはファイルリードポインタに続い
ており、ディストネーションロケーションポインタが続
けられている。ディストネーションDIR−INリング
294のポインタはブロックリードデイレクトリポイン
タに続いており、バッファ制御ポインタが続けられてお
り、−方5ディストネーションD I R−OUTリン
グ296のポインタが最初で、ブロックライト・デイレ
クトリポインタが続けられている0次に、ディストネー
ション・ディレクトリ作成処理ルーチン282は、リン
グ内のディストネーションディレクトリから次のディレ
クトリエントリを人手するファイルシステム特定化ルー
チン用のアドレスをロードしくステップ772)、ディ
ストネーションDIR−OUTリング296内に新しい
エントリを挿入し、ディレクトリエントリから名称と形
式を抽出する。リングポインタ内のりストボインクおよ
びディストネーションディレクトリがルートに対して進
められ(ステップ774)、それによって、ファイル記
述ポインタおよびポインタ内のディストネーションディ
レクトリが同じディレクトリに対応する。それから、デ
ィストネーションディレクトリエントリが予め決定され
たデイストネーシゴンディスク304のファイルフォー
マットに基づいて分類されるべきか否かについての決定
が行われる(ステップ776)。もしディレクトリエン
トリが分類されるべき場合、ディレクトリエントリは、
第29図を参照して記述される分類順序に従って合併さ
れる(ステップ778)。もしディレクトリエントリが
分類されない場合、それらは、第30図を参照して述べ
る非分類に従って合併される(ステップ780)。現在
のディレクトリ用のエントリが一旦合併されると、ノ\
ッファ制御処理プログラム102をコールすることによ
って、ディストネーションDIR−INリング294内
のディストネーションディレクトリ用のポインタが次の
ディレクトリに対して進められる(ステップ782)。
もし次のディレクトリがレディ状態でない場合(ステッ
プ784)、待機状態となるが、そうでない場合には処
理が継続される。もしファイル記述2次元リスト10B
内のディストネーションディレクトリの終わりおよびデ
ィストネーションDIR−INリング294内のディス
トネーションディレクトリの終わりに到達すると、この
処理ルーチン282は終了し。
プ784)、待機状態となるが、そうでない場合には処
理が継続される。もしファイル記述2次元リスト10B
内のディストネーションディレクトリの終わりおよびデ
ィストネーションDIR−INリング294内のディス
トネーションディレクトリの終わりに到達すると、この
処理ルーチン282は終了し。
終わりを示すフラグがたてられる。
(以下余白)
処理プロ7り778の分類されたディレクトリエントリ
の合併処理ルーチンが第29図に図解され、VMSに関
して、ファイル記述2次元リスト108のエントリとデ
ィストネーションディスク304のエントリとがアルフ
ァベット順に合併される。このルーチンは、ファイル記
述2次元リスト108から分類されたディレクトリを取
り、それをディストネーションDIR−INリング29
4内のディストネーション内の分類されたディレクトリ
と合併する。最初のステップは、ディストネーションD
IR−INリング294のエントリ内の他のディレクト
リが必要か否かについて決定を行うことである(ステッ
プ800)。もし他のディレクトリが必要な場合、この
処理はファイルシステム特定化ルーチンをコールするこ
とにより、ディストネーシヲンDIR−INリング29
4のエントリ内の次のディレクトリを入手する(ステッ
プ802)。もしディストネーションDIR−INリン
グ294内のエントリがレディ状態でない場合(ステッ
プ804)、待機状態となるが、ディストネーションデ
ィスク304のディレクトリの終わりに到達している場
合、ディストネーションディスク304からディレクト
リを入手する。もしディレクトリエントリがレディ状態
の場合、ファイル記述2次元リスト108から新しいエ
ントリが必要か否かについての決定を行う(ステップ8
08)。もし現在のエントリがすでに処理されておりデ
ィストネーションDIR−OUTリング296に置かれ
ている場合5現在のエントリはディストネーシゴンDI
R−INリング294の現在のエントリの前にアルファ
ベット順になっているので、新しいエントリが必要にな
る。もし新しいエントリが必要な場合、ファイル記述2
次元リスト108用のデイレクトリポインタがバッファ
制御処理102をコールすることによって進められる(
ステップ810)。もし新しいエントリを挿入すること
が必要な場合(ステップ812)、その新しいエントリ
はディストネーションDIR−INリング294の現在
のエントリの前にアルファヘット順になっているから、
新しいエントリのためのディストネーシゴンDIR−O
UTリング296内にルームが存在するか否かについて
の決定を行う(ステップ814)、ルームが存在しない
場合、バッファ制御処理プログラム102に対するコー
ルが行われ、ディストネーションD I R−OUTリ
ング296のための新しいセグメントが割りつけられる
(ステップ816)。
の合併処理ルーチンが第29図に図解され、VMSに関
して、ファイル記述2次元リスト108のエントリとデ
ィストネーションディスク304のエントリとがアルフ
ァベット順に合併される。このルーチンは、ファイル記
述2次元リスト108から分類されたディレクトリを取
り、それをディストネーションDIR−INリング29
4内のディストネーション内の分類されたディレクトリ
と合併する。最初のステップは、ディストネーションD
IR−INリング294のエントリ内の他のディレクト
リが必要か否かについて決定を行うことである(ステッ
プ800)。もし他のディレクトリが必要な場合、この
処理はファイルシステム特定化ルーチンをコールするこ
とにより、ディストネーシヲンDIR−INリング29
4のエントリ内の次のディレクトリを入手する(ステッ
プ802)。もしディストネーションDIR−INリン
グ294内のエントリがレディ状態でない場合(ステッ
プ804)、待機状態となるが、ディストネーションデ
ィスク304のディレクトリの終わりに到達している場
合、ディストネーションディスク304からディレクト
リを入手する。もしディレクトリエントリがレディ状態
の場合、ファイル記述2次元リスト108から新しいエ
ントリが必要か否かについての決定を行う(ステップ8
08)。もし現在のエントリがすでに処理されておりデ
ィストネーションDIR−OUTリング296に置かれ
ている場合5現在のエントリはディストネーシゴンDI
R−INリング294の現在のエントリの前にアルファ
ベット順になっているので、新しいエントリが必要にな
る。もし新しいエントリが必要な場合、ファイル記述2
次元リスト108用のデイレクトリポインタがバッファ
制御処理102をコールすることによって進められる(
ステップ810)。もし新しいエントリを挿入すること
が必要な場合(ステップ812)、その新しいエントリ
はディストネーションDIR−INリング294の現在
のエントリの前にアルファヘット順になっているから、
新しいエントリのためのディストネーシゴンDIR−O
UTリング296内にルームが存在するか否かについて
の決定を行う(ステップ814)、ルームが存在しない
場合、バッファ制御処理プログラム102に対するコー
ルが行われ、ディストネーションD I R−OUTリ
ング296のための新しいセグメントが割りつけられる
(ステップ816)。
もし新しいエントリが割りつけられていない場合(ステ
ップ818)、待機状態となり(ステップ820)、処
理制御ルーチン398に制御が戻り他の処理プログラム
またはルーチンの実行を可能にする。次に1合併ルーチ
ン778がファイル記述2次元リスト108を指定する
エントリとディストネーシゴンDIRINリング294
を指定するエントリとを比較しくステップ822)、そ
のエントリが二重化されている場合、システム特定化ル
ーチンが二重化エントリを挿入するためにコールされる
(ステップ824)、たとえば、VMSに関して、ファ
イルの付加的なバージョンが生成される。もしエントリ
が二重化エントリでない場合には、システム特定化ルー
チンがコールされて分類順序に従って2つの比較された
エントリのうち最も優先順位の高いエントリが挿入され
る。これらの2つの挿入ルーチンはまた。前進スキャン
または後進スキャンのいずれかによって、第1の未割り
つけヘッダをサーチすることによりヘッダ制御リスト(
HCL)ウィンドー292内にヘッダを割りつける。こ
のルーチン778は復帰してディストネーションDIR
−INリング294から他のエントリを入手する。
ップ818)、待機状態となり(ステップ820)、処
理制御ルーチン398に制御が戻り他の処理プログラム
またはルーチンの実行を可能にする。次に1合併ルーチ
ン778がファイル記述2次元リスト108を指定する
エントリとディストネーシゴンDIRINリング294
を指定するエントリとを比較しくステップ822)、そ
のエントリが二重化されている場合、システム特定化ル
ーチンが二重化エントリを挿入するためにコールされる
(ステップ824)、たとえば、VMSに関して、ファ
イルの付加的なバージョンが生成される。もしエントリ
が二重化エントリでない場合には、システム特定化ルー
チンがコールされて分類順序に従って2つの比較された
エントリのうち最も優先順位の高いエントリが挿入され
る。これらの2つの挿入ルーチンはまた。前進スキャン
または後進スキャンのいずれかによって、第1の未割り
つけヘッダをサーチすることによりヘッダ制御リスト(
HCL)ウィンドー292内にヘッダを割りつける。こ
のルーチン778は復帰してディストネーションDIR
−INリング294から他のエントリを入手する。
第28図のステップ780の未分類エントリの合併処理
ルーチンが第30図に図解されている。
ルーチンが第30図に図解されている。
このJレーチン780は1 それ自身ディストネーショ
ンソースの元のファイルのためのディレクトリよりディ
ストネーションディレクトリ構造において高いディスト
ネーションディスクからのファイル用のディレクトリを
挿入する。この順序は、リングからの全てのエントリが
挿入されているかどうかを決定するためにチェツクする
ステップ840において行われる検査を簡単に変えるこ
とにより反転できる。もしファイル記述2次元リストl
O8からの全てのエントリが挿入されていると。
ンソースの元のファイルのためのディレクトリよりディ
ストネーションディレクトリ構造において高いディスト
ネーションディスクからのファイル用のディレクトリを
挿入する。この順序は、リングからの全てのエントリが
挿入されているかどうかを決定するためにチェツクする
ステップ840において行われる検査を簡単に変えるこ
とにより反転できる。もしファイル記述2次元リストl
O8からの全てのエントリが挿入されていると。
この処理ルーチン780はバッファ制御処理プログラム
102をコールすることによりファイル記述2次元リス
ト10B用のポインタを進め(ステップ842)、もし
エントリがレディ状態でない場合には(ステップ844
)、待機する(ステップ846)。リングからの全ての
エントリが挿入されていない時には、この処理ルーチン
780はファイルシステム特定化処理を用いてディスト
ネーションDIR−INリング294内のディストネー
ションディレクトリからのエントリを入手する(ステッ
プ848)。もしエントリが待機状態でない場合(ステ
ップ850)、 この処理ルーチン780は待機状態と
なる(ステップ852)。エントリがレディ状態の場合
、新しいエントリのためのディストネーションIIR−
OUTリング296にルームが存在するか否かについて
の決定が行われる(ステップ854)、もしルームが存
在しない場合、バッファ制御処理プログラム102をコ
ールすることにより、新しいセグメントが割りつけられ
る(ステップ856)。セグメントがレディ状態でない
場合(ステップ858)。
102をコールすることによりファイル記述2次元リス
ト10B用のポインタを進め(ステップ842)、もし
エントリがレディ状態でない場合には(ステップ844
)、待機する(ステップ846)。リングからの全ての
エントリが挿入されていない時には、この処理ルーチン
780はファイルシステム特定化処理を用いてディスト
ネーションDIR−INリング294内のディストネー
ションディレクトリからのエントリを入手する(ステッ
プ848)。もしエントリが待機状態でない場合(ステ
ップ850)、 この処理ルーチン780は待機状態と
なる(ステップ852)。エントリがレディ状態の場合
、新しいエントリのためのディストネーションIIR−
OUTリング296にルームが存在するか否かについて
の決定が行われる(ステップ854)、もしルームが存
在しない場合、バッファ制御処理プログラム102をコ
ールすることにより、新しいセグメントが割りつけられ
る(ステップ856)。セグメントがレディ状態でない
場合(ステップ858)。
待機状態となる(ステップ860)。二重化エントリの
比較処理(ステップ862)および二重化エントリの挿
入処理(ステップ864)または簡単な挿入処理が第2
9図に示したルーチン778と同様に行われる(ステッ
プ866)。
比較処理(ステップ862)および二重化エントリの挿
入処理(ステップ864)または簡単な挿入処理が第2
9図に示したルーチン778と同様に行われる(ステッ
プ866)。
ディストネーションディスクがDOSディスクの場合に
は起動されない、第31図に図解したヘッダ作成処理ル
ーチン286の始まりにおいて前述した方法と同様の方
法でバッファ制御処理プログラム102をコールするこ
とにより、ファイル記述2次元リスト108用のヘッダ
形成ポインタを定義する(ステップ880)。このリス
トポインタは、ファイルのブロックライトポインタおよ
びディレクトリのブロックライトポインタに続いており
、バッファ制御ポインタが続けられ、そして、ファイル
記述2次元リスト108内のファイルノードおよびディ
レクトリノードで停止するディレクトリ作成順序に従っ
て進められる。次に、ディストネーションディスク30
4のフォーマット内にヘッダを作成するフォーマットシ
ステム特定化ルーチンのアドレスがロードされる。この
ループを通じた最初のバスにおいて、ヘッダ作成処理用
のリストポインタがヘッダを要求する最初のファイルま
たはディレクトリに対して進められる(ステップ884
)。これはバッファ制御処理プログラム102を再びコ
ールすることでありもしポインタが進められない場合(
ステップ886)、待機を要求する(ステップ888)
。それから、新しいヘッダがファイル記述2次元リスト
108の情報から形成され、ディストネーション・ロケ
ーション・ウィンドー290に挿入され(ステップ89
2)、ヘッダ制御リスト(HCL)ウィンドー292が
更新される。挿入動作は、ディストネーション・ロケー
ション・ウィンドー290にルームが存在するか否かを
再び示す(ステップ892)バッファ制御処理プログラ
ム102をコールすることであり、ルームが存在しない
場合、適切なディストネーション・ロケーション・ウィ
ンドー290のロードのために待機する(ステップ89
6)。次に、ファイルシステム特定化ルーチンがコール
され、ヘッダ情報を記憶する(ステップ898)。
は起動されない、第31図に図解したヘッダ作成処理ル
ーチン286の始まりにおいて前述した方法と同様の方
法でバッファ制御処理プログラム102をコールするこ
とにより、ファイル記述2次元リスト108用のヘッダ
形成ポインタを定義する(ステップ880)。このリス
トポインタは、ファイルのブロックライトポインタおよ
びディレクトリのブロックライトポインタに続いており
、バッファ制御ポインタが続けられ、そして、ファイル
記述2次元リスト108内のファイルノードおよびディ
レクトリノードで停止するディレクトリ作成順序に従っ
て進められる。次に、ディストネーションディスク30
4のフォーマット内にヘッダを作成するフォーマットシ
ステム特定化ルーチンのアドレスがロードされる。この
ループを通じた最初のバスにおいて、ヘッダ作成処理用
のリストポインタがヘッダを要求する最初のファイルま
たはディレクトリに対して進められる(ステップ884
)。これはバッファ制御処理プログラム102を再びコ
ールすることでありもしポインタが進められない場合(
ステップ886)、待機を要求する(ステップ888)
。それから、新しいヘッダがファイル記述2次元リスト
108の情報から形成され、ディストネーション・ロケ
ーション・ウィンドー290に挿入され(ステップ89
2)、ヘッダ制御リスト(HCL)ウィンドー292が
更新される。挿入動作は、ディストネーション・ロケー
ション・ウィンドー290にルームが存在するか否かを
再び示す(ステップ892)バッファ制御処理プログラ
ム102をコールすることであり、ルームが存在しない
場合、適切なディストネーション・ロケーション・ウィ
ンドー290のロードのために待機する(ステップ89
6)。次に、ファイルシステム特定化ルーチンがコール
され、ヘッダ情報を記憶する(ステップ898)。
ディストネーションブロック・ライト処理プログラム3
00が第32図に図解されているが、この処理プログラ
ム300の最初の7つのブロックの処理内容は、第22
図を参照して述べたソースブロックリード処理プログラ
ム274の対応する同じステップと同じである。ブロッ
クライト処理プログラムは、異なるタスクの番号と協働
するポインタを異なる方法で進める。サブディレクトリ
の読みはファイル記述2次元リスト108内のディレク
トリにわたって進められており、このポインタがディス
トネーション・ロケーションポインタに続いており、そ
して、ヘッダ作成ポインタが続けられている。ディレク
トリを書き込むためのポインタはディストネーションD
IR−OUTリング296を通じて進められており、デ
ィレクトリ形成ポインタに続いており、バッファ制御ポ
インタが続けられている。ファイルの書き込みは。
00が第32図に図解されているが、この処理プログラ
ム300の最初の7つのブロックの処理内容は、第22
図を参照して述べたソースブロックリード処理プログラ
ム274の対応する同じステップと同じである。ブロッ
クライト処理プログラムは、異なるタスクの番号と協働
するポインタを異なる方法で進める。サブディレクトリ
の読みはファイル記述2次元リスト108内のディレク
トリにわたって進められており、このポインタがディス
トネーション・ロケーションポインタに続いており、そ
して、ヘッダ作成ポインタが続けられている。ディレク
トリを書き込むためのポインタはディストネーションD
IR−OUTリング296を通じて進められており、デ
ィレクトリ形成ポインタに続いており、バッファ制御ポ
インタが続けられている。ファイルの書き込みは。
ポインタの翻訳の後ディストネーションデータリングを
通してか5ブロツクリードポインタの後のソースデータ
リングを通して、進める。ファイルおよびディレクトリ
の書き込みについて、ファイル記述2次元リストlO8
を通して移動するポインタが存在し、このポインタは実
際の書き込みポインタに続いており、ブロック書き込み
によって最終的なディストネーションロケーションが割
りつけられる前にヘッダを作成することからディレクト
リ作成ポインタの順序づけを防止するために用いられる
。このポインタはブロック書き込みに対しては機能しな
い、−旦ディスクの形式か決定され、処理制御ルーチン
398が再びディストネーションブロックライト処理プ
ログラム300をコールすると、書き込みループ内の最
初のステップがディストネーション・ロケーション・ウ
ィンドー290からディストネーションディスク304
に124個全てのヘッダの書き込みを試みる。
通してか5ブロツクリードポインタの後のソースデータ
リングを通して、進める。ファイルおよびディレクトリ
の書き込みについて、ファイル記述2次元リストlO8
を通して移動するポインタが存在し、このポインタは実
際の書き込みポインタに続いており、ブロック書き込み
によって最終的なディストネーションロケーションが割
りつけられる前にヘッダを作成することからディレクト
リ作成ポインタの順序づけを防止するために用いられる
。このポインタはブロック書き込みに対しては機能しな
い、−旦ディスクの形式か決定され、処理制御ルーチン
398が再びディストネーションブロックライト処理プ
ログラム300をコールすると、書き込みループ内の最
初のステップがディストネーション・ロケーション・ウ
ィンドー290からディストネーションディスク304
に124個全てのヘッダの書き込みを試みる。
このステップについては第33図を参照して詳細に後述
する。もしディストネーションディスク304がビジィ
状態の場合にはI10待機状態となり(ステップ926
)、ステップ924が、全てのロケーション・ウィンド
ー・ヘッダがディストネーションディスク304に書き
込まれるまで。
する。もしディストネーションディスク304がビジィ
状態の場合にはI10待機状態となり(ステップ926
)、ステップ924が、全てのロケーション・ウィンド
ー・ヘッダがディストネーションディスク304に書き
込まれるまで。
または、ディストネーション・ロケーション・ウィンド
ー290が空で充満されることを必要とするまで、実行
を継続する。次に、この処理プログラム300はディス
トネーションD I R−OUTリング296からディ
ストネーションディスク304に全てのディレクトリを
書き込み(ステップ928)、必要ならば待機する(ス
テップ930)。この処理ルーチンについての詳細につ
いては第34図を参照して後述するが、ディストネーシ
ョンDIR−OUTリング296が空になるまで実行を
継続する。ステップ932において、第23図を参照し
て述べたように、ある必要なディレクトリがディストネ
ーションDIR−INリング294に読み込まれ、ステ
ップ934において。
ー290が空で充満されることを必要とするまで、実行
を継続する。次に、この処理プログラム300はディス
トネーションD I R−OUTリング296からディ
ストネーションディスク304に全てのディレクトリを
書き込み(ステップ928)、必要ならば待機する(ス
テップ930)。この処理ルーチンについての詳細につ
いては第34図を参照して後述するが、ディストネーシ
ョンDIR−OUTリング296が空になるまで実行を
継続する。ステップ932において、第23図を参照し
て述べたように、ある必要なディレクトリがディストネ
ーションDIR−INリング294に読み込まれ、ステ
ップ934において。
第24図に図解したように、ヘッダがディストネーショ
ン・ロケーション・ウィンドー290に読み込まれる。
ン・ロケーション・ウィンドー290に読み込まれる。
次に、ディストネーションディスク304がヘッダまた
はインデックス形式レコード制御リストを有している場
合、アロケーション制御リスト用の隣接した知られたロ
ケーシタンビットマップおよび隣接した知られたロケ−
シランヘッダ制御リストについてのビットマツプが読み
込まれる(ステップ936)。それらのビットマツプが
一旦読み込まれると、ファイルがディストネーションデ
ータ・リング116からディストネーションディスク3
04に書き込まれる(ステップ940)、全ての読み込
みおよび書き込みがまだ終了していない場合にはさらに
多くのデータを読み込みまたは書き込むために転送シス
テム36は待機する(ステップ946)。この待機状態
(ステップ946)からの復帰は特別の処理(ステップ
924〜940)への復帰であり、これらの処理の特別
のステップが最初の位置で待機状態となる。全ての書き
込みが行われた場合、更新されたピントマツプがディス
トネーションディスク304に連続的に書き込まれる(
ステップ948)。
はインデックス形式レコード制御リストを有している場
合、アロケーション制御リスト用の隣接した知られたロ
ケーシタンビットマップおよび隣接した知られたロケ−
シランヘッダ制御リストについてのビットマツプが読み
込まれる(ステップ936)。それらのビットマツプが
一旦読み込まれると、ファイルがディストネーションデ
ータ・リング116からディストネーションディスク3
04に書き込まれる(ステップ940)、全ての読み込
みおよび書き込みがまだ終了していない場合にはさらに
多くのデータを読み込みまたは書き込むために転送シス
テム36は待機する(ステップ946)。この待機状態
(ステップ946)からの復帰は特別の処理(ステップ
924〜940)への復帰であり、これらの処理の特別
のステップが最初の位置で待機状態となる。全ての書き
込みが行われた場合、更新されたピントマツプがディス
トネーションディスク304に連続的に書き込まれる(
ステップ948)。
第32図に示したステップ924および940における
ファイルまたはディレクトリのブロック書き込み処理が
第33図に図解されている。第1のステップ960は、
前述したバッファ制御処理プログラム102をコールす
るポインタを定義することである。それから転送システ
ム36は、ファイルの場合にはディストネーションデー
タ・リング116について、ディレクトリの場合にはデ
ィストネーションD I R−OUTリング296につ
いての適切なりングイクステントポインタを進め(ステ
ップ962)、前述した状況と同様の方法でイクステン
トがレディ状態か否かを決定しくステップ964)、イ
クステントがレディ状態でない場合には待機する(ステ
ップ966)。イクステントがレディ状態の場合、その
イクステントのためのスペースがディストネーションデ
ィスク304に割りつけられているか否かについての決
定が行われる(ステップ968)。スペースが割りつけ
られていない場合、隣接したスペースが割りつけられ(
ステップ970)、アロケーション制御リスト(ACL
)ウィンドー298に対する適切な更新が行われる。次
に、ディストネーション・ロケーション情報がファイル
記述2次元リスト108内のエントリに記憶され(ステ
ップ972)、ディストネーションディスク304に割
りつけられた部分の書き込みが行われる(ステップ97
4)。この書き込み処理ルーチン974は。
ファイルまたはディレクトリのブロック書き込み処理が
第33図に図解されている。第1のステップ960は、
前述したバッファ制御処理プログラム102をコールす
るポインタを定義することである。それから転送システ
ム36は、ファイルの場合にはディストネーションデー
タ・リング116について、ディレクトリの場合にはデ
ィストネーションD I R−OUTリング296につ
いての適切なりングイクステントポインタを進め(ステ
ップ962)、前述した状況と同様の方法でイクステン
トがレディ状態か否かを決定しくステップ964)、イ
クステントがレディ状態でない場合には待機する(ステ
ップ966)。イクステントがレディ状態の場合、その
イクステントのためのスペースがディストネーションデ
ィスク304に割りつけられているか否かについての決
定が行われる(ステップ968)。スペースが割りつけ
られていない場合、隣接したスペースが割りつけられ(
ステップ970)、アロケーション制御リスト(ACL
)ウィンドー298に対する適切な更新が行われる。次
に、ディストネーション・ロケーション情報がファイル
記述2次元リスト108内のエントリに記憶され(ステ
ップ972)、ディストネーションディスク304に割
りつけられた部分の書き込みが行われる(ステップ97
4)。この書き込み処理ルーチン974は。
第49図を参照して詳細に後述する絶対的な書き込みで
ある。全てのイクステントがまだディストネーションデ
ィスク304に書き込まれていない場合1割りつけ処理
および書き込み処理が継続される。イクステントが完全
に書き込まれている場合、リングイクステントポインタ
を進める処理ステップ962に移行する。
ある。全てのイクステントがまだディストネーションデ
ィスク304に書き込まれていない場合1割りつけ処理
および書き込み処理が継続される。イクステントが完全
に書き込まれている場合、リングイクステントポインタ
を進める処理ステップ962に移行する。
第32図のブロックライト・ウィンドー処理ルーチン9
28が第34図に図解されている。このルーチン928
はまず、バッファ制御処理プログラム102をコールし
て書き込むための次のビューを人手する(ステップ98
0)。次のビューがレディ状態でない場合(ステップ9
B2)、他の処理の全てのブロック書き込みステップが
完了しているか否かについての決定が行われる(ステッ
プ986)。すなわち、書き込み処理アレー内の各書き
込み処理の状態が検査され、その状態が終了しているか
否か決定される。もし終了していない場合、ウィンドー
書き込み処理は次のビューのために待機する(ステップ
984)。ビューがレディ状態の場合、ウィンドーの開
始インデックスがディストネーションディスク304上
のブロック番号に変換され(ステップ988)、全ての
修飾されたブロックがディストネーションディスク30
4に書き込まれる(ステップ990)。
28が第34図に図解されている。このルーチン928
はまず、バッファ制御処理プログラム102をコールし
て書き込むための次のビューを人手する(ステップ98
0)。次のビューがレディ状態でない場合(ステップ9
B2)、他の処理の全てのブロック書き込みステップが
完了しているか否かについての決定が行われる(ステッ
プ986)。すなわち、書き込み処理アレー内の各書き
込み処理の状態が検査され、その状態が終了しているか
否か決定される。もし終了していない場合、ウィンドー
書き込み処理は次のビューのために待機する(ステップ
984)。ビューがレディ状態の場合、ウィンドーの開
始インデックスがディストネーションディスク304上
のブロック番号に変換され(ステップ988)、全ての
修飾されたブロックがディストネーションディスク30
4に書き込まれる(ステップ990)。
第35図に示したように、ディストネーション・ディレ
クトリ作成処理プログラム118は起動されるとまず、
ファイル記述2次元リスト108用のポインタを定義す
る(ステップ1000)。
クトリ作成処理プログラム118は起動されるとまず、
ファイル記述2次元リスト108用のポインタを定義す
る(ステップ1000)。
このポインタは、ブロックリードデイレクトリボインク
に続いており、ファイルライトポインタが続けられ、サ
ブディレクトリでは停止しないで通過する。それからル
ープ処理に入り、そこの最初のステップ1002におい
てポインタがファイル記述2次元リスト108内の次の
ディレクトリエントリに対して進められる。ステップ1
00および1002はバッファ制御処理プログラム10
2をコールする。ディレクトリエントリがレディ状態で
ない場合(ステップ1004)、待機し再び第18図の
ステップ404の処理制御ルーチン398に戻る。バッ
ファ制御処理プログラム102が終了状態に戻っている
場合、ディストネーション・ディレクトリ作成処理プロ
グラム118は終了状態に戻る。次のステップはディス
トネーションディスク304にディレクトリが存在する
か否かを決定する処理であり(ステップ1008)。
に続いており、ファイルライトポインタが続けられ、サ
ブディレクトリでは停止しないで通過する。それからル
ープ処理に入り、そこの最初のステップ1002におい
てポインタがファイル記述2次元リスト108内の次の
ディレクトリエントリに対して進められる。ステップ1
00および1002はバッファ制御処理プログラム10
2をコールする。ディレクトリエントリがレディ状態で
ない場合(ステップ1004)、待機し再び第18図の
ステップ404の処理制御ルーチン398に戻る。バッ
ファ制御処理プログラム102が終了状態に戻っている
場合、ディストネーション・ディレクトリ作成処理プロ
グラム118は終了状態に戻る。次のステップはディス
トネーションディスク304にディレクトリが存在する
か否かを決定する処理であり(ステップ1008)。
ホストコンピュータ30のホストオペレーティングシス
テム44をコールすることにより決定が行われる。ディ
レクトリがディストネーションディスク304に存在し
ない場合はこの処理ルーチンはループバックし、一方、
ディレクトリが存在する場合は元々のホストオペレーテ
ィングシステム44をコールし、ファイル記述2次元リ
スト108のノードからディレクトリがディストネーシ
ョンディスク122に生成される。
テム44をコールすることにより決定が行われる。ディ
レクトリがディストネーションディスク304に存在し
ない場合はこの処理ルーチンはループバックし、一方、
ディレクトリが存在する場合は元々のホストオペレーテ
ィングシステム44をコールし、ファイル記述2次元リ
スト108のノードからディレクトリがディストネーシ
ョンディスク122に生成される。
第36図に示したディストネーションファイル・ライト
処理プログラム120も標準システムCを用いて元々の
オペレーティングシステム44をコールする。こ処理プ
ログラムは最初に起動された時ディストネーションデー
タ・リング116のポインタを定義しくステップ102
0)、次のディストネーションデータイクステントを入
手するが(ステップ1022)、ステップ1020およ
び1022はバッファ制御処理プログラム102をコー
ルする処理である。イクステントがレディ状態の場合、
このイクステントがファイル内の最初のインデックスで
あるか否かについての決定が行われる(ステップ102
8)。そのイクステントが最初のイクステントの場合元
々のホストオペレーティングシステム44に対する標準
システムCコールがディストネーションディスク304
にファイルを生成する。イクステントがファイル内の最
初のイクステントでない場合、そのイクステントがふ書
き込まれ(ステップ1032)、そのイクステントが最
後のイクステントであるか否かについての決定が行われ
る(ステップ10349゜そのイクステントが最後のイ
クステントでない場合、処理プログラムはループバック
してディストネーションディスク304のファイルにイ
クステントを書き込む処理が継続される。最後のイクス
テントに到達すると2元々のホストオペレーティングシ
ステム44に対する標準システムCを用いてファイルが
クローズされる(ステップ1036)。
処理プログラム120も標準システムCを用いて元々の
オペレーティングシステム44をコールする。こ処理プ
ログラムは最初に起動された時ディストネーションデー
タ・リング116のポインタを定義しくステップ102
0)、次のディストネーションデータイクステントを入
手するが(ステップ1022)、ステップ1020およ
び1022はバッファ制御処理プログラム102をコー
ルする処理である。イクステントがレディ状態の場合、
このイクステントがファイル内の最初のインデックスで
あるか否かについての決定が行われる(ステップ102
8)。そのイクステントが最初のイクステントの場合元
々のホストオペレーティングシステム44に対する標準
システムCコールがディストネーションディスク304
にファイルを生成する。イクステントがファイル内の最
初のイクステントでない場合、そのイクステントがふ書
き込まれ(ステップ1032)、そのイクステントが最
後のイクステントであるか否かについての決定が行われ
る(ステップ10349゜そのイクステントが最後のイ
クステントでない場合、処理プログラムはループバック
してディストネーションディスク304のファイルにイ
クステントを書き込む処理が継続される。最後のイクス
テントに到達すると2元々のホストオペレーティングシ
ステム44に対する標準システムCを用いてファイルが
クローズされる(ステップ1036)。
第37図に、第18図の処理制御ルーチン398によっ
てコールされるバッファ制御処理プログラム102の一
部が示されている。バッファ制御処理プログラム102
の最初の動作は、ウィンドーがまだ定義されていないこ
とを示すために各ウィンドーの状態フィールド338内
の値を簡単に設定するウィンドーを初期化しくステップ
1050)、ルートエントリであるファイル記述2次元
リスト108内のあるエントリを挿入することを意味し
ているファイル記述2次元リスト108を初期化しくス
テップ1052)、各リングがまだ定義されていないこ
とを示していることを意味する複数のリングを初期化す
ることである(ステップ1054)。上記初期化処理の
後に1各リング用のポインタがファイル記述2次元リス
ト108用のポインタとともに初期化される(ステップ
1056)。それから、ループ処理に入り、最初のステ
ップにおいて、最初のリングを処理するリングのリング
番号をセットする(ステップ1058)。次いで、その
リングが空かどうかについてのチエツク処理を行う(ス
テップ1060)。そのリングが空でない場合、新しい
データイクステントに対する処理に進む(ステップ10
62)。そのデータがレディ状態の場合(ステップ10
64)、そのデータが新しいバッファセグメント内にあ
るか否かについての検査が行われる(ステップ1066
)。そのデータがバッファセグメント内にあれば、古い
バッファセグメントの状態225が自由状態に解放され
る(ステップ1068)。
てコールされるバッファ制御処理プログラム102の一
部が示されている。バッファ制御処理プログラム102
の最初の動作は、ウィンドーがまだ定義されていないこ
とを示すために各ウィンドーの状態フィールド338内
の値を簡単に設定するウィンドーを初期化しくステップ
1050)、ルートエントリであるファイル記述2次元
リスト108内のあるエントリを挿入することを意味し
ているファイル記述2次元リスト108を初期化しくス
テップ1052)、各リングがまだ定義されていないこ
とを示していることを意味する複数のリングを初期化す
ることである(ステップ1054)。上記初期化処理の
後に1各リング用のポインタがファイル記述2次元リス
ト108用のポインタとともに初期化される(ステップ
1056)。それから、ループ処理に入り、最初のステ
ップにおいて、最初のリングを処理するリングのリング
番号をセットする(ステップ1058)。次いで、その
リングが空かどうかについてのチエツク処理を行う(ス
テップ1060)。そのリングが空でない場合、新しい
データイクステントに対する処理に進む(ステップ10
62)。そのデータがレディ状態の場合(ステップ10
64)、そのデータが新しいバッファセグメント内にあ
るか否かについての検査が行われる(ステップ1066
)。そのデータがバッファセグメント内にあれば、古い
バッファセグメントの状態225が自由状態に解放され
る(ステップ1068)。
リングが空の場合、そのリング番号が増加させられ(ス
テップ1070)、そのリングがリングリスト内の最も
優先順位の高いリングかどうかについての決定が行われ
る(ステップ1072)。そのリングが最も優先順位の
高いリングの場合、ファイル記述2次元リスト108の
ポインタが完全かどうか、すなわち、ポインタを進める
要求が終了状態に戻っているかどうかについて決定がな
される。そうでない場合、ファイル記述2次元リスト1
08に対するポインタが、後述するバッファ制御処理プ
ログラム102の適切な部分をコールすることにより進
められる(ステップ1076)。ポインタが完全でない
場合(ステップ1074)、または、ポインタがまだ進
められていない場合(ステップ1078)、ポインタの
全てが完全かどうかについての決定が行われ(ステップ
1082)、完全でない場合には、処理制御ルーチン3
98に処理の制御が移行し、新しいデータのために待機
する(ステップ1084)。ポインタが進められている
場合1丁度完全にされたりストエントリのノードがファ
イルノードのときそのノードがメモリから除去され、デ
ィレクトリ内の全てのノード(ファイル)が除去される
ときディレクトリ用のノードが除去されるが、その理由
は、全てのファイルが除去されるまで、ディレクトリノ
ードがデータ構造内の親(元)となる要素を介して参照
されるようになっているからである。このことはマルチ
ポインタリストからノードを除去するために必要な従来
から知られているポインタ除去動作を含んでいるが、前
のノードから前進しているポインタが後ろのノードに対
するポインタに変換され、新しいノードを割りつけるた
めにメモリを自由にするとともに、後ろのノードからの
後のポインタが前のノードに対するポインタに変換され
る。
テップ1070)、そのリングがリングリスト内の最も
優先順位の高いリングかどうかについての決定が行われ
る(ステップ1072)。そのリングが最も優先順位の
高いリングの場合、ファイル記述2次元リスト108の
ポインタが完全かどうか、すなわち、ポインタを進める
要求が終了状態に戻っているかどうかについて決定がな
される。そうでない場合、ファイル記述2次元リスト1
08に対するポインタが、後述するバッファ制御処理プ
ログラム102の適切な部分をコールすることにより進
められる(ステップ1076)。ポインタが完全でない
場合(ステップ1074)、または、ポインタがまだ進
められていない場合(ステップ1078)、ポインタの
全てが完全かどうかについての決定が行われ(ステップ
1082)、完全でない場合には、処理制御ルーチン3
98に処理の制御が移行し、新しいデータのために待機
する(ステップ1084)。ポインタが進められている
場合1丁度完全にされたりストエントリのノードがファ
イルノードのときそのノードがメモリから除去され、デ
ィレクトリ内の全てのノード(ファイル)が除去される
ときディレクトリ用のノードが除去されるが、その理由
は、全てのファイルが除去されるまで、ディレクトリノ
ードがデータ構造内の親(元)となる要素を介して参照
されるようになっているからである。このことはマルチ
ポインタリストからノードを除去するために必要な従来
から知られているポインタ除去動作を含んでいるが、前
のノードから前進しているポインタが後ろのノードに対
するポインタに変換され、新しいノードを割りつけるた
めにメモリを自由にするとともに、後ろのノードからの
後のポインタが前のノードに対するポインタに変換され
る。
前に述べた処理がバッファ制御処理プログラム102を
コールしてファイル記述2次元リスト108用のポイン
タを定義するとき、第38図に示した処理1098が行
われる。まずルーチン1100がポインタを最低位の優
先順位に設定するがこのポインタは最も最近利用された
ことを示している。そのコールが順序に従ってポインタ
が移動されるべきことを要求している場合(ステップ1
102)、比較のための他のポインタが存在するかどう
かについての決定が行われる(ステップ1104)。た
とえば、ノード除去ポインタは。
コールしてファイル記述2次元リスト108用のポイン
タを定義するとき、第38図に示した処理1098が行
われる。まずルーチン1100がポインタを最低位の優
先順位に設定するがこのポインタは最も最近利用された
ことを示している。そのコールが順序に従ってポインタ
が移動されるべきことを要求している場合(ステップ1
102)、比較のための他のポインタが存在するかどう
かについての決定が行われる(ステップ1104)。た
とえば、ノード除去ポインタは。
他の全てのポインタがあるノードについての動作が完了
するまで、そのノードに対して移動させることができな
い。そのノード除去ポインタは、バッファ制御処理プロ
グラム102が最も優先順位の高い処理番号を持ってい
るにも係わらず、それは最も低い優先順位であるから、
全てのポインタと比較されなければならない。しかしな
がら、ソースサーチポインタは、比較される必要がない
可変移動形ポインタである。ステップ1104における
決定が肯定的な場合、同じ順序でファイル記述2次元リ
スト108を通して移動するポインタを列挙している。
するまで、そのノードに対して移動させることができな
い。そのノード除去ポインタは、バッファ制御処理プロ
グラム102が最も優先順位の高い処理番号を持ってい
るにも係わらず、それは最も低い優先順位であるから、
全てのポインタと比較されなければならない。しかしな
がら、ソースサーチポインタは、比較される必要がない
可変移動形ポインタである。ステップ1104における
決定が肯定的な場合、同じ順序でファイル記述2次元リ
スト108を通して移動するポインタを列挙している。
可変移動用またはディレクトリ牽制用サブリストが発見
されているかどうかについての決定が行われる(ステッ
プ1106)、リストが発見されると、ポインタが同じ
順序で移動しているか否かについての決定が行われる(
ステップ1108)。ポインタが同じ順序で移動してい
る場合、そのポインタが比較されべきポインタよりも優
先順位が高いかどうかについての決定が行われ(ステッ
プ1110)、続けて、優先順位の低いポインタが進め
られていないかどうかの確認がされ(ステップ1112
)、比較されたポインタの優先順位にその優先順位が切
り換えられる(ステップ1114)、もし決定ステップ
1102.1104.1108および1110のいずれ
かが否定的な結果の場合、ポインタ定義がステ・ンブ1
116において充満させられ、優先順位リスト内のポイ
ンタの順序が割りつけられ、そうでない場合は処理プロ
グラムはループバックしてポインタのための優先順位の
位置を探す処理を継続する。
されているかどうかについての決定が行われる(ステッ
プ1106)、リストが発見されると、ポインタが同じ
順序で移動しているか否かについての決定が行われる(
ステップ1108)。ポインタが同じ順序で移動してい
る場合、そのポインタが比較されべきポインタよりも優
先順位が高いかどうかについての決定が行われ(ステッ
プ1110)、続けて、優先順位の低いポインタが進め
られていないかどうかの確認がされ(ステップ1112
)、比較されたポインタの優先順位にその優先順位が切
り換えられる(ステップ1114)、もし決定ステップ
1102.1104.1108および1110のいずれ
かが否定的な結果の場合、ポインタ定義がステ・ンブ1
116において充満させられ、優先順位リスト内のポイ
ンタの順序が割りつけられ、そうでない場合は処理プロ
グラムはループバックしてポインタのための優先順位の
位置を探す処理を継続する。
第39図は他の処理によってコールされるときはいつで
もファイル記述リストポインタを進めるバッファ制御処
理プログラム102内で行われる処理11228を示し
ている。この処理の第1のステップにおいて、最も優先
順位の高いポインタについてのインデックスが入手され
(ステップ1130)、それから、ノードが入手される
が(ステップ1132)、そのノードには最も優先順位
の高いポインタが配置されている。次の処理1134に
おいて、入力ポインタ(進められるべきポインタ)のた
めのリスト内にある次のノードが入手され、それから、
そのポインタがリスト108の最後のものであるか否か
についての決定が行われる(ステップ1136)。その
ホストが最後のポインタである場合、ポインタを進める
処理が終了状態で復帰する(ステップ1i34)。ポイ
ンタが最後のリスト108内の最後のポインタではない
場合、新しいノードがレディ状態であるか否かについて
の決定が行われる(ステップ1140)。新しいノード
がレディ状態でない場合、ポインタは待機状態にセット
され(ステップ1142)、待機状態をコールする処理
への復帰が行われる。新しいノードがレディ状態の場合
、そのノードが高い優先順位のノードと同じであるかど
うかについての決定が行われ(ステップ1146)。
もファイル記述リストポインタを進めるバッファ制御処
理プログラム102内で行われる処理11228を示し
ている。この処理の第1のステップにおいて、最も優先
順位の高いポインタについてのインデックスが入手され
(ステップ1130)、それから、ノードが入手される
が(ステップ1132)、そのノードには最も優先順位
の高いポインタが配置されている。次の処理1134に
おいて、入力ポインタ(進められるべきポインタ)のた
めのリスト内にある次のノードが入手され、それから、
そのポインタがリスト108の最後のものであるか否か
についての決定が行われる(ステップ1136)。その
ホストが最後のポインタである場合、ポインタを進める
処理が終了状態で復帰する(ステップ1i34)。ポイ
ンタが最後のリスト108内の最後のポインタではない
場合、新しいノードがレディ状態であるか否かについて
の決定が行われる(ステップ1140)。新しいノード
がレディ状態でない場合、ポインタは待機状態にセット
され(ステップ1142)、待機状態をコールする処理
への復帰が行われる。新しいノードがレディ状態の場合
、そのノードが高い優先順位のノードと同じであるかど
うかについての決定が行われ(ステップ1146)。
すなわち、そのノードが新しいノードを指定する高い優
先順位のポインタであるかどうかについての決定が行わ
れ、その場合には、より高い優先順位のポインタが待機
状態にあるかどうかについての決定が行われる(ステッ
プ1148)。待機状態にある場合には、そのノードが
分類されていることを示すノードのための分類されたマ
ーカー(maker)が分類されたポインタによって通
過させられているかどうかについての決定が行われる(
ステップ1150)。このマーカーはバッファ制御処理
プログラム102によって維持されている内部的に可変
の値を持つ、そのマーカーは、ソースサーチおよびファ
イルルックアップがあるブイレフ斗りのための全てのエ
ントリが挿入されているとき、進められる。その場合に
は、ポインタが待機状前になり、復帰される。そうでな
い場合には、ポインタが新しいノードに対して進められ
(ステップ1152)、そのノードがそのポインタにつ
いて正しい形式のものであるかどうかについての決定が
行われる(ステップ1154)。たとえば、ポインタが
ファイル記述2次元リスト108のディレクトリエント
リを指定しているだけであり、ノードがデータファイル
エントリノードの場合、そのノード158は正しくない
。ノードが正しいノードでない場合、正しい高いノード
が発見されまで、上述したように、各ノードについてノ
ードのチエツクが継続される。しかしながら、ポインタ
が待機状態にあるより高い優先順位を持ったノートを指
定している場合そのポインタは進められない。たとえば
、バンファ制御除去ポインタは、依然として参照される
べきノードを除去しているので、待機状態にあるポイン
タが待機状態を過ぎても進められない。ポインタを指定
している時点において、待機状態がクリアされ(ステッ
プ1156)、新しいノードのインデックスによっで復
帰する (ステップ1 158) (以下余白) 新しいノードがファイル記述2次元(FD2)リスト1
0Bに挿入される必要があるときはいつでも、バンファ
制御処理プログラム102内の一部の処理である第40
図に示した処理1218がコールされる。この処理の最
初において、新しいノードが続いているファイル記述2
次元リスト108からノードが人手される(ステップ1
220)。これは、ノードポインタ番号を入手し、フィ
ールド211からアドレスを人手し、そのアドレスのあ
とに挿入することを意味している。続けられるノードが
決定された後、ノードおよび名称用のメモリ、および、
バスフィールドが割りつけられ(ステップ1222)、
続いて、ディレクトリ作成およびソースディレクトリ階
層化順序内のファイル記述2次元リス)108内にノー
ドが挿入される(ステップ1224)。新しいノードが
ファイルノードの場合(ステップ1226)、 このフ
ァイルが親ディレクトリ内の最初のファイルであるか否
かについて決定処理が行われ(ステップ1228)、そ
うである場合、親ファイルポインタが新しいノードにセ
ットされるが(ステップ1230)、そうでない場合に
は、そのファイルはファイルリストの最後に加えられる
(ステップ1232)、新しいノードがディレクトリノ
ードである場合、このノードが親ディレクトリ内の最初
のノードであるか否かについての決定処理が行われ(ス
テップ1234)、そうであれば、親のサブデイレクト
リポインタが新しいノー1′にセットされ(ステップ1
236)、そうでない場合には、新しいノードはディレ
クトリのファイル記述2次元リスト108に加えられる
(ステップ1238)。次に、従来から知られている技
法を用いて残っているディレクトリ構造ポインタがセッ
トされ(ステップ1240)、続いて、知られているデ
ータフィールドを充満させ(ステップ1242)、第3
9図のポインタを進める処理1128をコールしてポイ
ンタを新しいノードに対して進める(ステップ1246
)。
先順位のポインタであるかどうかについての決定が行わ
れ、その場合には、より高い優先順位のポインタが待機
状態にあるかどうかについての決定が行われる(ステッ
プ1148)。待機状態にある場合には、そのノードが
分類されていることを示すノードのための分類されたマ
ーカー(maker)が分類されたポインタによって通
過させられているかどうかについての決定が行われる(
ステップ1150)。このマーカーはバッファ制御処理
プログラム102によって維持されている内部的に可変
の値を持つ、そのマーカーは、ソースサーチおよびファ
イルルックアップがあるブイレフ斗りのための全てのエ
ントリが挿入されているとき、進められる。その場合に
は、ポインタが待機状前になり、復帰される。そうでな
い場合には、ポインタが新しいノードに対して進められ
(ステップ1152)、そのノードがそのポインタにつ
いて正しい形式のものであるかどうかについての決定が
行われる(ステップ1154)。たとえば、ポインタが
ファイル記述2次元リスト108のディレクトリエント
リを指定しているだけであり、ノードがデータファイル
エントリノードの場合、そのノード158は正しくない
。ノードが正しいノードでない場合、正しい高いノード
が発見されまで、上述したように、各ノードについてノ
ードのチエツクが継続される。しかしながら、ポインタ
が待機状態にあるより高い優先順位を持ったノートを指
定している場合そのポインタは進められない。たとえば
、バンファ制御除去ポインタは、依然として参照される
べきノードを除去しているので、待機状態にあるポイン
タが待機状態を過ぎても進められない。ポインタを指定
している時点において、待機状態がクリアされ(ステッ
プ1156)、新しいノードのインデックスによっで復
帰する (ステップ1 158) (以下余白) 新しいノードがファイル記述2次元(FD2)リスト1
0Bに挿入される必要があるときはいつでも、バンファ
制御処理プログラム102内の一部の処理である第40
図に示した処理1218がコールされる。この処理の最
初において、新しいノードが続いているファイル記述2
次元リスト108からノードが人手される(ステップ1
220)。これは、ノードポインタ番号を入手し、フィ
ールド211からアドレスを人手し、そのアドレスのあ
とに挿入することを意味している。続けられるノードが
決定された後、ノードおよび名称用のメモリ、および、
バスフィールドが割りつけられ(ステップ1222)、
続いて、ディレクトリ作成およびソースディレクトリ階
層化順序内のファイル記述2次元リス)108内にノー
ドが挿入される(ステップ1224)。新しいノードが
ファイルノードの場合(ステップ1226)、 このフ
ァイルが親ディレクトリ内の最初のファイルであるか否
かについて決定処理が行われ(ステップ1228)、そ
うである場合、親ファイルポインタが新しいノードにセ
ットされるが(ステップ1230)、そうでない場合に
は、そのファイルはファイルリストの最後に加えられる
(ステップ1232)、新しいノードがディレクトリノ
ードである場合、このノードが親ディレクトリ内の最初
のノードであるか否かについての決定処理が行われ(ス
テップ1234)、そうであれば、親のサブデイレクト
リポインタが新しいノー1′にセットされ(ステップ1
236)、そうでない場合には、新しいノードはディレ
クトリのファイル記述2次元リスト108に加えられる
(ステップ1238)。次に、従来から知られている技
法を用いて残っているディレクトリ構造ポインタがセッ
トされ(ステップ1240)、続いて、知られているデ
ータフィールドを充満させ(ステップ1242)、第3
9図のポインタを進める処理1128をコールしてポイ
ンタを新しいノードに対して進める(ステップ1246
)。
処理がバッファ制御処理プログラム102をコールして
リングポインタを定義するとき、第41図に示した処理
1168が実施される。この処理1168は第38図の
ファイル記述ポインタを定義する処理1098と非常に
類似しており、ポインタを最も優先順位の低いものにセ
ットする処理1170から開始する。第38図を参照し
て述べたと同じ比較処理が、規定を要求するポインタが
リング規定情報が完了する(ステップ1184)時点に
おいて発見されるまで、リングポインタのアレーを用い
るリングポインタを参照して行われる。
リングポインタを定義するとき、第41図に示した処理
1168が実施される。この処理1168は第38図の
ファイル記述ポインタを定義する処理1098と非常に
類似しており、ポインタを最も優先順位の低いものにセ
ットする処理1170から開始する。第38図を参照し
て述べたと同じ比較処理が、規定を要求するポインタが
リング規定情報が完了する(ステップ1184)時点に
おいて発見されるまで、リングポインタのアレーを用い
るリングポインタを参照して行われる。
第42図に示したリングポインタを進める処理1188
は、リングの最後には遭遇しないことを除いて、ファイ
ル記述2次元リスト108のポインタを進める処理と実
質的に同じである。この処理は入力ポインタが最後のイ
クステントにあるか否かについての決定処理1190で
始まり、そうであれば、処理は復帰する(ステ・ンブ1
192)。そうでなければ、リングポインタ用の次のイ
クステントが入手され、続けて、ポインタのリング番号
処理が続けられる。ポインタが続いており。
は、リングの最後には遭遇しないことを除いて、ファイ
ル記述2次元リスト108のポインタを進める処理と実
質的に同じである。この処理は入力ポインタが最後のイ
クステントにあるか否かについての決定処理1190で
始まり、そうであれば、処理は復帰する(ステ・ンブ1
192)。そうでなければ、リングポインタ用の次のイ
クステントが入手され、続けて、ポインタのリング番号
処理が続けられる。ポインタが続いており。
人力ポインタが同じイクステントにあるとき(ステップ
1198)、ポインタは待機状態にセットされ(ステッ
プ1200)、待機状態になる(ステップ1202)。
1198)、ポインタは待機状態にセットされ(ステッ
プ1200)、待機状態になる(ステップ1202)。
ポインタが同じイクステントにない場合、ステップ12
04において1次のポインタがイクステントに続くポイ
ンタと同じであるか否かについての決定が行われる(ス
テップ1204)。もしそうであれば、続くポインタが
待機状態にあるか否かについての決定が行われる(ステ
ップ1206)。もし待機状態にない場合。
04において1次のポインタがイクステントに続くポイ
ンタと同じであるか否かについての決定が行われる(ス
テップ1204)。もしそうであれば、続くポインタが
待機状態にあるか否かについての決定が行われる(ステ
ップ1206)。もし待機状態にない場合。
もう−度待機状態にさせられる。一方、待機状態にある
場合は1人カポインタが次のイクステントに対して更新
させられ(ステップ1208)、ポインタの待機状態が
クリアされ(ステップ1210)、新しいイクステント
のアドレスに復帰する(ステップ1212)。
場合は1人カポインタが次のイクステントに対して更新
させられ(ステップ1208)、ポインタの待機状態が
クリアされ(ステップ1210)、新しいイクステント
のアドレスに復帰する(ステップ1212)。
特定的な例として1本発明が、 set”で終わる
全てのディレクトリトリーを複写し、それらのディレク
トリの他のものとして、DOSディスクを保持している
一方のディスクドライブから■MSディスクを保持して
いる他方のディスクドライブへの全てのファイル(“”
(*’)を複写するために用いられるとき、挿入される
コマンドはは次のものである。
全てのディレクトリトリーを複写し、それらのディレク
トリの他のものとして、DOSディスクを保持している
一方のディスクドライブから■MSディスクを保持して
いる他方のディスクドライブへの全てのファイル(“”
(*’)を複写するために用いられるとき、挿入される
コマンドはは次のものである。
bypass copy a:\本seL\71.
\Il+0本e:\0.。
\Il+0本e:\0.。
このコマンドは、マシンとしてIBM PCなどのマ
シンが用いられたとき、DOSオペレーティングシステ
ムにVMSブロック110に対するDOSブロックI1
0を転送させる。この例示において、我々は、ソースお
よびディストネーションディストネーションのディレク
トリが下記のようになっていると仮定している。
シンが用いられたとき、DOSオペレーティングシステ
ムにVMSブロック110に対するDOSブロックI1
0を転送させる。この例示において、我々は、ソースお
よびディストネーションディストネーションのディレク
トリが下記のようになっていると仮定している。
占のソース−・ 2
Dos Root Dir:
110、SYS
MSDO3,SYS
COMMAND、 COM
DISK、 VOL
COLOR3ET
S W A P E S E T
TEXTSET
Colorset Dir:
Blue、 txt
Green、 txt
Red、 jxt
Sha eset Dir:
C1rcle、 txt
Square、 txt
Triangle、 txt
Testset Dir:
Te5tl、 txt
Test2. txt
占にお番る一゛
ス
ーショアー゛
レクトリ
○○O○○○、dir
backup、 5ys
badblk、 S ys
badlog、 sys
bitmap、 5ys
conti、 sys
corimig、 5ys
indexf、 sys
king、 dir
VOISet、 S)’S
whfslu、dir
ディストネーションデータリング内の最初のイクステン
トが書き込まれる時点において処理が停止されるとき3
種々のデータ構造および協働するポインタが第43図〜
第48図に示される。すなわち、第43図〜第48図は
転送によって分離される本発明のデータ構造についての
内容のスナップショトを提供している。第43図に示す
ようにスナップショトの時点において、ソースデータリ
ング112はグリーンテキスト(”green tex
t”)内容、レッドテキスト(”red text”)
内容、ブルーテキスト(”blue text’)内容
およびサークルテキスト(circle text”)
内容で埋められる。II te s t 1 ”および
°“test2”の内容はまだ読み込まれていない。翻
訳処理プログラム114は、ディストネーションデータ
・リング116に示したソースデータリングの内容につ
いての翻訳処理を完了している。ソースディレクトリ・
リング275は依然として、 cofor se
t”ディレクトリ、および、 5hape se
t”ディレクトリのためのディレクトリ内容を有してい
る。しかしながら、 °″test set″ディレ
クトリの内容はまだソースディレクトリ・リング275
には転送されていない。ソースディスク270がブロッ
クI 10 D OSソースディスクなので、ソースロ
ケーションウィンドー276は隣接するウィンドー内に
DO3のためのファイルアロケーションテーブルを有し
ている。ディストネーシゴンDIR−INリング294
内のディストネーションディレクトリは依然として、デ
ィストネーションディレクトリ・ルート、および、
C0for set”ディレクトリおよび” s
h a pe set″ディレクトリの空内容を有し
ている。ディストネーションD I R−OUTリング
296は、第47図に図解されている合併したルートデ
ィレクトリ内容および合併した’coforset”デ
ィレクトリ内容を有している。ディストネーションディ
スク304がVMSであるから、ディストネーション・
ロケーション・ウィンドー290はヘッダ1〜4,45
0〜453および454〜457を有しており、ヘッダ
制御リスト(HCL)ウィンドー292は隣接している
VMSビットマツプを有しており、アロケーション制御
ウィンドーはブロックl〜78および78〜156のビ
ットを有している。
トが書き込まれる時点において処理が停止されるとき3
種々のデータ構造および協働するポインタが第43図〜
第48図に示される。すなわち、第43図〜第48図は
転送によって分離される本発明のデータ構造についての
内容のスナップショトを提供している。第43図に示す
ようにスナップショトの時点において、ソースデータリ
ング112はグリーンテキスト(”green tex
t”)内容、レッドテキスト(”red text”)
内容、ブルーテキスト(”blue text’)内容
およびサークルテキスト(circle text”)
内容で埋められる。II te s t 1 ”および
°“test2”の内容はまだ読み込まれていない。翻
訳処理プログラム114は、ディストネーションデータ
・リング116に示したソースデータリングの内容につ
いての翻訳処理を完了している。ソースディレクトリ・
リング275は依然として、 cofor se
t”ディレクトリ、および、 5hape se
t”ディレクトリのためのディレクトリ内容を有してい
る。しかしながら、 °″test set″ディレ
クトリの内容はまだソースディレクトリ・リング275
には転送されていない。ソースディスク270がブロッ
クI 10 D OSソースディスクなので、ソースロ
ケーションウィンドー276は隣接するウィンドー内に
DO3のためのファイルアロケーションテーブルを有し
ている。ディストネーシゴンDIR−INリング294
内のディストネーションディレクトリは依然として、デ
ィストネーションディレクトリ・ルート、および、
C0for set”ディレクトリおよび” s
h a pe set″ディレクトリの空内容を有し
ている。ディストネーションD I R−OUTリング
296は、第47図に図解されている合併したルートデ
ィレクトリ内容および合併した’coforset”デ
ィレクトリ内容を有している。ディストネーションディ
スク304がVMSであるから、ディストネーション・
ロケーション・ウィンドー290はヘッダ1〜4,45
0〜453および454〜457を有しており、ヘッダ
制御リスト(HCL)ウィンドー292は隣接している
VMSビットマツプを有しており、アロケーション制御
ウィンドーはブロックl〜78および78〜156のビ
ットを有している。
第44図にディレクトリ作成ポインタに関連づけたスナ
ップショト時点におけるファイル記述2次元リスト10
8が示されている。両方向に矢印がつけられて示されて
いるディレクトリ作成ポインタは順序を占めており、こ
の順序に従って。
ップショト時点におけるファイル記述2次元リスト10
8が示されている。両方向に矢印がつけられて示されて
いるディレクトリ作成ポインタは順序を占めており、こ
の順序に従って。
text set″ディレクトリのファイルがまだフ
ァイル記述2次元リスト10Bに加えられていないこと
を示している疑問符によってディレクトリが作成される
。このファイル記述2次元リスト108内において、バ
ッファ制御除去ポインタ1260がルートディレクトリ
1262を指定していることを示している待機状態にあ
る。ヘッダ形成デイレクトリポインタ1264が“’c
ol。
ァイル記述2次元リスト10Bに加えられていないこと
を示している疑問符によってディレクトリが作成される
。このファイル記述2次元リスト108内において、バ
ッファ制御除去ポインタ1260がルートディレクトリ
1262を指定していることを示している待機状態にあ
る。ヘッダ形成デイレクトリポインタ1264が“’c
ol。
r set″ディレクトリを指定している。 5h
ape set”ディレクトリエントリノード126
日が待機状態にあるディストネーション・ロケーション
・ディレクトリ・ポインタ1270、アウェーテングデ
ータであるブロックライトデイレクトリポインタ127
4.待機状態にあるディレクトリ作成ポインタ1276
によって指定されている。ファイル記述2次元リスト1
08内の”text set”ディレクトリエントリ
1278が、ソースディレクトリ・リング275に空き
ルームを待っているブロックリードディレクトリポイン
タ1279によって指定される。 red tex
t”エントリ1274が、待機状態にあるファイルのた
めのヘッダブロックポインタ1286、および、また待
機状態にあるファイルのためのブロックライトポインタ
1288によって指定される。 circle t
ext”エントリ1290が、ともに待機状態にあるデ
ィレクトリ作成挿入ポインタ1292および翻訳ポイン
タ1294によって指し示される。 5quaret
e x t ”が、ソースサーチ可変移動ポインタ1
298、および、ソースファイルデータ・リング112
にルームを待っているブロックリードファイルポインタ
1300によって指し示される。
ape set”ディレクトリエントリノード126
日が待機状態にあるディストネーション・ロケーション
・ディレクトリ・ポインタ1270、アウェーテングデ
ータであるブロックライトデイレクトリポインタ127
4.待機状態にあるディレクトリ作成ポインタ1276
によって指定されている。ファイル記述2次元リスト1
08内の”text set”ディレクトリエントリ
1278が、ソースディレクトリ・リング275に空き
ルームを待っているブロックリードディレクトリポイン
タ1279によって指定される。 red tex
t”エントリ1274が、待機状態にあるファイルのた
めのヘッダブロックポインタ1286、および、また待
機状態にあるファイルのためのブロックライトポインタ
1288によって指定される。 circle t
ext”エントリ1290が、ともに待機状態にあるデ
ィレクトリ作成挿入ポインタ1292および翻訳ポイン
タ1294によって指し示される。 5quaret
e x t ”が、ソースサーチ可変移動ポインタ1
298、および、ソースファイルデータ・リング112
にルームを待っているブロックリードファイルポインタ
1300によって指し示される。
”triangle text”エントリ1302が
、待機状態にあるソースロケーションポインタ1304
によって指し示される。
、待機状態にあるソースロケーションポインタ1304
によって指し示される。
第45図にはファイル記述2次元リスト108のソース
ディレクトリ階層次元が示されている。
ディレクトリ階層次元が示されている。
この構造は、 root” 1262を指定してい
る親ポインタ1310.ディレクトリエントリの前の前
進デイレクトリポインタ1312および後進デイレクト
リポインタ1314. ファイルポインタ1316.
前進ファイルポインタ1318および後進ファイルポイ
ンタ1320. ファイル親ポインタ1322.およ
び、サブデイレクトリポインタ1324を有している。
る親ポインタ1310.ディレクトリエントリの前の前
進デイレクトリポインタ1312および後進デイレクト
リポインタ1314. ファイルポインタ1316.
前進ファイルポインタ1318および後進ファイルポイ
ンタ1320. ファイル親ポインタ1322.およ
び、サブデイレクトリポインタ1324を有している。
第46図にはディストネーションデータ・リング116
の内容が示されている。ディストネーションポインタ2
25がバッファセグメント220を有しており、このバ
ッファセグメントは利用可能なスペースと割りつけられ
ている1つのバッファセグメント222とを有している
。このディストネーションデータ・リング116に用い
るポインタの数は3であり、最も優先順位の高いポイン
タは翻訳ポインタ1294である。削りつけられた2つ
のバッファセグメントは8にバイトの大きさを有してお
り、ディストネーションデータ・リング116は10個
のイクステント(extl 〜extlO)を有してい
る。イクステント1〜5 (extl〜ext5) は
、 ” b I u e t e x t ”
r e d text”、 green
text″の第1および第2の半分、および、 c
ircle text”のためのロケ−シラン情報を
有している。翻訳ポインタ1294はイクステント6
(ex t6)において空白としてデータを待っている
ことを示しており、イクステント5 (ext5)にお
いて、ファイルのブロックライトおよびバッファ制御ポ
インタが“circle text”のためのもので
ある。
の内容が示されている。ディストネーションポインタ2
25がバッファセグメント220を有しており、このバ
ッファセグメントは利用可能なスペースと割りつけられ
ている1つのバッファセグメント222とを有している
。このディストネーションデータ・リング116に用い
るポインタの数は3であり、最も優先順位の高いポイン
タは翻訳ポインタ1294である。削りつけられた2つ
のバッファセグメントは8にバイトの大きさを有してお
り、ディストネーションデータ・リング116は10個
のイクステント(extl 〜extlO)を有してい
る。イクステント1〜5 (extl〜ext5) は
、 ” b I u e t e x t ”
r e d text”、 green
text″の第1および第2の半分、および、 c
ircle text”のためのロケ−シラン情報を
有している。翻訳ポインタ1294はイクステント6
(ex t6)において空白としてデータを待っている
ことを示しており、イクステント5 (ext5)にお
いて、ファイルのブロックライトおよびバッファ制御ポ
インタが“circle text”のためのもので
ある。
第47図に示したように、スナップショツト時点におけ
るディストネーション・ロケーション・ウィンドー29
0は、ディストネーシジンディスク304に存在するデ
ィストネーションディスクファイルおよびcolor
set”ディレクトリ用のヘッダ、blue t、
ext”ディレクトリ、 green text
”ディレクトリ、および、 red text”
ディレクトリを有している。バッファも初期化されてい
ないヘッダのためのスペースおよびまだ割り付けされて
いないヘッダを有している。
るディストネーション・ロケーション・ウィンドー29
0は、ディストネーシジンディスク304に存在するデ
ィストネーションディスクファイルおよびcolor
set”ディレクトリ用のヘッダ、blue t、
ext”ディレクトリ、 green text
”ディレクトリ、および、 red text”
ディレクトリを有している。バッファも初期化されてい
ないヘッダのためのスペースおよびまだ割り付けされて
いないヘッダを有している。
第48図にはディストネーション・デイレクトリアウド
(D I R−OUT)リング296の内容が示されて
いる。この内容はディストネーションディレクトリ作成
処理プログラム282によってディレクトリがアルファ
ベットの順序で分類されていることを示している。ヘッ
ダの番号が各ディレクトリについて割りつけられており
9ヘツダ制御リストウインドー292の対応するビット
がそのヘッダが割りつけられていることを示すためにセ
ットされている。
(D I R−OUT)リング296の内容が示されて
いる。この内容はディストネーションディレクトリ作成
処理プログラム282によってディレクトリがアルファ
ベットの順序で分類されていることを示している。ヘッ
ダの番号が各ディレクトリについて割りつけられており
9ヘツダ制御リストウインドー292の対応するビット
がそのヘッダが割りつけられていることを示すためにセ
ットされている。
VMSにおいて読み込み処理および書き込み処理が行わ
れているとき、各ブロックの大きさは512バイトであ
るが、DO3においては各ブロックの大きさは8にバイ
トである。本発明で行われる絶対的な読み込み処理およ
び書き込み処理は。
れているとき、各ブロックの大きさは512バイトであ
るが、DO3においては各ブロックの大きさは8にバイ
トである。本発明で行われる絶対的な読み込み処理およ
び書き込み処理は。
転送システム36が何を要求しているかということから
何のディスクフォーマットを要求しているかということ
までの希望するディスクフォーマットについて適切な翻
訳処理を行う。たとえば、ディストネーションデータ・
リング116の内の最初のイクステントについてのブロ
ック書き込みがディストネーションディスク304に行
われているとき、第49図において斜線で示したディス
クブロックの内容は“blue text”ファイル
の内容を有している。目標のディスクのブロックの大き
さは512バイトであり、目標のI10ブロックの大き
さは8にバイトである。“’blue text″゛
ファイルは4にバイトであるからVMSにおイテは、ブ
ロック10333〜10340が割りつけられる。ブロ
ックの比率は8に1512または16である。ディスト
ネーションディスク304に°’blue text
”を書き込む処理は、ディストネーションディスク30
4からバッファにDOSブロック645〜646を読み
出す処理、DOSブロック645バッファの最後に”
b I u e t e x t ”を複写し、DO
Sブロック646の最初に“blue text”の
最後の2560ビツトを複写する処理、および、ディス
トネーションディスク304にブロック10333〜1
0340を書き込む処理を含んでいる。
何のディスクフォーマットを要求しているかということ
までの希望するディスクフォーマットについて適切な翻
訳処理を行う。たとえば、ディストネーションデータ・
リング116の内の最初のイクステントについてのブロ
ック書き込みがディストネーションディスク304に行
われているとき、第49図において斜線で示したディス
クブロックの内容は“blue text”ファイル
の内容を有している。目標のディスクのブロックの大き
さは512バイトであり、目標のI10ブロックの大き
さは8にバイトである。“’blue text″゛
ファイルは4にバイトであるからVMSにおイテは、ブ
ロック10333〜10340が割りつけられる。ブロ
ックの比率は8に1512または16である。ディスト
ネーションディスク304に°’blue text
”を書き込む処理は、ディストネーションディスク30
4からバッファにDOSブロック645〜646を読み
出す処理、DOSブロック645バッファの最後に”
b I u e t e x t ”を複写し、DO
Sブロック646の最初に“blue text”の
最後の2560ビツトを複写する処理、および、ディス
トネーションディスク304にブロック10333〜1
0340を書き込む処理を含んでいる。
選択的なファイル翻訳能力を提供するために。
各ファイルノードがソースファイル・ルックアップ処理
プログラム104またはソースディレクトリ・サーチ処
理プログラム280によってファイル記述2次元リスト
108内に生成されるとき。
プログラム104またはソースディレクトリ・サーチ処
理プログラム280によってファイル記述2次元リスト
108内に生成されるとき。
ユーザーがユーザーインターツース処理プログラム10
0に対応して指定することにより、どのファイルが翻訳
を要求するかを特定することができる。このため、ファ
イルノードが生成されるいずれかの時に、ユーザーイン
ターツース処理プログラム100をコールして、ユーザ
ーインターツース処理プログラム100が簡単な質問メ
ツセージ「ファイル名称を翻訳すべきか? (Shou
ld″filename’ be translate
d?) 」を出力して問い合わせる。このコールからの
復帰情報は、ファイル記述2次元リストlO8の対応す
るノードの翻訳フィールドに記憶されているyes”ま
たは“n。
0に対応して指定することにより、どのファイルが翻訳
を要求するかを特定することができる。このため、ファ
イルノードが生成されるいずれかの時に、ユーザーイン
ターツース処理プログラム100をコールして、ユーザ
ーインターツース処理プログラム100が簡単な質問メ
ツセージ「ファイル名称を翻訳すべきか? (Shou
ld″filename’ be translate
d?) 」を出力して問い合わせる。このコールからの
復帰情報は、ファイル記述2次元リストlO8の対応す
るノードの翻訳フィールドに記憶されているyes”ま
たは“n。
パのメツセージとなる。翻訳処理プログラム114はフ
ラグを検査し、フラグが問い合わせに対して“yes”
状態にセットされている場合には上述したように翻訳処
理を行い、そうでない場合には、翻訳処理を行わずにソ
ースファイルデータ・リング112からディストネーシ
ョンデータ・リング116にファイルが移動させる。
ラグを検査し、フラグが問い合わせに対して“yes”
状態にセットされている場合には上述したように翻訳処
理を行い、そうでない場合には、翻訳処理を行わずにソ
ースファイルデータ・リング112からディストネーシ
ョンデータ・リング116にファイルが移動させる。
DIRコマンドはリード処理プログラム、特にファイル
記述2次元リスト108にディレクトリおよびファイル
エントリノードを生成するディレクトリリード処理プロ
グラムを起動する。ソースディレクトリ・サーチ処理プ
ログラム280がファイル記述2次元リスト108にエ
ントリを生成するとき、エントリファイル名称がそのフ
ァイルのためのディレクトリパスによってユーザースク
リーンに再び映し出される。
記述2次元リスト108にディレクトリおよびファイル
エントリノードを生成するディレクトリリード処理プロ
グラムを起動する。ソースディレクトリ・サーチ処理プ
ログラム280がファイル記述2次元リスト108にエ
ントリを生成するとき、エントリファイル名称がそのフ
ァイルのためのディレクトリパスによってユーザースク
リーンに再び映し出される。
ユーザーによって挿入されたとき、復習のためにユーザ
ースクリーンにファイルを書き込むためのTYPEコマ
ンドもまた。リード処理プログラム、特に、ソースブロ
ックリード処理プログラム274を起動する。ファイル
内容がソースファイルデータ・リング112に置かれる
べきとき、ソースブロックリード処理プログラム274
は入力バッファの内容をユーザースクリーンに映し出す
。この場合、ディスクが異種のファイルフォーマットデ
ィスクのときには、ファイルの内容を元々のオペレーテ
ィングシステムのフォーマットに翻訳しない。翻訳した
ファイルをユーザースクリーンに転送するため、ディス
トネーションファイルライト処理プログラム120は、
リード処理プログラムに加えて翻訳処理プログラム11
4およびディストネーションファイルライト処理プログ
ラム120の起動を要求する翻訳処理プログラムによる
翻訳の後、ディストネーションデータ・リング116か
らのファイルをユーザースクリーンに書き込む。
ースクリーンにファイルを書き込むためのTYPEコマ
ンドもまた。リード処理プログラム、特に、ソースブロ
ックリード処理プログラム274を起動する。ファイル
内容がソースファイルデータ・リング112に置かれる
べきとき、ソースブロックリード処理プログラム274
は入力バッファの内容をユーザースクリーンに映し出す
。この場合、ディスクが異種のファイルフォーマットデ
ィスクのときには、ファイルの内容を元々のオペレーテ
ィングシステムのフォーマットに翻訳しない。翻訳した
ファイルをユーザースクリーンに転送するため、ディス
トネーションファイルライト処理プログラム120は、
リード処理プログラムに加えて翻訳処理プログラム11
4およびディストネーションファイルライト処理プログ
ラム120の起動を要求する翻訳処理プログラムによる
翻訳の後、ディストネーションデータ・リング116か
らのファイルをユーザースクリーンに書き込む。
本発明の種々の特徴および利点が上記記述から明瞭であ
り、その結果として1本発明の真の技術的思想および範
囲にある本発明のそのような特徴および利点の全てが添
付の請求の範囲の記載事項によって包囲されることが意
図されている。さらに2種々の変形態様および改変が当
業者によって容易になされ9図解し記述した明確な構成
および動作にだけに本発明が限定されるものではなく。
り、その結果として1本発明の真の技術的思想および範
囲にある本発明のそのような特徴および利点の全てが添
付の請求の範囲の記載事項によって包囲されることが意
図されている。さらに2種々の変形態様および改変が当
業者によって容易になされ9図解し記述した明確な構成
および動作にだけに本発明が限定されるものではなく。
本発明の全ての変形形態および均等なものが本発明の範
囲に含まれるということについて訴追されるであろう。
囲に含まれるということについて訴追されるであろう。
たとえば1本発明は全ての処理を行う単一のプロセッサ
に関連づけて記述している。
に関連づけて記述している。
第37図は複数の動作のある処理動作は、もし共通メモ
リにアクセスするマルチプロセッサが利用可能ならば、
並列に行われ得ることが図解している。他の動作および
処理が、並列処理が可能な分野における当業者によって
認識され得る。
リにアクセスするマルチプロセッサが利用可能ならば、
並列に行われ得ることが図解している。他の動作および
処理が、並列処理が可能な分野における当業者によって
認識され得る。
以上に述べたように1本発明によれば、ホストコンピュ
ータのオペレーティングシステムとは異なるオペレーテ
ィングシステムに適したファイルフォーマットを有する
ディスクに対してユーザーがアクセスでき、修飾でき、
ホストコンピュータ側で修飾したファイルを異種のファ
イルフォーマットディスクに戻し、ユーザーがそのディ
スクでファイルフォーマットを作成できる。簡便なファ
イル転送方法および装置が提供できる。
ータのオペレーティングシステムとは異なるオペレーテ
ィングシステムに適したファイルフォーマットを有する
ディスクに対してユーザーがアクセスでき、修飾でき、
ホストコンピュータ側で修飾したファイルを異種のファ
イルフォーマットディスクに戻し、ユーザーがそのディ
スクでファイルフォーマットを作成できる。簡便なファ
イル転送方法および装置が提供できる。
第1図は従来の異なるファイルフォーマット内のディス
クファイル用の転送方法を図解する図であり。 第2図は本発明の動作を図解する図であり。 第3図は本発明のグローバルな動作記述データ構造60
の内容を図解する図であり。 第4図は本発明の処理実行、および、ファイル入出力(
1/○)転送に対するファイルI10のためのデータの
流れを図解する図であり。 第5図は本発明の例示的な階層ディレクトリ構造を示す
図であり1 第6図は第5図に示したファイル記述2次元(FD2)
リスト108の構造を図解する図であり第7図は第5図
に示したファイル記述2次元(FD2)リスト10B内
の構造のためのディレクトリ作成順序を図解する図であ
り 第8図は第5図のファイル記述2次元リスト108の各
リストノー1’158の内容を図解する図であり。 第9A図〜第9D図は第5図のファイル記述2次元リス
ト108の各リストノード158内のフィールドの内容
を示す図であって、第9A図は第9B図〜第9D図の全
体を示す図、第9B図はVMSエントリの構成を示す図
、第9C図はDOSエントリの構成を示す図、第9D図
は次のシステムエントリを示す図であり。 第10A図および第10B図は第5図のファイル記述2
次元リスト108の各リストノード158内のフィール
ドの内容を示す図であって、第10A図はディスク・ロ
ケーション・フィールド176を示す図、第10B図は
ブロックロケーション・レコード204を示す図であり
。 第11図は第5図のファイル記述リスト108の各ノー
ド158に対する各ポインタのためのポインタ定義を図
解する図であり。 第12図は本発明に用いるリングの内容を図解する図で
あり。 第13図は本発明のリングポインタの定義を示す図であ
り。 第14図はブロックr10転送に対するブロックI10
を図解する図であり 第15図はウィンドーバッファを図解する図であり。 第16図および第17図はデータの流れとファイルI1
0およびブロックI10転送の組合せについての処理実
行を示す図であり。 第18図は処理実行順序を制御する処理制御ルーチン3
98のフローチャートであり。 第19図はユーザーインターツース処理プログラム10
0のフローチャートであり。 第20図はソースデイレクトリサーチ処理プログラム2
80のフローチャートであり。 第21図はソースロケーシジン処理プログラム278お
よびディストネーションロケーション処理プログラム2
84のフローチャートであり。 第22図はブロックリード処理プログラム274を示す
フローチャートであり。 第23図は第22図のブロック534および538内の
ディレクトリとファイルの読みを示す図であり。 第24図は第22図のブロック542内のヘッダの読み
を示す図であり。 第25図はファイル・ルックアップ処理プログラム10
4のフローチャートであり2 第26図はファイルリード処理プログラム110を示す
フローチャートであり。 第27図は翻訳処理プログラム114の動作を図解する
フローチャートであり。 第28図はディレクトリ作成処理プログラム282の流
れを示すフローチャートであり。 第29図は第28図の合併分類処理動作を図解する図で
あり。 第30図は第28図の合併・非分類処理動作プログラム
780の流れを示す図であり。 第31図はヘッダ作成処理プログラム286のフローチ
ャートであり。 第32図はブロックライト処理プログラム300のフロ
ーチャートであり、 第33図は第32図におけるファイルまたはディレクト
リのブロック書き込み段階(ステップ)924または9
40を示す図であり。 第34図は第32図のウィンドー書き込み段階928の
流れを示す図であり。 第35図はディレクトリ作成処理プログラムl18のフ
ローチャートであり。 第36図はファイルライト処理プログラム120を示す
図であり。 第37図は第18図のプロセス制御ルーチン398によ
ってコールされるバッファ制御処理プログラム102の
一部を図解する図であり。 第38図はバッファ制御処理プログラム102のファイ
ル記述ポインタの定義動作を図解する図であり。 第39図はバッファ制御処理プログラム102のファイ
ル記述ポインタを進める処理1128を示す図であり。 第40図はファイル記述2次元リスト内のノードのため
の挿入動作1218を図解する図であり第41図はバッ
ファ制御処理プログラム102のリングポインタの定義
処理1168のフローチャートであり。 第42図はバッファ制御プログラム102によって遂1
テされるリングポインタを進める処理1188を図解す
る図であり。 第43図は転送スナップショットの間のリングの全体内
容を図解する図であり。 第44図はスナップショットにおけるディレクトリ作成
の関連から明らかなファイル記述2次元リスト108の
内容を示す図であり2 第45図はソースディレクトリ構造階層順序内のファイ
ル記述2次元リスト10Bを示す図であり。 第46図はスナップショットにおけるディストネーショ
ンデータ・リング116の内容を示す図であり。 第47図はディストネーションウィンドー290の内容
のスナップショットを示す図であり。 第48図はディストネーションディレクトリ・アウト(
DIR−OUT)リング296の内容を示す図であり。 第49図はディストネーションデータ・リング116に
ある第1の内容がディストネーションディスク304に
書き込まれる時のDOSブロックとVMSブロックとの
関係を図解する図である。 (以下余白) (符号の説明) 10・・・ホストディスクシステム。 12・・・ホストコンピュータシステム。 14・・・異種ディスクシステム。 16・・・異種コンピュータシステム。 18.20・・・モデム。 30・・・ホストコンピュータ。 32・・・異種フォーマットディスク。 34・・・異種ディスクドライブ。 36・・・転送システム(バイパスアプリケーションプ
ログラム)。 38・・・ユーザー 40・・・ホストフォーマットディスク。 42・・・ホストディスクドライブ。 44・・・ホストオペレーティングシステム 46・・・ホストアプリケーションプログラム。 60・・・動作記述データ構造。 100・・・ユーザーインターフェース処理プログラム
。 102・・・バッファ制御処理プログラム。 104・・・ソースファイル・ルックアップ処理プログ
ラム。 106・・・ソースディスク。 10日・・・ファイル記述2次元(FD2)リスト。 110・・・ソースファイルリード処理プログラム。 112・・・ソースデータ・リング。 114・・・翻訳処理プログラム。 116・・・ディストネーションデータ・リング。 118・・・ディストネーシジンディレクトリ作成処理
プログラム。 120・・・ディストネーシッンファイルライト処理プ
ログラム。 122・・・ディストネーションディスク。 158・・・ファイル記述リストノード。 242・・・イクステント(EXTENT)274・・
・ソースブロックリード処理ルーチン。 275・・・ソースディレクトリ・リング。 276・・・ソースロケーションウィンドー278・・
−ノースロケーション処理ルーチン 280・・・ソースデイレクトリサーチ処理プログラム
。 282・・・ディストネーション・ディレクトリ作成処
理プログラム。 284・・・ディストネーションロケーション 286・・・ヘッダ作成処理プログラム。 290・・・ディストネーション・ロケーション・ウィ
ンドー 292・・・ヘッダ制御リスト(HCL)ウィンドー 294・・・ディストネーションDIR−INリング。 296・・・ディストネーシゴンDIR−OUTリング
。 298・・・アロケーション制御リスト(ACL)ウィ
ンドー 300・・・ディストネーションブロック・ライト処理
プログラム。 302・・・ディスク情報。 304・・・ディストネーションディスク。 307・・・ディストネーションブロック・ライト処理
プログラム。 330・・・ウィンド一定義。 398・・・処理制御ルーチン。 534・・・ソースディレクトリリードルーチン。 538・・・ソースファイルリードルーチン542 ・ 778 ・ 780 ・ ・・ブロックリード処理ルーチン。 ・・ディレクトリエントリ合併処理 ルーチン。 ・・未分類エントリの合併処理ルー 924 ・ 928 ・ 932 ・ 940 ・ 962 ・ 974 ・ 1128 ・ l 188 ・ l 262 ・ 1266 ・ 1268 ・ 1278 ・ チン。 ・・ファイルブロック・ライトルー チン。 ・・ブロックライト・ウィンドー処 理ルーチン。 ・ ・リードルーチン。 ・・デイレクトリブロック・ライト ルーチン。 ・・リングイクステントポインタを 進める処理ルーチン。 ・・ライトルーチン。 ・・ポインタを進める処理。 ・・リングポインタを進める処理。 ・・ルートディレクトリ。 ・・C0LOR3ETデイレクトリ エントリノード。 ・・5WAPESETデイレクトリ エントリノード。 ・・TEXTSETデイレクトクリ エントリノード。 1280 ・ 1282 ・ 1284 ・ 1290 ・ 1296 ・ 1302 ・ ・BLUE、TXT。 ・GREEN、TXT。 ・RED、TXT。 ・CIRCLE、TXT。 ・5QUARE、TXT。 ・TRIANGLE、TXT。
クファイル用の転送方法を図解する図であり。 第2図は本発明の動作を図解する図であり。 第3図は本発明のグローバルな動作記述データ構造60
の内容を図解する図であり。 第4図は本発明の処理実行、および、ファイル入出力(
1/○)転送に対するファイルI10のためのデータの
流れを図解する図であり。 第5図は本発明の例示的な階層ディレクトリ構造を示す
図であり1 第6図は第5図に示したファイル記述2次元(FD2)
リスト108の構造を図解する図であり第7図は第5図
に示したファイル記述2次元(FD2)リスト10B内
の構造のためのディレクトリ作成順序を図解する図であ
り 第8図は第5図のファイル記述2次元リスト108の各
リストノー1’158の内容を図解する図であり。 第9A図〜第9D図は第5図のファイル記述2次元リス
ト108の各リストノード158内のフィールドの内容
を示す図であって、第9A図は第9B図〜第9D図の全
体を示す図、第9B図はVMSエントリの構成を示す図
、第9C図はDOSエントリの構成を示す図、第9D図
は次のシステムエントリを示す図であり。 第10A図および第10B図は第5図のファイル記述2
次元リスト108の各リストノード158内のフィール
ドの内容を示す図であって、第10A図はディスク・ロ
ケーション・フィールド176を示す図、第10B図は
ブロックロケーション・レコード204を示す図であり
。 第11図は第5図のファイル記述リスト108の各ノー
ド158に対する各ポインタのためのポインタ定義を図
解する図であり。 第12図は本発明に用いるリングの内容を図解する図で
あり。 第13図は本発明のリングポインタの定義を示す図であ
り。 第14図はブロックr10転送に対するブロックI10
を図解する図であり 第15図はウィンドーバッファを図解する図であり。 第16図および第17図はデータの流れとファイルI1
0およびブロックI10転送の組合せについての処理実
行を示す図であり。 第18図は処理実行順序を制御する処理制御ルーチン3
98のフローチャートであり。 第19図はユーザーインターツース処理プログラム10
0のフローチャートであり。 第20図はソースデイレクトリサーチ処理プログラム2
80のフローチャートであり。 第21図はソースロケーシジン処理プログラム278お
よびディストネーションロケーション処理プログラム2
84のフローチャートであり。 第22図はブロックリード処理プログラム274を示す
フローチャートであり。 第23図は第22図のブロック534および538内の
ディレクトリとファイルの読みを示す図であり。 第24図は第22図のブロック542内のヘッダの読み
を示す図であり。 第25図はファイル・ルックアップ処理プログラム10
4のフローチャートであり2 第26図はファイルリード処理プログラム110を示す
フローチャートであり。 第27図は翻訳処理プログラム114の動作を図解する
フローチャートであり。 第28図はディレクトリ作成処理プログラム282の流
れを示すフローチャートであり。 第29図は第28図の合併分類処理動作を図解する図で
あり。 第30図は第28図の合併・非分類処理動作プログラム
780の流れを示す図であり。 第31図はヘッダ作成処理プログラム286のフローチ
ャートであり。 第32図はブロックライト処理プログラム300のフロ
ーチャートであり、 第33図は第32図におけるファイルまたはディレクト
リのブロック書き込み段階(ステップ)924または9
40を示す図であり。 第34図は第32図のウィンドー書き込み段階928の
流れを示す図であり。 第35図はディレクトリ作成処理プログラムl18のフ
ローチャートであり。 第36図はファイルライト処理プログラム120を示す
図であり。 第37図は第18図のプロセス制御ルーチン398によ
ってコールされるバッファ制御処理プログラム102の
一部を図解する図であり。 第38図はバッファ制御処理プログラム102のファイ
ル記述ポインタの定義動作を図解する図であり。 第39図はバッファ制御処理プログラム102のファイ
ル記述ポインタを進める処理1128を示す図であり。 第40図はファイル記述2次元リスト内のノードのため
の挿入動作1218を図解する図であり第41図はバッ
ファ制御処理プログラム102のリングポインタの定義
処理1168のフローチャートであり。 第42図はバッファ制御プログラム102によって遂1
テされるリングポインタを進める処理1188を図解す
る図であり。 第43図は転送スナップショットの間のリングの全体内
容を図解する図であり。 第44図はスナップショットにおけるディレクトリ作成
の関連から明らかなファイル記述2次元リスト108の
内容を示す図であり2 第45図はソースディレクトリ構造階層順序内のファイ
ル記述2次元リスト10Bを示す図であり。 第46図はスナップショットにおけるディストネーショ
ンデータ・リング116の内容を示す図であり。 第47図はディストネーションウィンドー290の内容
のスナップショットを示す図であり。 第48図はディストネーションディレクトリ・アウト(
DIR−OUT)リング296の内容を示す図であり。 第49図はディストネーションデータ・リング116に
ある第1の内容がディストネーションディスク304に
書き込まれる時のDOSブロックとVMSブロックとの
関係を図解する図である。 (以下余白) (符号の説明) 10・・・ホストディスクシステム。 12・・・ホストコンピュータシステム。 14・・・異種ディスクシステム。 16・・・異種コンピュータシステム。 18.20・・・モデム。 30・・・ホストコンピュータ。 32・・・異種フォーマットディスク。 34・・・異種ディスクドライブ。 36・・・転送システム(バイパスアプリケーションプ
ログラム)。 38・・・ユーザー 40・・・ホストフォーマットディスク。 42・・・ホストディスクドライブ。 44・・・ホストオペレーティングシステム 46・・・ホストアプリケーションプログラム。 60・・・動作記述データ構造。 100・・・ユーザーインターフェース処理プログラム
。 102・・・バッファ制御処理プログラム。 104・・・ソースファイル・ルックアップ処理プログ
ラム。 106・・・ソースディスク。 10日・・・ファイル記述2次元(FD2)リスト。 110・・・ソースファイルリード処理プログラム。 112・・・ソースデータ・リング。 114・・・翻訳処理プログラム。 116・・・ディストネーションデータ・リング。 118・・・ディストネーシジンディレクトリ作成処理
プログラム。 120・・・ディストネーシッンファイルライト処理プ
ログラム。 122・・・ディストネーションディスク。 158・・・ファイル記述リストノード。 242・・・イクステント(EXTENT)274・・
・ソースブロックリード処理ルーチン。 275・・・ソースディレクトリ・リング。 276・・・ソースロケーションウィンドー278・・
−ノースロケーション処理ルーチン 280・・・ソースデイレクトリサーチ処理プログラム
。 282・・・ディストネーション・ディレクトリ作成処
理プログラム。 284・・・ディストネーションロケーション 286・・・ヘッダ作成処理プログラム。 290・・・ディストネーション・ロケーション・ウィ
ンドー 292・・・ヘッダ制御リスト(HCL)ウィンドー 294・・・ディストネーションDIR−INリング。 296・・・ディストネーシゴンDIR−OUTリング
。 298・・・アロケーション制御リスト(ACL)ウィ
ンドー 300・・・ディストネーションブロック・ライト処理
プログラム。 302・・・ディスク情報。 304・・・ディストネーションディスク。 307・・・ディストネーションブロック・ライト処理
プログラム。 330・・・ウィンド一定義。 398・・・処理制御ルーチン。 534・・・ソースディレクトリリードルーチン。 538・・・ソースファイルリードルーチン542 ・ 778 ・ 780 ・ ・・ブロックリード処理ルーチン。 ・・ディレクトリエントリ合併処理 ルーチン。 ・・未分類エントリの合併処理ルー 924 ・ 928 ・ 932 ・ 940 ・ 962 ・ 974 ・ 1128 ・ l 188 ・ l 262 ・ 1266 ・ 1268 ・ 1278 ・ チン。 ・・ファイルブロック・ライトルー チン。 ・・ブロックライト・ウィンドー処 理ルーチン。 ・ ・リードルーチン。 ・・デイレクトリブロック・ライト ルーチン。 ・・リングイクステントポインタを 進める処理ルーチン。 ・・ライトルーチン。 ・・ポインタを進める処理。 ・・リングポインタを進める処理。 ・・ルートディレクトリ。 ・・C0LOR3ETデイレクトリ エントリノード。 ・・5WAPESETデイレクトリ エントリノード。 ・・TEXTSETデイレクトクリ エントリノード。 1280 ・ 1282 ・ 1284 ・ 1290 ・ 1296 ・ 1302 ・ ・BLUE、TXT。 ・GREEN、TXT。 ・RED、TXT。 ・CIRCLE、TXT。 ・5QUARE、TXT。 ・TRIANGLE、TXT。
Claims (1)
- 【特許請求の範囲】 1、第1のファイルフォーマットを有するディスクから
コンピュータを用いてファイルを読み出す段階、および
、 第2のファイルフォーマットを有するファイルをコンピ
ュータを用いて書き込む段階 を具備するファイル転送方法。 2、前記ファイル読み出しは第1のディスクから行い、
前記書き込みは第2のディスクに行う請求項1記載のフ
ァイル転送方法。 3、前記第1および第2のファイルフォーマットを特定
するため、ユーザーに問い合わせる段階をさらに具備す
る請求項2記載のファイル転送方法。 4、前記読み出し段階は前記第1のディスクの、内容か
ら前記第1のファイルフォーマットを決定する段階を具
備し、 前記書き込み段階は前記第2のディスクの内容から前記
第2のファイルフォーマットを決定する段階を具備する
、請求項2記載のファイル転送方法。 5、第1のディスクファイル内容をソースファイル内容
リングに記憶する段階、 第1のディスクディレクトリ内容をソースディレクトリ
・リングに記憶する段階、 前記第1のディスクの第1のディレクトリ構造を秩序づ
ける(coordinating)第1の次元を有し、
前記第2のディスクの第2のディレクトリ構造を秩序づ
ける第2の次元を有する前記ディレクトリ内容から2次
元リストを生成する段階、 ソースファイル内容リングの内容をディストネーション
ファイル・リングに記憶する段階、および、 第2のディレクトリ内容をディストネーションディレク
トリ・リングに記憶する段階 をさらに具備する請求項4記載のファイル転送方法。 6、前記ディレクトリファイル内容ディレクトリと前記
ソースファイル内容リングとは同じリングである請求項
5記載のファイル転送方法。 7、ファイル用ヘッダおよび前記第2のディスク用ディ
レクトリを生成する段階をさらに具備する請求項5記載
のファイル転送方法。 8、前記ソースファイル内容リングからファイル内容を
前記ディストネーションファイル内容リングに移動させ
翻訳する段階をさらに具備する請求項7記載のファイル
転送方法。9、前記リングおよびリストにアクセスする
ことを制御する段階をさらに具備する請求項8記載のフ
ァイル転送方法。 10、第1のディスクの内容から第1のファイルフォー
マットを決定する段階、 第2のディスクの内容から第2のファイルフォーマット
を決定する段階、 前記第1のファイルフォーマットを有する前記第1のデ
ィスクからコンピュータを用いてファイルを読み出す段
階、 第1のファイルディスク内容をソースディストネーショ
ン・リングに記憶する段階、 第1のディスクディレクトリ内容をソースファイル内容
リングに記憶する段階、 前記第1のディスクの第1のディレクトリ構造を秩序づ
ける第1の次元を有し、前記第2のディスクの第2のデ
ィレクトリ構造を秩序づける第2の次元を有するディレ
クトリ内容から2次元リストを生成する段階、 前記ファイル内容のための第2のディレクトリ内容を前
記第2のディレクトリ構造に基づいてディストネーショ
ンディレクトリ・リングに記憶する段階、 前記ソースファイル内容リングの内容をディストネーシ
ョンファイル内容リングに転送する段階前記ファイル用
ヘッダおよび前記第2のディスク用のディレクトリを生
成する段階、 ディストネーションフィールド内容リングからのファイ
ル、および、ディストネーションディレクトリ・リング
からのディレクトリを前記と同じコンピュータを用いて
第2のファイルフォーマットを有する前記第2のディス
クに書き込む段階、および、 前記リングおよびリストへのアクセスを制御する段階 を具備するファイル転送方法。 11、ディスクドライブ、および、 該ディスクドライブに接続され、第1のファイルフォー
マットから第2のファイルフォーマットにファイルを転
送するための転送手段 を具備するファイル転送装置。 12、前記転送手段が、 第1のディスクの内容から前記第1のファイルフォーマ
ットを決定する手段、および、 第2の内容から前記第2のファイルフォーマットを決定
する手段 を具備する請求項11記載のファイル転送装置。 13、前記転送手段が、 第1のディスクディレクトリ内容をソースディレクトリ
・リングに記憶する手段、 第1のファイル内容をソースファイル・リングに記憶す
る手段、 前記第1のディスクの第1のディレクトリ構造を秩序づ
ける第1の次元を有し、前記第2のディスクの第2のデ
ィレクトリ構造を秩序づける第2の次元を有するディレ
クトリ内容から2次元リストを生成する手段、 ディストネーションファイル内容リングとしてソースフ
ァイル・リングの内容を指定する手段、および、 第2のディレクトリ内容をディストネーションディレク
トリ・リングに記憶する手段 をさらに具備する請求項12記載のファイル転送装置。 14、前記転送手段がファイル用ヘッダおよび前記第2
のディスクのディレクトリを生成する手段をさらに具備
する請求項13記載のファイル転送装置。 15、前記転送装置がディストネーションファイル内容
リングを有し、 前記転送手段が前記ソースファイル内容リングから前記
ディストネーションファイル内容リングにファイル内容
を移動させ翻訳する手段をさらに具備する請求項14記
載のファイル転送装置。 16、前記転送手段が前記リングおよび前記リストにア
クセスする制御する手段をさらに具備する請求項15記
載のファイル転送装置。 17、前記転送手段が、 第1のディスクからファイルを読み出し、前記ファイル
をソースディレクトリ・リングに記憶するソースファイ
ル読み出し手段、 前記第1のディスクのファイルの位置を決定するソース
ファイル・ルックアップ手段、 前記第1のディスクからブロックを読みだし、前記ファ
イルを前記ソースデータ・リングに記憶し、ディレクト
リをソースディレクトリ・リングに記憶するソースブロ
ック読み出し手段、 前記ディスクのディレクトリの位置を決定するソースロ
ケーション手段、 前記ソースディレクトリ・リングのディレクトリからフ
ァイル記述リスト内のファイルおよびディレクトリエン
トリを生成するソースディレクト・リサーチ手段、 前記ソースデータ・リング内の前記ファイルを翻訳し、
前記ファイルをディストネーションデータ・リングに記
憶する翻訳手段、 第2のディスクのディレクトリを位置づけるディストネ
ーションディレクトリ・ロケーション手段、 ファイル用ヘッダ、および、前記ファイル記述リストに
列挙されたディレクトリを組み立てるヘッダ作成手段、 前記ファイル記述リストのエントリおよび前記第2のデ
ィスクのディレクトリからディレクトリを組立て、ディ
レクトリをディストネーションディレクトリ・アウト・
リングのディレクトリに記憶するディストネーションデ
ィレクトリ作成手段ディレクトリデータ・リングからの
ファイルおよび前記ディストネーションディレクトリ・
アウト・リングからディレクトリ、および、ヘッダを前
記ディスクに記憶するディストネーションブロック書き
込み手段、 前記第2のディスクのディレクトリを生成するディスト
ネーションディレクトリを生成する手段前記ディストネ
ーションデータ・リングからファイルを前記ディスクに
書き込むディストネーションファイル書き込み手段、 前記リストを制御し、および、前記リストにアクセスす
ることを制御するバッファ制御手段、および、 前記各手段の実行順序を制御する処理制御手段を具備す
る、請求項11記載のファイル転送装置。 18、前記処理制御手段が前記第1および第2のディス
クに応答する手段を選択的に駆動する請求項15記載の
ファイル転送装置。 19、ディレクトリ構造階層順序およびディレクトリ作
成順序内のファイルおよびディレクトリエントリを記憶
している2次元ファイル記述リストを具備するファイル
転送装置のデータ構造。 20、前記リスト内にリスト化されたファイルを記憶し
ているソースデータ・リング、 前記リスト内のリスト化されたソースディレクトリ・リ
ング、および。 前記リストに列挙されたディレクトリ、および、ディス
トネーションディスクからのディレクトリを記憶してい
るディレクトリ・アウト・リングをさらに具備する請求
項19記載のデータ構造。 21、前記リストに列挙されたファイルを記憶するディ
ストネーションデータ・リングをさらに具備する請求項
20記載のデータ構造。 22、前記リスト内に列挙されたファイル用ロケーショ
ン情報を記憶するディストネーションロケーションウイ
ンドー、および、 前記リスト内にリスト化されたファイル、および、前記
ディストネーションディスクからのファイル用のロケー
ション情報を記憶するディストネーションロケーション
ウインドーをさらに具備する請求項21記載のデータ構
造。 23、前記ディストネーションディスクに配置されたス
ペースのインジケータを記憶するアロケーション制御リ
スト・ウインドー、および、前記ディストネーションデ
ィスクに配置されたインデックスのインジケータを記憶
するインデックス制御リスト・ウインドー をさらに具備する請求項22記載のデータ構造。 24、ソースディスク・ディレクトリ構造階層順序およ
びディストネーションディスク・ディレクトリ作成順序
におけるファイルおよびディレクトリエントリを記憶す
る2次元ファイル記述リスト、 ソースディスクからの前記リスト内に列挙されたファイ
ルを記憶するソースデータ・リング、前記ソースディス
クから前記リスト内に列挙されたディレクトリを記憶す
るソースディレクトリ・リング、 前記ソースデータリングの翻訳された内容を記憶するデ
ィストネーションデータ・アウト・リング、 前記リスト内に列挙され、そして、ディストネーション
データからディレクトリを記憶するディレクトリ・アウ
ト・リング、 前記リスト内に列挙されたファイル用のソースディスク
ロケーション情報を記憶するソースロケーション・ウイ
ンドー、 前記リスト内に列挙されたファイル、および、前記ディ
ストネーションディスクからのファイルのためのロケー
ション情報を記憶するディストネーションロケーション
情報、 前記ディストネーションディスクに配置されたスペース
のインジケータを記憶するアロケーション制御リスト・
ウインドー、および、 前記ディストネーションディスクに配置されたインデッ
クスのインジケータを記憶するインデックス制御リスト
・ウインドー を具備する、ディスクファイル転送システム用データ構
造。 25、第1のファイルフォーマットを有するディスクか
らのフォーマットおよびディレクトリ名称を、第2のフ
ァイルフォーマットを用いるオペレーティングシステム
を実行するコンピュータを用いて、読み出し、表示する
段階、を具備するフォーマット構造レビュー方法。 26、前記読み出し・表示段階が、前記ディスクからの
ファイルまたはディレクトリ名称が得られたとき、ファ
イル名称およびディレクトリパスをユーザースクリーン
に再び戻す段階を有する請求項25記載の方法。 27、コンピュータを用いて第1のファイルフォーマッ
トを有するディスクからファイルを読み出す段階、およ
び、 コンピュータを用いて第2のファイルフォーマットを有
するファイルを表示する段階 を具備するファイル表示方法。 28、前記ファイル内容が表示の前に翻訳される請求項
27記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US34855789A | 1989-05-08 | 1989-05-08 | |
| US348,557 | 1989-05-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03129443A true JPH03129443A (ja) | 1991-06-03 |
Family
ID=23368538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2115919A Pending JPH03129443A (ja) | 1989-05-08 | 1990-05-07 | ファイル転送方法とその装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5537592A (ja) |
| EP (1) | EP0397404A3 (ja) |
| JP (1) | JPH03129443A (ja) |
| CA (1) | CA2014799A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0764834A (ja) * | 1993-08-26 | 1995-03-10 | Nec Corp | フロッピーディスク装置 |
| JPH0922374A (ja) * | 1995-07-05 | 1997-01-21 | Hitachi Ltd | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 |
| JP2003513355A (ja) * | 1999-10-25 | 2003-04-08 | ネットワーク・アプライアンス・インコーポレイテッド | 異なるファイルシステム間におけるファイルシステムイメージトランスファー |
| JP2015524113A (ja) * | 2012-06-05 | 2015-08-20 | サムスン エレクトロニクス カンパニー リミテッド | 汎用デバイスにおけるファイル送受信装置及び方法 |
Families Citing this family (85)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5687396A (en) * | 1989-12-04 | 1997-11-11 | Canon Kabushiki Kaisha | Data buffer apparatus with interrupted transmission/reception |
| US5537379A (en) | 1991-05-10 | 1996-07-16 | Discovision Associates | Optical data storage and retrieval system and method |
| SG81970A1 (en) * | 1991-05-10 | 2001-07-24 | Discovision Ass | Optical data storage and retrieval system and method |
| US5745902A (en) * | 1992-07-06 | 1998-04-28 | Microsoft Corporation | Method and system for accessing a file using file names having different file name formats |
| US5615379A (en) * | 1994-08-26 | 1997-03-25 | Sprint International Communications Corp. | Method for editing data stored in files in which the file formats are unknown |
| US5675769A (en) * | 1995-02-23 | 1997-10-07 | Powerquest Corporation | Method for manipulating disk partitions |
| US5706472A (en) * | 1995-02-23 | 1998-01-06 | Powerquest Corporation | Method for manipulating disk partitions |
| US5930831A (en) * | 1995-02-23 | 1999-07-27 | Powerquest Corporation | Partition manipulation architecture supporting multiple file systems |
| US6108759A (en) * | 1995-02-23 | 2000-08-22 | Powerquest Corporation | Manipulation of partitions holding advanced file systems |
| US5625804A (en) * | 1995-04-17 | 1997-04-29 | International Business Machines Corporation | Data conversion in a multiprocessing system usable while maintaining system operations |
| US5680586A (en) * | 1995-04-18 | 1997-10-21 | International Business Machines Corporation | Method and system for storing and accessing user-defined attributes within a data processing system |
| US5675781A (en) * | 1995-07-06 | 1997-10-07 | Sun Microsystems, Inc. | Augmenting volume management of information storage devices to handle direct access to storage devices |
| US5884323A (en) * | 1995-10-13 | 1999-03-16 | 3Com Corporation | Extendible method and apparatus for synchronizing files on two different computer systems |
| US5727202A (en) * | 1995-10-18 | 1998-03-10 | Palm Computing, Inc. | Method and apparatus for synchronizing information on two different computer systems |
| US5953514A (en) * | 1995-10-23 | 1999-09-14 | Apple Computer, Inc. | Method and apparatus for transparent remote execution of commands |
| US5745679A (en) * | 1996-03-06 | 1998-04-28 | Micron Technology, Inc. | Method and device for file transfer by cascade release |
| US6185575B1 (en) | 1996-09-19 | 2001-02-06 | Powerquest Corporation | In-place disk partition canonization and storage optimization |
| US6029181A (en) * | 1996-09-26 | 2000-02-22 | Honeywell, Inc. | System and method for translating visual display object files from non-component object model (COM) objects to COM objects |
| US7206815B1 (en) | 1997-01-29 | 2007-04-17 | Palmsource Inc. | Method and apparatus for synchronizing an email client on a portable computer system with an email client on a desktop computer |
| US6401112B1 (en) | 1997-01-29 | 2002-06-04 | Palm, Inc. | Method and apparatus for synchronizing an Email client on a portable computer system with an Email client on a desktop computer |
| US6006274A (en) | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
| JPH10283240A (ja) * | 1997-04-09 | 1998-10-23 | Canon Electron Inc | 情報ファイル装置、情報ファイルの記録方法、および、情報ファイルの記録手順を記憶した記憶媒体 |
| US5946677A (en) * | 1997-04-14 | 1999-08-31 | Electronic Data Systems Corporation | System and method for locating and deleting computer files stored on a mass storage device |
| JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
| JP3548529B2 (ja) * | 1997-08-20 | 2004-07-28 | パワークエスト・コーポレーション | イメージ形成中のコンピュータ・パーティション操作 |
| DE69801320T2 (de) * | 1997-10-06 | 2002-05-29 | Powerquest Corp., Orem | System und verfahren für punkt-zu mehrpunkt bildübertragung zwischen rechnern in einem netzwerk |
| US6085266A (en) * | 1997-12-12 | 2000-07-04 | Unisys Corporation | System for unwrapping a single file from a compact disk for utilization by various computer platforms |
| US6205448B1 (en) * | 1998-01-30 | 2001-03-20 | 3Com Corporation | Method and apparatus of synchronizing two computer systems supporting multiple synchronization techniques |
| US6034686A (en) * | 1998-03-09 | 2000-03-07 | 3Com Corporation | Collapsing event display for small screen computer |
| US6223186B1 (en) * | 1998-05-04 | 2001-04-24 | Incyte Pharmaceuticals, Inc. | System and method for a precompiled database for biomolecular sequence information |
| CN1150541C (zh) * | 1998-05-15 | 2004-05-19 | 松下电器产业株式会社 | 对盘片记录媒体的数据复制方法、数据编辑方法及盘片记录装置 |
| US7025209B2 (en) | 1998-05-29 | 2006-04-11 | Palmsource, Inc. | Method and apparatus for wireless internet access |
| US6343318B1 (en) | 1998-05-29 | 2002-01-29 | Palm, Inc. | Method and apparatus for communicating information over low bandwidth communications networks |
| US6253326B1 (en) | 1998-05-29 | 2001-06-26 | Palm, Inc. | Method and system for secure communications |
| US6397259B1 (en) | 1998-05-29 | 2002-05-28 | Palm, Inc. | Method, system and apparatus for packet minimized communications |
| US6377958B1 (en) | 1998-07-15 | 2002-04-23 | Powerquest Corporation | File system conversion |
| US6486897B1 (en) * | 1998-09-29 | 2002-11-26 | Apple Computer, Inc. | Multi-repository display system using separate presentation, adaptation and access layers |
| US6230310B1 (en) * | 1998-09-29 | 2001-05-08 | Apple Computer, Inc., | Method and system for transparently transforming objects for application programs |
| US6192376B1 (en) | 1998-11-13 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery |
| US6553376B1 (en) * | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
| AU3873300A (en) * | 1999-03-08 | 2000-09-28 | Rock.Com, Inc. | Universal music player |
| US6895418B1 (en) * | 1999-04-28 | 2005-05-17 | Emc Corporation | Versatile indirection in an extent based file system |
| US6389572B1 (en) | 1999-05-28 | 2002-05-14 | Palm, Inc. | Method of extracting bits from modulated waveforms |
| US6360272B1 (en) | 1999-05-28 | 2002-03-19 | Palm, Inc. | Method and apparatus for maintaining a unified view of multiple mailboxes |
| US6321223B1 (en) * | 1999-07-07 | 2001-11-20 | Inventec Corp. | Method of identifying multilingual text for DOS |
| US6578054B1 (en) * | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization using resource state information |
| US6385623B1 (en) * | 1999-11-12 | 2002-05-07 | Dell Usa, L.P. | System and method for ensuring proper execution of scheduled file updates |
| US6532476B1 (en) * | 1999-11-13 | 2003-03-11 | Precision Solutions, Inc. | Software based methodology for the storage and retrieval of diverse information |
| US6606628B1 (en) * | 2000-02-14 | 2003-08-12 | Cisco Technology, Inc. | File system for nonvolatile memory |
| AU2001243459A1 (en) * | 2000-03-09 | 2001-09-17 | The Web Access, Inc. | Method and apparatus for performing a research task by interchangeably utilizinga multitude of search methodologies |
| US6988101B2 (en) * | 2001-05-31 | 2006-01-17 | International Business Machines Corporation | Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system |
| US20030028555A1 (en) * | 2001-07-31 | 2003-02-06 | Young William J. | Database migration |
| JP2003150424A (ja) * | 2001-11-16 | 2003-05-23 | Fujitsu Ltd | ファイルシステム、制御方法及びプログラム |
| US6909910B2 (en) * | 2002-02-01 | 2005-06-21 | Microsoft Corporation | Method and system for managing changes to a contact database |
| US8335779B2 (en) | 2002-08-16 | 2012-12-18 | Gamroe Applications, Llc | Method and apparatus for gathering, categorizing and parameterizing data |
| JP3873989B2 (ja) * | 2003-06-09 | 2007-01-31 | ソニー株式会社 | コンテンツデータ転送システムおよびコンテンツデータ転送方法 |
| US7644376B2 (en) * | 2003-10-23 | 2010-01-05 | Microsoft Corporation | Flexible architecture for notifying applications of state changes |
| US7376947B2 (en) * | 2004-02-23 | 2008-05-20 | Research In Motion Limited | Computer system and method for secure installation and operation of software |
| US7284082B2 (en) * | 2004-08-19 | 2007-10-16 | Lsi Corporation | Controller apparatus and method for improved data transfer |
| DE102005004941B4 (de) * | 2005-02-02 | 2006-12-21 | Avt Audio Vision Technology Gmbh | Konvertierung von Daten, insbesondere zur Wiedergabe von Audio- und/oder Videoinformationen |
| US7562087B2 (en) * | 2005-09-30 | 2009-07-14 | Computer Associates Think, Inc. | Method and system for processing directory operations |
| US20070136517A1 (en) * | 2005-11-29 | 2007-06-14 | Quantum Corporation | Use of directory revision number to validate directory |
| US9286308B2 (en) | 2005-12-22 | 2016-03-15 | Alan Joshua Shapiro | System and method for metadata modification |
| US7603387B2 (en) * | 2006-06-16 | 2009-10-13 | Microsoft Corporation | Techniques to manage media files |
| US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
| US7908259B2 (en) * | 2006-08-25 | 2011-03-15 | Teradata Us, Inc. | Hardware accelerated reconfigurable processor for accelerating database operations and queries |
| US7689566B1 (en) * | 2006-12-12 | 2010-03-30 | Sun Microsystems, Inc. | Method for defining non-native operating environments |
| US8862625B2 (en) | 2008-04-07 | 2014-10-14 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible indexing and replicated reordered columns |
| US7966343B2 (en) | 2008-04-07 | 2011-06-21 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible data structures |
| US8458129B2 (en) | 2008-06-23 | 2013-06-04 | Teradata Us, Inc. | Methods and systems for real-time continuous updates |
| US9424315B2 (en) | 2007-08-27 | 2016-08-23 | Teradata Us, Inc. | Methods and systems for run-time scheduling database operations that are executed in hardware |
| US20130046741A1 (en) * | 2008-02-13 | 2013-02-21 | Gregory Bentley | Methods and systems for creating and saving multiple versions of a computer file |
| TWI399651B (zh) * | 2008-09-12 | 2013-06-21 | Communication protocol method and system for input / output device | |
| US8140552B2 (en) * | 2008-09-19 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for optimizing lead time for service provisioning |
| US8086618B2 (en) * | 2008-09-30 | 2011-12-27 | International Business Machines Corporation | Configuration rule translation mapper |
| US8209341B2 (en) * | 2008-09-30 | 2012-06-26 | International Business Machines Corporation | Configurable transformation macro |
| US8756407B2 (en) * | 2008-09-30 | 2014-06-17 | International Business Machines Corporation | Configuration rule prototyping tool |
| CN101770470B (zh) * | 2008-12-31 | 2012-11-28 | 中国银联股份有限公司 | 一种文件类型识别分析方法及系统 |
| US8200895B2 (en) * | 2009-05-04 | 2012-06-12 | Microsoft Corporation | File system recognition structure |
| US9542401B1 (en) | 2012-03-30 | 2017-01-10 | EMC IP Holding Company LLC | Using extents of indirect blocks for file mapping of large files |
| US11403024B2 (en) * | 2019-08-28 | 2022-08-02 | Cohesity, Inc. | Efficient restoration of content |
| US11016905B1 (en) * | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
| US11513779B2 (en) | 2020-03-19 | 2022-11-29 | Oracle International Corporation | Modeling foreign functions using executable references |
| US11875168B2 (en) | 2020-03-19 | 2024-01-16 | Oracle International Corporation | Optimizing execution of foreign method handles on a virtual machine |
| US11543976B2 (en) * | 2020-04-01 | 2023-01-03 | Oracle International Corporation | Methods for reducing unsafe memory access when interacting with native libraries |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4477880A (en) * | 1981-10-13 | 1984-10-16 | International Business Machines Corporation | Method for combining program diskettes in an interactive text processing system |
| US4559614A (en) * | 1983-07-05 | 1985-12-17 | International Business Machines Corporation | Interactive code format transform for communicating data between incompatible information processing systems |
| GB2146812A (en) * | 1983-09-19 | 1985-04-24 | Storage Technology Corp | Optical storage system |
| JPS6226535A (ja) * | 1985-07-22 | 1987-02-04 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | プログラム内の変換テ−ブルの修正方法 |
| US5053945A (en) * | 1988-10-06 | 1991-10-01 | Alphatronix | System and method for performing a multi-file transfer operation |
-
1990
- 1990-04-18 CA CA002014799A patent/CA2014799A1/en not_active Abandoned
- 1990-05-03 EP EP19900304851 patent/EP0397404A3/en not_active Withdrawn
- 1990-05-07 JP JP2115919A patent/JPH03129443A/ja active Pending
-
1995
- 1995-01-23 US US08/376,455 patent/US5537592A/en not_active Expired - Lifetime
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0764834A (ja) * | 1993-08-26 | 1995-03-10 | Nec Corp | フロッピーディスク装置 |
| JPH0922374A (ja) * | 1995-07-05 | 1997-01-21 | Hitachi Ltd | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 |
| JP2003513355A (ja) * | 1999-10-25 | 2003-04-08 | ネットワーク・アプライアンス・インコーポレイテッド | 異なるファイルシステム間におけるファイルシステムイメージトランスファー |
| JP2015524113A (ja) * | 2012-06-05 | 2015-08-20 | サムスン エレクトロニクス カンパニー リミテッド | 汎用デバイスにおけるファイル送受信装置及び方法 |
| US10331637B2 (en) | 2012-06-05 | 2019-06-25 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving files in general purpose device |
Also Published As
| Publication number | Publication date |
|---|---|
| US5537592A (en) | 1996-07-16 |
| EP0397404A2 (en) | 1990-11-14 |
| CA2014799A1 (en) | 1990-11-08 |
| EP0397404A3 (en) | 1992-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH03129443A (ja) | ファイル転送方法とその装置 | |
| US5367671A (en) | System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables | |
| CN109906433B (zh) | 针对容器的存储隔离 | |
| US6108759A (en) | Manipulation of partitions holding advanced file systems | |
| JP3984983B2 (ja) | 小さいオブジェクトデータストリームを使用する、データオブジェクトを保存する方法 | |
| EP0462180B1 (en) | Method of reading and writing files on nonerasable storage media | |
| US6453383B1 (en) | Manipulation of computer volume segments | |
| US6185575B1 (en) | In-place disk partition canonization and storage optimization | |
| US7680836B2 (en) | Systems and methods for a snapshot of data | |
| JP5192805B2 (ja) | メタデータのナビゲーションおよび割当てのためのプロパティツリー | |
| US5317728A (en) | Storage management of a first file system using a second file system containing surrogate files and catalog management information | |
| US7509355B2 (en) | Method for transferring and indexing data from old media to new media | |
| US7953704B2 (en) | Systems and methods for a snapshot of data | |
| US7882071B2 (en) | Systems and methods for a snapshot of data | |
| US8010493B2 (en) | Systems and methods for a snapshot of data | |
| US6792518B2 (en) | Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies | |
| EP0474395A2 (en) | Data storage hierarchy with shared storage level | |
| US5873101A (en) | Database backup/restore and bulk data transfer | |
| JPH07104808B2 (ja) | 設置可能なファイルシステムにおいてダイナミックボリュームトラッキングを行う方法及び装置 | |
| Folk et al. | File structures | |
| WO2007044505A2 (en) | A multiple quality of service file system | |
| JPH0128410B2 (ja) | ||
| US7113937B2 (en) | Systems, methods, and computer program products to improve performance of ported applications, such as a database, operating on UNIX system services for the OS/390 | |
| JP2000122902A (ja) | ログ構造記憶先にデ―タを書き込む方法、媒体及びデ―タ記憶システム | |
| US20070112890A1 (en) | Computerized system and method for document management |