JPH0926853A - ファイルパーティション拡張方法および装置 - Google Patents
ファイルパーティション拡張方法および装置Info
- Publication number
- JPH0926853A JPH0926853A JP7177578A JP17757895A JPH0926853A JP H0926853 A JPH0926853 A JP H0926853A JP 7177578 A JP7177578 A JP 7177578A JP 17757895 A JP17757895 A JP 17757895A JP H0926853 A JPH0926853 A JP H0926853A
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- file
- offset
- file management
- external storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 ディスク装置に対してCPUの最大アドレス
値を超える領域をアクセスするための実現方法を提供す
ること。 【構成】 CPU,主記憶装置および少なくとも一つの
バスインタフェース装置を備え、該バスインタフェース
装置には入出力バスを介して外部記憶装置が接続され、
該外部記憶装置に対して、前記主記憶装置から書き込み
または読み出しを行う計算機システムにおいて、前記外
部記憶装置へのアドレッシングの際にバイト単位とブロ
ック単位の両オフセット方法をとることを特徴とするフ
ァイルパーティション拡張方法およびそのための装置。
値を超える領域をアクセスするための実現方法を提供す
ること。 【構成】 CPU,主記憶装置および少なくとも一つの
バスインタフェース装置を備え、該バスインタフェース
装置には入出力バスを介して外部記憶装置が接続され、
該外部記憶装置に対して、前記主記憶装置から書き込み
または読み出しを行う計算機システムにおいて、前記外
部記憶装置へのアドレッシングの際にバイト単位とブロ
ック単位の両オフセット方法をとることを特徴とするフ
ァイルパーティション拡張方法およびそのための装置。
Description
【0001】
【産業上の利用分野】本発明はワークステーションやサ
ーバ等の計算機システムに用いられるファイルパーティ
ション拡張方法および装置に関し、特に大容量ディスク
装置におけるファイルパーティションの拡張方法および
ファイルパーティション拡張機能を有する装置に関す
る。
ーバ等の計算機システムに用いられるファイルパーティ
ション拡張方法および装置に関し、特に大容量ディスク
装置におけるファイルパーティションの拡張方法および
ファイルパーティション拡張機能を有する装置に関す
る。
【0002】
【従来の技術】近年、ディスク装置やアレイディスク装
置の容量は飛躍的に増加している。これらの二次記憶装
置上にファイルパーティションを構築する場合、その最
大容量については、CPUのアドレッシング幅により制
限されていた。例えば、32ビット計算機システムにお
ける最大アドレス値は4G−1バイト(232−1バイト)
であり、この最大値を超える容量を持つ単一のディスク
装置を接続しても、ファイルパーティションは、この最
大値を超えて構築することができなかった。この問題を
解消するためのソフトウェアからのアプローチとして
は、コンパイラの64ビット化が考えられる。この方法
は、32ビットの汎用レジスタを2個組合せることによ
り、64ビットの整数値を取り扱う。これによりプログ
ラムからは新たに64ビット型の変数値を宣言すること
で264−1バイトまでのアドレッシングが可能になる。
これについては、例えば、GNU C コンパイラが既に
実用化されており、ソースコードが公開されている。こ
の他にも、オペレーティングシステムおよびライブラリ
に新たにインタフェースを用意して、従来のインタフェ
ースと独立させた方法もある。なお、これについては、
例えば、Dave Shaver,Eric Schnoebelen,“An Im
plementationof Large Files for BSD UNI
X”,USENIX Winter ConferenceProceedings,
pp.61-68,Winter 1992に示されている。
置の容量は飛躍的に増加している。これらの二次記憶装
置上にファイルパーティションを構築する場合、その最
大容量については、CPUのアドレッシング幅により制
限されていた。例えば、32ビット計算機システムにお
ける最大アドレス値は4G−1バイト(232−1バイト)
であり、この最大値を超える容量を持つ単一のディスク
装置を接続しても、ファイルパーティションは、この最
大値を超えて構築することができなかった。この問題を
解消するためのソフトウェアからのアプローチとして
は、コンパイラの64ビット化が考えられる。この方法
は、32ビットの汎用レジスタを2個組合せることによ
り、64ビットの整数値を取り扱う。これによりプログ
ラムからは新たに64ビット型の変数値を宣言すること
で264−1バイトまでのアドレッシングが可能になる。
これについては、例えば、GNU C コンパイラが既に
実用化されており、ソースコードが公開されている。こ
の他にも、オペレーティングシステムおよびライブラリ
に新たにインタフェースを用意して、従来のインタフェ
ースと独立させた方法もある。なお、これについては、
例えば、Dave Shaver,Eric Schnoebelen,“An Im
plementationof Large Files for BSD UNI
X”,USENIX Winter ConferenceProceedings,
pp.61-68,Winter 1992に示されている。
【0003】
【発明が解決しようとする課題】上述の如く、コンパイ
ラを用いれば、264−1バイトまでの大きさのファイル
パーティションを容易に構築することができる。しかし
ながら、この方式では、コンパイラを変更するために、
既存プログラムとのバイナリレベルでの互換性を失うと
いう問題があり、ライブラリを用意して互換性を維持す
る必要がある。本発明は上記事情に鑑みてなされたもの
で、その目的とするところは、従来の技術における上述
の如き問題を解消し、既存のプログラムとのバイナリレ
ベルでの互換を保証し、更に、ライブラリを変更するこ
となく、最少限の変更によりアドレッシングの範囲を拡
げることが可能なインタフェースをオペレーティングシ
ステムに追加するだけで実現可能な、ファイルパーティ
ション拡張方法および装置を提供することにある。
ラを用いれば、264−1バイトまでの大きさのファイル
パーティションを容易に構築することができる。しかし
ながら、この方式では、コンパイラを変更するために、
既存プログラムとのバイナリレベルでの互換性を失うと
いう問題があり、ライブラリを用意して互換性を維持す
る必要がある。本発明は上記事情に鑑みてなされたもの
で、その目的とするところは、従来の技術における上述
の如き問題を解消し、既存のプログラムとのバイナリレ
ベルでの互換を保証し、更に、ライブラリを変更するこ
となく、最少限の変更によりアドレッシングの範囲を拡
げることが可能なインタフェースをオペレーティングシ
ステムに追加するだけで実現可能な、ファイルパーティ
ション拡張方法および装置を提供することにある。
【0004】
【課題を解決するための手段】本発明の上記目的は、C
PU,主記憶装置および少なくとも一つのバスインタフ
ェース装置を備え、該バスインタフェース装置には入出
力バスを介して外部記憶装置が接続され、該外部記憶装
置に対して、前記主記憶装置から書き込みまたは読み出
しを行う計算機システムにおいて、前記外部記憶装置へ
のアドレッシングの際にバイト単位とブロック単位の両
オフセット方法をとることを特徴とするファイルパーテ
ィション拡張方法、または、CPU,主記憶装置および
少なくとも一つのバスインタフェース装置を備え、該バ
スインタフェース装置には入出力バスを介して外部記憶
装置が接続され、該外部記憶装置に対して、前記主記憶
装置から書き込みまたは読み出しを行う計算機システム
において、操作対象のデバイス名称とアクセスポイント
へのオフセット値を得て、前記外部記憶装置への書き込
みまたは読み出しを行うアクセス制御手段と、前記アク
セスポイントへのオフセットをバイト単位とブロック単
位で独立して管理するファイル管理手段とを有し、前記
外部記憶装置上の任意のアクセスポイントへアクセスす
る際に、前記ファイル管理手段を参照することを特徴と
するファイルパーティション拡張装置によって達成され
る。より具体的には、ファイルパーティション全体をア
ドレッシングするためのseekステップに、従来のバ
イト単位でのオフセット指定方法に加え、新規にブロッ
ク単位でのオフセット指定方法を追加する。seekス
テップの引数には、バイト指定に加えて、ブロック指定
ができるモードを追加し、ブロック単位でアクセスする
ことでブロックサイズ×(4G−1)バイトまでファイル
パーティションを拡張する。また、ファイル操作のイン
タフェースを変えないため、既存プログラムはバイト単
位でのオフセット方法と解釈し、従来同様に4Gバイト
以内でアドレッシングを行う。これらを実現するため
に、プログラムからのオフセット指定方法を解釈し、デ
ィスク装置上のファイルパーティションをアクセスする
ために必要な情報を管理するアクセス制御手段、お京
び、各オフセット指定方法により指定されたオフセット
値を管理するファイル管理手段を設けるものである。
PU,主記憶装置および少なくとも一つのバスインタフ
ェース装置を備え、該バスインタフェース装置には入出
力バスを介して外部記憶装置が接続され、該外部記憶装
置に対して、前記主記憶装置から書き込みまたは読み出
しを行う計算機システムにおいて、前記外部記憶装置へ
のアドレッシングの際にバイト単位とブロック単位の両
オフセット方法をとることを特徴とするファイルパーテ
ィション拡張方法、または、CPU,主記憶装置および
少なくとも一つのバスインタフェース装置を備え、該バ
スインタフェース装置には入出力バスを介して外部記憶
装置が接続され、該外部記憶装置に対して、前記主記憶
装置から書き込みまたは読み出しを行う計算機システム
において、操作対象のデバイス名称とアクセスポイント
へのオフセット値を得て、前記外部記憶装置への書き込
みまたは読み出しを行うアクセス制御手段と、前記アク
セスポイントへのオフセットをバイト単位とブロック単
位で独立して管理するファイル管理手段とを有し、前記
外部記憶装置上の任意のアクセスポイントへアクセスす
る際に、前記ファイル管理手段を参照することを特徴と
するファイルパーティション拡張装置によって達成され
る。より具体的には、ファイルパーティション全体をア
ドレッシングするためのseekステップに、従来のバ
イト単位でのオフセット指定方法に加え、新規にブロッ
ク単位でのオフセット指定方法を追加する。seekス
テップの引数には、バイト指定に加えて、ブロック指定
ができるモードを追加し、ブロック単位でアクセスする
ことでブロックサイズ×(4G−1)バイトまでファイル
パーティションを拡張する。また、ファイル操作のイン
タフェースを変えないため、既存プログラムはバイト単
位でのオフセット方法と解釈し、従来同様に4Gバイト
以内でアドレッシングを行う。これらを実現するため
に、プログラムからのオフセット指定方法を解釈し、デ
ィスク装置上のファイルパーティションをアクセスする
ために必要な情報を管理するアクセス制御手段、お京
び、各オフセット指定方法により指定されたオフセット
値を管理するファイル管理手段を設けるものである。
【0005】
【作用】本発明に係るファイルパーティション拡張方法
においては、指定された操作対象のデバイス名称からフ
ァイル管理手段を得る。更に、希望するアクセスポイン
トへのオフセット値をブロック単位とバイト単位で得
て、ファイル管理手段が管理する。アクセス制御手段は
ファイル管理手段から、この他にファイルの属性情報や
I/O操作に必要な情報を得て、これによりディスク装
置上のファイルパーティションを拡張することができ
る。
においては、指定された操作対象のデバイス名称からフ
ァイル管理手段を得る。更に、希望するアクセスポイン
トへのオフセット値をブロック単位とバイト単位で得
て、ファイル管理手段が管理する。アクセス制御手段は
ファイル管理手段から、この他にファイルの属性情報や
I/O操作に必要な情報を得て、これによりディスク装
置上のファイルパーティションを拡張することができ
る。
【0006】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図1は、本発明の一実施例に係るファイル
パーティション拡張方法を行うためのシステム構成例で
ある。本実施例に係るシステムは、共通なデータバスに
接続されたCPU100,メモリ110,CRTディス
プレイ120,キーボード130,ネットワークインタ
フェース140およびI/Oバスインタフェース150
から構成されている。I/Oバスインタフェース150
には、I/Oバス160を介して磁気ディスク装置17
0が接続されている。
に説明する。図1は、本発明の一実施例に係るファイル
パーティション拡張方法を行うためのシステム構成例で
ある。本実施例に係るシステムは、共通なデータバスに
接続されたCPU100,メモリ110,CRTディス
プレイ120,キーボード130,ネットワークインタ
フェース140およびI/Oバスインタフェース150
から構成されている。I/Oバスインタフェース150
には、I/Oバス160を介して磁気ディスク装置17
0が接続されている。
【0007】ネットワークインタフェース140はネッ
トワーク(LAN)180に接続されており、該ネットワ
ーク180に接続された遠隔地のワークステーション
(WS)190等からのリモートアクセスを可能としてい
る。アクセス制御プログラム200は、計算機システム
のメモリ110に常駐するプログラムである。ファイル
管理手段として、ファイル管理テーブル210をメモリ
に保持する。アクセス制御プログラム200は、ファイ
ルパーティションをアクセスする際に、上述のファイル
管理テーブル210を参照して制御を行う。ファイル管
理テーブル210の具体的な構成およびファイルパーテ
ィションへのアクセスの手順を、以下に説明する。
トワーク(LAN)180に接続されており、該ネットワ
ーク180に接続された遠隔地のワークステーション
(WS)190等からのリモートアクセスを可能としてい
る。アクセス制御プログラム200は、計算機システム
のメモリ110に常駐するプログラムである。ファイル
管理手段として、ファイル管理テーブル210をメモリ
に保持する。アクセス制御プログラム200は、ファイ
ルパーティションをアクセスする際に、上述のファイル
管理テーブル210を参照して制御を行う。ファイル管
理テーブル210の具体的な構成およびファイルパーテ
ィションへのアクセスの手順を、以下に説明する。
【0008】図2は、上述のファイル管理テーブル21
0の構成例を示す図である。ファイル管理テーブル21
0は、ファイル属性領域とI/O管理領域とから成る。
ファイル属性領域は、ファイルに対するオフセット開始
位置やオフセットサイズの単位を示すための情報を格納
するアクセスタイプエントリ300,read/wri
teフラグ310,デバイス名称320の各エントリか
ら成る。I/O管理領域は、メモリアドレス330,転
送バイト数340,ブロックオフセット領域350,バ
イトオフセット領域360の各エントリから成る。な
お、ブロックオフセット領域350には、ブロック単位
でのオフセット値が格納され、バイトオフセット領域3
60にはバイト単位でのオフセット値が格納される。
0の構成例を示す図である。ファイル管理テーブル21
0は、ファイル属性領域とI/O管理領域とから成る。
ファイル属性領域は、ファイルに対するオフセット開始
位置やオフセットサイズの単位を示すための情報を格納
するアクセスタイプエントリ300,read/wri
teフラグ310,デバイス名称320の各エントリか
ら成る。I/O管理領域は、メモリアドレス330,転
送バイト数340,ブロックオフセット領域350,バ
イトオフセット領域360の各エントリから成る。な
お、ブロックオフセット領域350には、ブロック単位
でのオフセット値が格納され、バイトオフセット領域3
60にはバイト単位でのオフセット値が格納される。
【0009】図3は、本実施例に係るシステムにより、
ファイルパーティションをアクセスする場合の全体フロ
ーである。各ステップは、ユーザからのコマンドあるい
はプログラムからの関数コールに相当する。各ステップ
がコールされると、メモリに常駐するアクセス制御プロ
グラム200が起動され、制御フローを実行する。(1)
のopenステップ(詳細については、図4参照)では、
ファイルパーティションを構築するデバイスに対してフ
ァイル管理テーブルおよびファイル記述子を割当てる。
(2)のseekステップ(詳細については、図5参照)で
は、ファイルパーティションへのオフセットの指定を行
う。(3)のreadステップ(詳細については、図6参
照)では、ファイルパーティションからのデータの読み
出しを行う。
ファイルパーティションをアクセスする場合の全体フロ
ーである。各ステップは、ユーザからのコマンドあるい
はプログラムからの関数コールに相当する。各ステップ
がコールされると、メモリに常駐するアクセス制御プロ
グラム200が起動され、制御フローを実行する。(1)
のopenステップ(詳細については、図4参照)では、
ファイルパーティションを構築するデバイスに対してフ
ァイル管理テーブルおよびファイル記述子を割当てる。
(2)のseekステップ(詳細については、図5参照)で
は、ファイルパーティションへのオフセットの指定を行
う。(3)のreadステップ(詳細については、図6参
照)では、ファイルパーティションからのデータの読み
出しを行う。
【0010】同じく(3)のwriteステップ(詳細に
ついては、図7参照)では、ファイルパーティションへ
のデータの書き込みを行う。(4)のcloseステップ
(詳細については、図8参照)では、デバイスのクローズ
処理すなわちファイル記述子の解放を行う。各ステップ
の詳細なフローを、以下に説明する。図4は、open
ステップの制御フローである。ステップ41では、ファ
イル管理テーブルを割当てる。ステップ42では、ファ
イルをオープンし、ファイル記述子(「fd」という)を割
当てる。ステップ43では、ファイル属性情報をファイ
ル管理テーブルに登録する。ステップ44では、fdを
戻り値として返す。
ついては、図7参照)では、ファイルパーティションへ
のデータの書き込みを行う。(4)のcloseステップ
(詳細については、図8参照)では、デバイスのクローズ
処理すなわちファイル記述子の解放を行う。各ステップ
の詳細なフローを、以下に説明する。図4は、open
ステップの制御フローである。ステップ41では、ファ
イル管理テーブルを割当てる。ステップ42では、ファ
イルをオープンし、ファイル記述子(「fd」という)を割
当てる。ステップ43では、ファイル属性情報をファイ
ル管理テーブルに登録する。ステップ44では、fdを
戻り値として返す。
【0011】図5は、seekステップの制御フローで
ある。ステップ51では、引数であるファイル記述子
(fd)からファイル管理テーブルを得る。ステップ52
では、引数であるモードフラグから、ブロックモード指
定か否かを判定する。ブロック単位でのオフセット指定
であればステップ53へ、バイト単位でのオフセット指
定であればステップ54へ進む。ステップ53では、フ
ァイル管理テーブルのブロック単位でのオフセットエン
トリにオフセット値を登録し、ステップ56へ進む。ス
テップ54では、バイト単位のオフセット値をブロック
単位に変換し、ファイル管理テーブルのブロック単位で
のオフセットエントリに登録する。ステップ55では、
ステップ54での変換を行った後、端数がある場合に、
ファイル管理テーブルのバイト単位でのオフセットエン
トリに端数分のバイト値を登録する。
ある。ステップ51では、引数であるファイル記述子
(fd)からファイル管理テーブルを得る。ステップ52
では、引数であるモードフラグから、ブロックモード指
定か否かを判定する。ブロック単位でのオフセット指定
であればステップ53へ、バイト単位でのオフセット指
定であればステップ54へ進む。ステップ53では、フ
ァイル管理テーブルのブロック単位でのオフセットエン
トリにオフセット値を登録し、ステップ56へ進む。ス
テップ54では、バイト単位のオフセット値をブロック
単位に変換し、ファイル管理テーブルのブロック単位で
のオフセットエントリに登録する。ステップ55では、
ステップ54での変換を行った後、端数がある場合に、
ファイル管理テーブルのバイト単位でのオフセットエン
トリに端数分のバイト値を登録する。
【0012】ステップ56では、ブロック単位でのオフ
セット指定であればブロック単位でのオフセット値を、
また、バイト単位でのオフセット指定であればバイト単
位でのオフセット値を、戻り値として返す。次に、図6
は、readステップの制御フローである。ステップ6
1では、引数であるファイル記述子(fd)からファイル
管理テーブルを得る。ステップ62では、引数である読
み込み先アドレス,読み込むバイト数をファイル管理テ
ーブルに登録する。ステップ63では、ファイル管理テ
ーブルに書かれたブロック単位でのオフセット値とバイ
ト単位でのオフセット値から、読み込むディスクの論理
ブロック番号を得る。ステップ64では、上述の論理ブ
ロック番号から、データブロックをリードする。
セット指定であればブロック単位でのオフセット値を、
また、バイト単位でのオフセット指定であればバイト単
位でのオフセット値を、戻り値として返す。次に、図6
は、readステップの制御フローである。ステップ6
1では、引数であるファイル記述子(fd)からファイル
管理テーブルを得る。ステップ62では、引数である読
み込み先アドレス,読み込むバイト数をファイル管理テ
ーブルに登録する。ステップ63では、ファイル管理テ
ーブルに書かれたブロック単位でのオフセット値とバイ
ト単位でのオフセット値から、読み込むディスクの論理
ブロック番号を得る。ステップ64では、上述の論理ブ
ロック番号から、データブロックをリードする。
【0013】ステップ65では、読み込んだバイト数を
ファイル管理テーブルのバイト単位のオフセットエント
リに加算する。ステップ66では、ファイル管理テーブ
ルのバイト単位オフセット値をブロック単位に変換した
後、ブロック単位オフセット値に加算し、余りをバイト
単位オフセットエントリに登録する。ステップ67で
は、読み込むべきデータブロックをすべて読み込んだか
どうか判定する。まだ読み込むべきデータブロックがあ
れば、ステップ63に戻って処理を繰り返す。次に、図
7は、writeステップの制御フローである。ステッ
プ71では、引数であるファイル記述子(fd)からファ
イル管理テーブルを得る。
ファイル管理テーブルのバイト単位のオフセットエント
リに加算する。ステップ66では、ファイル管理テーブ
ルのバイト単位オフセット値をブロック単位に変換した
後、ブロック単位オフセット値に加算し、余りをバイト
単位オフセットエントリに登録する。ステップ67で
は、読み込むべきデータブロックをすべて読み込んだか
どうか判定する。まだ読み込むべきデータブロックがあ
れば、ステップ63に戻って処理を繰り返す。次に、図
7は、writeステップの制御フローである。ステッ
プ71では、引数であるファイル記述子(fd)からファ
イル管理テーブルを得る。
【0014】ステップ72では、引数である書き込むデ
ータのアドレス,書き込むバイト数をファイル管理テー
ブルに登録する。ステップ73では、ファイル管理テー
ブルに書かれたブロック単位でのオフセット値とバイト
単位でのオフセット値から、書き込み先ディスクの論理
ブロック番号を得る。ステップ74では、論理ブロック
番号にデータブロックをライトする。ステップ75で
は、書き込んだバイト数をファイル管理テーブルのバイ
ト単位のオフセットエントリに加算する。ステップ76
では、ファイル管理テーブルのバイト単位オフセット値
をブロック単位に変換した後、ブロック単位オフセット
値に加算し、余りをバイト単位オフセットエントリに登
録する。ステップ77では、書き込むべきデータブロッ
クを全て書き込んだかどうか判定する。まだ書き込むべ
きデータブロックがあれば、ステップ73に戻って処理
を繰り返す。
ータのアドレス,書き込むバイト数をファイル管理テー
ブルに登録する。ステップ73では、ファイル管理テー
ブルに書かれたブロック単位でのオフセット値とバイト
単位でのオフセット値から、書き込み先ディスクの論理
ブロック番号を得る。ステップ74では、論理ブロック
番号にデータブロックをライトする。ステップ75で
は、書き込んだバイト数をファイル管理テーブルのバイ
ト単位のオフセットエントリに加算する。ステップ76
では、ファイル管理テーブルのバイト単位オフセット値
をブロック単位に変換した後、ブロック単位オフセット
値に加算し、余りをバイト単位オフセットエントリに登
録する。ステップ77では、書き込むべきデータブロッ
クを全て書き込んだかどうか判定する。まだ書き込むべ
きデータブロックがあれば、ステップ73に戻って処理
を繰り返す。
【0015】図8は、closeステップの制御フロー
である。ステップ81では、引数であるファイル記述子
(fd)のファイルをクローズする。ステップ82では、
ファイル管理テーブルを解放する。次に、具体的なプロ
グラムの一例に基づいて、ファイル管理テーブル210
の変化およびファイルパーテション上のオフセットポイ
ンタの指す位置の変化について、図9,図10を用いて
説明する。図9で示した例では、ブロックオフセットの
単位を1Kバイトとしている。ブロックオフセットの単
位は固定値であれば、他のサイズであっても構わない。
まず、はじめに、 (1)openステップで、ファイル管理テーブルを1個
割当てる。なお、この時点では、ファイル管理テーブル
のブロック/バイトの各オフセットエントリには、’
0’が書かれている。
である。ステップ81では、引数であるファイル記述子
(fd)のファイルをクローズする。ステップ82では、
ファイル管理テーブルを解放する。次に、具体的なプロ
グラムの一例に基づいて、ファイル管理テーブル210
の変化およびファイルパーテション上のオフセットポイ
ンタの指す位置の変化について、図9,図10を用いて
説明する。図9で示した例では、ブロックオフセットの
単位を1Kバイトとしている。ブロックオフセットの単
位は固定値であれば、他のサイズであっても構わない。
まず、はじめに、 (1)openステップで、ファイル管理テーブルを1個
割当てる。なお、この時点では、ファイル管理テーブル
のブロック/バイトの各オフセットエントリには、’
0’が書かれている。
【0016】(2)次に、seekステップにより、希望
する位置へオフセットポインタを移動させる。ここで
は、ブロック単位のオフセット指定方法により、先頭か
ら5000000ブロック(1K×5000000=5Gバイト)の位置
に、オフセットポインタを移動させている。この時点で
のファイル管理テーブルには、ブロックオフセットエン
トリに’5000000’が登録される。 (3)更に、seekステップにより、現在位置からバイ
トオフセット指定で500バイト目に、オフセットポイ
ンタを移動させている。この時点でファイル管理テーブ
ルのブロックオフセットエントリには’5000000’,バイ
トオフセットエントリには’500’が登録される。 (4)ここで、readステップを実行することにより、
(5G+500)バイトの位置から1200バイトのデー
タを読み込むことになる。読み込みが終了した時点でフ
ァイル管理テーブルの各オフセットエントリは更新さ
れ、ブロックオフセットエントリに’5000000’、バイ
トオフセットエントリに’1700’が登録される。
する位置へオフセットポインタを移動させる。ここで
は、ブロック単位のオフセット指定方法により、先頭か
ら5000000ブロック(1K×5000000=5Gバイト)の位置
に、オフセットポインタを移動させている。この時点で
のファイル管理テーブルには、ブロックオフセットエン
トリに’5000000’が登録される。 (3)更に、seekステップにより、現在位置からバイ
トオフセット指定で500バイト目に、オフセットポイ
ンタを移動させている。この時点でファイル管理テーブ
ルのブロックオフセットエントリには’5000000’,バイ
トオフセットエントリには’500’が登録される。 (4)ここで、readステップを実行することにより、
(5G+500)バイトの位置から1200バイトのデー
タを読み込むことになる。読み込みが終了した時点でフ
ァイル管理テーブルの各オフセットエントリは更新さ
れ、ブロックオフセットエントリに’5000000’、バイ
トオフセットエントリに’1700’が登録される。
【0017】(5)ファイル記述子(fd)を引数としてc
loseステップを実行することにより、ファイル管理
テーブルの各オフセットエントリはクリアされ、ファイ
ル管理テーブルは解放される。 上記実施例によれば、ファイル管理テーブルに登録した
ブロック単位とバイト単位のオフセット値により、ユー
ザは、4Gバイト以上のオフセットにアクセスできるよ
うになるという効果が得られる。更に、ファイル操作の
インタフェースが従来と同様であるため、ブロック単位
とバイト単位の2段階のオフセット方法に置き換えて
も、アプリケーションプログラムの修正は最少限で利用
することができるいう効果も得られる。なお、既存のア
プリケーションプログラムはバイナリで従来と同様のア
ドレッシング範囲で動作させることができる。なお、上
記実施例は本発明の一例を示したものであり、本発明は
これに限定されるべきものではないことは言うまでもな
いことである。
loseステップを実行することにより、ファイル管理
テーブルの各オフセットエントリはクリアされ、ファイ
ル管理テーブルは解放される。 上記実施例によれば、ファイル管理テーブルに登録した
ブロック単位とバイト単位のオフセット値により、ユー
ザは、4Gバイト以上のオフセットにアクセスできるよ
うになるという効果が得られる。更に、ファイル操作の
インタフェースが従来と同様であるため、ブロック単位
とバイト単位の2段階のオフセット方法に置き換えて
も、アプリケーションプログラムの修正は最少限で利用
することができるいう効果も得られる。なお、既存のア
プリケーションプログラムはバイナリで従来と同様のア
ドレッシング範囲で動作させることができる。なお、上
記実施例は本発明の一例を示したものであり、本発明は
これに限定されるべきものではないことは言うまでもな
いことである。
【0018】
【発明の効果】以上、詳細に説明した如く、本発明によ
れば、既存のプログラムとのバイナリレベルでの互換を
保証し、更に、ライブラリを変更することなく、最少限
の変更によりアドレッシングの範囲を拡げることが可能
なインタフェースをオペレーティングシステムに追加す
るだけで実現可能な、ファイルパーティション拡張方法
および装置を実現できるという顕著な効果を奏するもの
である。より具体的に述べれば、計算機システムに接続
された単一ディスク装置において、ファイル管理テーブ
ルに登録したブロック単位とバイト単位の両オフセット
指定方法をとることで、CPUにおける最大アドレス値
を超える領域へのアクセスを実現することができる。し
かも、ユーザは、ファイル操作のインタフェースが従来
と同様であるために、アプリケーションプログラムを修
正なしで利用することができるという効果も得られる。
れば、既存のプログラムとのバイナリレベルでの互換を
保証し、更に、ライブラリを変更することなく、最少限
の変更によりアドレッシングの範囲を拡げることが可能
なインタフェースをオペレーティングシステムに追加す
るだけで実現可能な、ファイルパーティション拡張方法
および装置を実現できるという顕著な効果を奏するもの
である。より具体的に述べれば、計算機システムに接続
された単一ディスク装置において、ファイル管理テーブ
ルに登録したブロック単位とバイト単位の両オフセット
指定方法をとることで、CPUにおける最大アドレス値
を超える領域へのアクセスを実現することができる。し
かも、ユーザは、ファイル操作のインタフェースが従来
と同様であるために、アプリケーションプログラムを修
正なしで利用することができるという効果も得られる。
【図1】本発明の一実施例に係るファイルパーティショ
ン拡張方法を行うためのシステム構成例である。
ン拡張方法を行うためのシステム構成例である。
【図2】実施例に係る、ファイル管理テーブル210の
構成例を示す図である。
構成例を示す図である。
【図3】実施例に係る、ファイルパーティションアクセ
スの全体フロー図である。
スの全体フロー図である。
【図4】実施例に係る、openステップの制御フロー
図である。
図である。
【図5】実施例に係る、seekステップの制御フロー
図である。
図である。
【図6】実施例に係る、readステップの制御フロー
図である。
図である。
【図7】実施例に係る、writeステップの制御フロ
ー図である。
ー図である。
【図8】実施例に係る、closeステップの制御フロ
ー図である。
ー図である。
【図9】ファイル管理テーブルの変化(その1)を示す図
である。
である。
【図10】ファイル管理テーブルの変化(その2)を示す
図である。
図である。
100 CPU 110 メモリ 120 CRTディスプレイ 130 キーボード 140 ネットワークインタフェース 150 I/Oバスインタフェース 160 I/Oバス 170 磁気ディスク装置 180 ネットワーク 190 ワークステーション 200 アクセス制御プログラム 210 ファイル管理テーブル 300 アクセスタイプ 310 read/writeフラグ 320 デバイス名称 330 メモリアドレス 340 転送バイト数 350 ブロックオフセット領域 360 バイトオフセット領域
Claims (5)
- 【請求項1】 CPU,主記憶装置および少なくとも一
つのバスインタフェース装置を備え、該バスインタフェ
ース装置には入出力バスを介して外部記憶装置が接続さ
れ、該外部記憶装置に対して、前記主記憶装置から書き
込みまたは読み出しを行う計算機システムにおいて、 前記外部記憶装置へのアドレッシングの際にバイト単位
とブロック単位の両オフセット方法をとることを特徴と
するファイルパーティション拡張方法。 - 【請求項2】 CPU,主記憶装置および少なくとも一
つのバスインタフェース装置を備え、該バスインタフェ
ース装置には入出力バスを介して外部記憶装置が接続さ
れ、該外部記憶装置に対して、前記主記憶装置から書き
込みまたは読み出しを行う計算機システムにおいて、 操作対象のデバイス名称とアクセスポイントへのオフセ
ット値を得て、前記外部記憶装置への書き込みまたは読
み出しを行うアクセス制御手段と、前記アクセスポイン
トへのオフセットをバイト単位とブロック単位で独立し
て管理するファイル管理手段とを有し、前記外部記憶装
置上の任意のアクセスポイントへアクセスする際に、前
記ファイル管理手段を参照することを特徴とするファイ
ルパーティション拡張装置。 - 【請求項3】 前記アクセス制御手段が、前記主記憶装
置に格納されたアクセス制御プログラムであることを特
徴とする請求項2記載のファイルパーティション拡張装
置。 - 【請求項4】 前記ファイル管理手段を複数持つことに
より、複数のアプリケーションプログラムから独立して
並列に動作可能に構成したことを特徴とする請求項2記
載のファイルパーティション拡張装置。 - 【請求項5】 前記ファイル管理手段が、前記主記憶装
置に格納されたファイル管理テーブルであることを特徴
とする請求項2記載のファイルパーティション拡張装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7177578A JPH0926853A (ja) | 1995-07-13 | 1995-07-13 | ファイルパーティション拡張方法および装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7177578A JPH0926853A (ja) | 1995-07-13 | 1995-07-13 | ファイルパーティション拡張方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0926853A true JPH0926853A (ja) | 1997-01-28 |
Family
ID=16033428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7177578A Pending JPH0926853A (ja) | 1995-07-13 | 1995-07-13 | ファイルパーティション拡張方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0926853A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013534680A (ja) * | 2010-07-15 | 2013-09-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Pciエクスプレス適合デバイスの資源にアクセスするためのシステム及び方法 |
-
1995
- 1995-07-13 JP JP7177578A patent/JPH0926853A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013534680A (ja) * | 2010-07-15 | 2013-09-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Pciエクスプレス適合デバイスの資源にアクセスするためのシステム及び方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6526472B2 (en) | Access control method, access control apparatus and computer readable memory storing access control program | |
| US5715455A (en) | Apparatus and method for storing file allocation table efficiently in memory | |
| US5652887A (en) | Dynamic Meta commands for peripheral devices | |
| US6961828B2 (en) | Cluster system, memory access control method, and recording medium | |
| JPH04275684A (ja) | 図形情報データベース構築方法およびその方法が適用される装置 | |
| JPS61190638A (ja) | 仮想計算機のフアイル制御方式 | |
| JPH1069408A (ja) | ホールを利用するファイルシステムレベルでのデータ格納方法及びデータ格納装置 | |
| KR20010041805A (ko) | 교란없는 데이터 갱신 | |
| JPH0524539B2 (ja) | ||
| US8527559B2 (en) | Garbage collector with concurrent flipping without read barrier and without verifying copying | |
| JP3488500B2 (ja) | 分散ファイルシステム | |
| US7376758B2 (en) | I/O dependency graphs | |
| CN108334453A (zh) | 一种文件调试方法、装置、终端设备及存储介质 | |
| US5519860A (en) | Central processor index sort followed by direct record sort and write by an intelligent control unit | |
| US12423024B2 (en) | Method and device for accessing memory | |
| JPH0926853A (ja) | ファイルパーティション拡張方法および装置 | |
| CN118227231A (zh) | 分区管理方法、装置、终端设备及可读存储介质 | |
| US6804754B1 (en) | Space management in compressed main memory | |
| JPS6237417B2 (ja) | ||
| JPH06110766A (ja) | 分割格納ファイルシステムのディレクトリ構成方法および計算機システム | |
| KR101065114B1 (ko) | 프로그래밍 언어 표현에서 장치 드라이버 메모리로의 액세스 | |
| US6671783B1 (en) | Method and article for managing references between objects in memories of different durations in a run-time environment | |
| JPH08272815A (ja) | オブジェクト指向データベースシステムおよびその処理方法 | |
| JPH07230405A (ja) | オブジェクト指向データベース管理装置 | |
| JP2767966B2 (ja) | 高速ファイルアクセス方式 |