JPH05265820A - 入出力処理方式 - Google Patents
入出力処理方式Info
- Publication number
- JPH05265820A JPH05265820A JP4060059A JP6005992A JPH05265820A JP H05265820 A JPH05265820 A JP H05265820A JP 4060059 A JP4060059 A JP 4060059A JP 6005992 A JP6005992 A JP 6005992A JP H05265820 A JPH05265820 A JP H05265820A
- Authority
- JP
- Japan
- Prior art keywords
- open
- identification information
- inode
- file
- resource
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 ドライバに対するopen処理で必要のなか
ったファイル(スペシャル・ファイル)をなくしてiノ
ードだけで処理できるようにする。 【構成】 openの中でiノードをgetするために
呼ばれるnameiで、渡されたパス名がスペシャル・
ファイルであるときにパス名で示されたディレクトリを
検索することをしないで、直接iノードをgetし、こ
のiノードに必要なデバイスドライバを識別するための
パラメータをセットした後でリターンを行なうことによ
り、スペシャル・ファイルをあらかじめ記憶することな
く、ドライバのopenを実現することができる。
ったファイル(スペシャル・ファイル)をなくしてiノ
ードだけで処理できるようにする。 【構成】 openの中でiノードをgetするために
呼ばれるnameiで、渡されたパス名がスペシャル・
ファイルであるときにパス名で示されたディレクトリを
検索することをしないで、直接iノードをgetし、こ
のiノードに必要なデバイスドライバを識別するための
パラメータをセットした後でリターンを行なうことによ
り、スペシャル・ファイルをあらかじめ記憶することな
く、ドライバのopenを実現することができる。
Description
【0001】
【産業上の利用分野】この発明は、計算機における入出
力処理方式に関するものである。
力処理方式に関するものである。
【0002】
【従来の技術】図3は例えば「UNIXカーネルの設
計」M.J.Bach著(UNIXはAT&T社のトレ
ードマーク)に記載される計算機の入出力処理方式のo
pen処理を示した図である。これを基にして従来のド
ライバに対してopenするときの処理を説明する。
計」M.J.Bach著(UNIXはAT&T社のトレ
ードマーク)に記載される計算機の入出力処理方式のo
pen処理を示した図である。これを基にして従来のド
ライバに対してopenするときの処理を説明する。
【0003】次に示す図を基にして従来の処理を説明す
る。UNIXーOSでopenのシステム・コールの要
求を受けた場合は、Aで示す処理でnameiをコール
する。nameiでは、渡されたパス名を基にiノード
をgetし、上位にそれを渡す。次にBでiノードから
主番号と副番号を得た後に、Bでこれらの番号に対応し
たドライバを呼び出す。
る。UNIXーOSでopenのシステム・コールの要
求を受けた場合は、Aで示す処理でnameiをコール
する。nameiでは、渡されたパス名を基にiノード
をgetし、上位にそれを渡す。次にBでiノードから
主番号と副番号を得た後に、Bでこれらの番号に対応し
たドライバを呼び出す。
【0004】図4は、オープンのシステムコールの要求
を受け付けた場合の動作を説明するための図であり、図
4において、1はメインメモリ、2はメインメモリ1に
ロードされたオペレーティングシステム、3は同じくメ
インメモリ1にロードされた給与用iノード及びファイ
ル1用iノード、4は各種I/O装置用のiノード、5
は給与プログラム及びその給与プログラムに使われるデ
ータである。また、6はディスク装置、7はディスク装
置6内に記憶されたルートディレクトリ、8a、8b、
8cはルートディレクトリ7の下にあるサブディレクト
リ、9はサブディレクトリ8aの下にあるスペシャルフ
ァイル、10はサブディレクトリ8b、8c内にあるフ
ァイルのiノードを記憶しているディスクiノードであ
る。
を受け付けた場合の動作を説明するための図であり、図
4において、1はメインメモリ、2はメインメモリ1に
ロードされたオペレーティングシステム、3は同じくメ
インメモリ1にロードされた給与用iノード及びファイ
ル1用iノード、4は各種I/O装置用のiノード、5
は給与プログラム及びその給与プログラムに使われるデ
ータである。また、6はディスク装置、7はディスク装
置6内に記憶されたルートディレクトリ、8a、8b、
8cはルートディレクトリ7の下にあるサブディレクト
リ、9はサブディレクトリ8aの下にあるスペシャルフ
ァイル、10はサブディレクトリ8b、8c内にあるフ
ァイルのiノードを記憶しているディスクiノードであ
る。
【0005】次に図4を用いてオープンのシステムコー
ルの動作について説明する。たとえば、ユーザーが給与
プログラムを実行する場合に、コマンドとして給与とい
うプログラム名を入力したとすると、オペレーティング
システム2は給与プログラムをサブディレクトリ8bか
らロードしなければならない。その場合にオペレーティ
ングシステムはディスクiノード10を参照し、給与用
iノードをメインメモリ1にロードし、この給与用iノ
ード3bの主番号及び副番号に基づいて給与プログラム
がサブディレクトリ8bの中にあることを識別する。こ
のように、給与プログラムがメインメモリ1にロードさ
れてきてメインメモリ1で給与プログラム5aとして実
行が開始される。次に、この給与プログラムがファイル
1をオープンしようとするとオペレーティングシステム
2はファイル1に対するオープンのシステムコールを発
生し、先程と同様にディスクiノード10を検索し、フ
ァイル1用にiノードをメインメモリ1にロードしファ
イル1用iノード3aとして記憶する。そして、この記
憶されたファイル1用iノードの主番号と副番号によ
り、ファイル1がサブディレクトリ8cに存在している
ことを知り、このファイル1に対してオープンのオープ
ン処理を実行する。以上がプログラムあるいはファイル
に対してのオープン処理の動作である。
ルの動作について説明する。たとえば、ユーザーが給与
プログラムを実行する場合に、コマンドとして給与とい
うプログラム名を入力したとすると、オペレーティング
システム2は給与プログラムをサブディレクトリ8bか
らロードしなければならない。その場合にオペレーティ
ングシステムはディスクiノード10を参照し、給与用
iノードをメインメモリ1にロードし、この給与用iノ
ード3bの主番号及び副番号に基づいて給与プログラム
がサブディレクトリ8bの中にあることを識別する。こ
のように、給与プログラムがメインメモリ1にロードさ
れてきてメインメモリ1で給与プログラム5aとして実
行が開始される。次に、この給与プログラムがファイル
1をオープンしようとするとオペレーティングシステム
2はファイル1に対するオープンのシステムコールを発
生し、先程と同様にディスクiノード10を検索し、フ
ァイル1用にiノードをメインメモリ1にロードしファ
イル1用iノード3aとして記憶する。そして、この記
憶されたファイル1用iノードの主番号と副番号によ
り、ファイル1がサブディレクトリ8cに存在している
ことを知り、このファイル1に対してオープンのオープ
ン処理を実行する。以上がプログラムあるいはファイル
に対してのオープン処理の動作である。
【0006】次にI/O装置を使用する場合のI/O装
置のオープン処理について説明する。もし、オペレーテ
ィングシステムがtty00をオープンして使用したい
とする場合にオペレーティングシステムは/devとい
うサブディレクトリ8aのもとにあるtty00という
スペシャルファイルを検索し、このtty00をメイン
メモリ1にロードし、tty00用のiノード4cとし
て記憶する。/devというサブディレクトリ8aのも
とにはこのオペレーティングシステムが使用可能である
I/O装置すべてのドライバに対応したスペシャルファ
イルが記憶されており、この例では、たとえば、tty
00からtty99、あるいは、kbd00からkbd
09、あるいは、ws00からws99、あるいはfx
d00からfxd49までのスペシャルファイルが記憶
されている。
置のオープン処理について説明する。もし、オペレーテ
ィングシステムがtty00をオープンして使用したい
とする場合にオペレーティングシステムは/devとい
うサブディレクトリ8aのもとにあるtty00という
スペシャルファイルを検索し、このtty00をメイン
メモリ1にロードし、tty00用のiノード4cとし
て記憶する。/devというサブディレクトリ8aのも
とにはこのオペレーティングシステムが使用可能である
I/O装置すべてのドライバに対応したスペシャルファ
イルが記憶されており、この例では、たとえば、tty
00からtty99、あるいは、kbd00からkbd
09、あるいは、ws00からws99、あるいはfx
d00からfxd49までのスペシャルファイルが記憶
されている。
【0007】このスペシャルファイルは、たとえば、各
々のファイルが128バイトのサイズを有しており、こ
のスペシャルファイルの中にはオペレーティングシステ
ムの中に含まれているI/O装置用のデバイスドライバ
を識別するするための主番号と副番号が記憶されてい
る。このようにしてtty00用のiノード4cがメイ
ンメモリ1にロードされると、以後、オペレーティング
システム2はtty00というI/O装置にアクセスす
る場合には、このtty00用iノード4cの中に記憶
されているtty00用のデバイスドライバのための主
番号と副番号を参照し、その主番号と副番号をもとに実
際のデバイスドライバにアクセスをすることになる。た
とえば、オペレーティングシステムがこの/devとい
うサブディレクトリ8aの中に存在しないI/O装置を
アクセスしようとした場合にはエラーとなる。たとえ
ば、fxd50というディスク装置をアクセスするため
にオープン処理をしようとすると、図4のサブディレク
トリ8aの中にはfxd50というスペシャルファイル
が存在しないため、オープン処理はエラーとなる。この
様に、/devというサブディレクトリ8aには、オペ
レーティングシステムが使用可能なI/O装置すべてに
対応したスペシャルファイルがそれぞれ個々に記憶され
ており、スペシャルファイルの中には、そのデバイスド
ライバを識別するための主番号と副番号が記憶されてお
り、これらがオープン処理により、メインメモリ1にロ
ードされることによりオペレーティングシステム2はメ
インメモリのiノードを参照することにより実際のデバ
イスドライバにアクセスすることが可能となる。
々のファイルが128バイトのサイズを有しており、こ
のスペシャルファイルの中にはオペレーティングシステ
ムの中に含まれているI/O装置用のデバイスドライバ
を識別するするための主番号と副番号が記憶されてい
る。このようにしてtty00用のiノード4cがメイ
ンメモリ1にロードされると、以後、オペレーティング
システム2はtty00というI/O装置にアクセスす
る場合には、このtty00用iノード4cの中に記憶
されているtty00用のデバイスドライバのための主
番号と副番号を参照し、その主番号と副番号をもとに実
際のデバイスドライバにアクセスをすることになる。た
とえば、オペレーティングシステムがこの/devとい
うサブディレクトリ8aの中に存在しないI/O装置を
アクセスしようとした場合にはエラーとなる。たとえ
ば、fxd50というディスク装置をアクセスするため
にオープン処理をしようとすると、図4のサブディレク
トリ8aの中にはfxd50というスペシャルファイル
が存在しないため、オープン処理はエラーとなる。この
様に、/devというサブディレクトリ8aには、オペ
レーティングシステムが使用可能なI/O装置すべてに
対応したスペシャルファイルがそれぞれ個々に記憶され
ており、スペシャルファイルの中には、そのデバイスド
ライバを識別するための主番号と副番号が記憶されてお
り、これらがオープン処理により、メインメモリ1にロ
ードされることによりオペレーティングシステム2はメ
インメモリのiノードを参照することにより実際のデバ
イスドライバにアクセスすることが可能となる。
【0008】ここで、スペシャルファイルとは、/de
v下にあるデバイスドライバと対応したファイルのこと
を言い、ファイルフォーマットは、通常のファイルと同
じであるが、ただし、iノードのi−modeというエ
リアにセットされる値により、通常ファイルと判別され
る。スペシャルファイルの作成、削除のタイミングは、
通常の使用中にはありえず、新しいデバイスをサポート
する場合に、それに対応させて、あらかじめ、/dev
下に作成しておく。
v下にあるデバイスドライバと対応したファイルのこと
を言い、ファイルフォーマットは、通常のファイルと同
じであるが、ただし、iノードのi−modeというエ
リアにセットされる値により、通常ファイルと判別され
る。スペシャルファイルの作成、削除のタイミングは、
通常の使用中にはありえず、新しいデバイスをサポート
する場合に、それに対応させて、あらかじめ、/dev
下に作成しておく。
【0009】
【発明が解決しようとする課題】従来の方式では、ドラ
イバで制御されるI/O装置のリソースを拡大する度に
これに対応するスペシャル・ファイルを新たに増やすた
め、open処理中でパス名からiノードをgetする
ときに検索に時間がかかってしまう問題があった。
イバで制御されるI/O装置のリソースを拡大する度に
これに対応するスペシャル・ファイルを新たに増やすた
め、open処理中でパス名からiノードをgetする
ときに検索に時間がかかってしまう問題があった。
【0010】また、従来の方式では、スペシャルファイ
ルの数が多くなり、I/O装置毎にスペシャルファイル
を個々に対応して記憶させておく必要があったために記
憶領域が必要となり、ディスク装置等の外部記憶装置の
容量を不必要に圧迫してしまうという問題点があった。
ルの数が多くなり、I/O装置毎にスペシャルファイル
を個々に対応して記憶させておく必要があったために記
憶領域が必要となり、ディスク装置等の外部記憶装置の
容量を不必要に圧迫してしまうという問題点があった。
【0011】この発明は、上記のような問題点を解消す
るためになされたもので、オープン処理中でiノードを
メインメモリに作成する場合に時間が短時間で作成でき
るとともにディスク装置等の外部記憶装置の記憶容量を
圧迫しないような入出力処理方式を得ることを目的とす
る。
るためになされたもので、オープン処理中でiノードを
メインメモリに作成する場合に時間が短時間で作成でき
るとともにディスク装置等の外部記憶装置の記憶容量を
圧迫しないような入出力処理方式を得ることを目的とす
る。
【0012】
【課題を解決するための手段】この発明を実現するため
に、たとえば、openの中でiノードをgetするた
めに呼ばれるnameiで、渡されたパス名がスペシャ
ル・ファイルであるとき、直接iノードを作成し、必要
なパラメータをセットした後でリターンを行なうもので
あり、以下の要素を有するものである。 (a)入出力処理を行う資源を特定するための識別情報
を記憶する記憶工程、(b)上記資源に対するオープン
処理を起動するオープン起動工程、(c)上記オープン
起動工程により起動され、オープン処理の対象となった
資源の識別情報を、上記記憶工程で記憶された識別情報
の中から検索する識別情報検索工程、(d)上記識別情
報検索工程により起動され、オープン処理の対象となっ
た資源が所定のデバイスである場合に、その資源の識別
情報を作成して記憶する識別情報作成工程、(e)上記
識別情報検索工程及び識別情報作成工程のいずれかの工
程により得られた識別情報に基づいてオープン処理を実
行するオープン実行工程。
に、たとえば、openの中でiノードをgetするた
めに呼ばれるnameiで、渡されたパス名がスペシャ
ル・ファイルであるとき、直接iノードを作成し、必要
なパラメータをセットした後でリターンを行なうもので
あり、以下の要素を有するものである。 (a)入出力処理を行う資源を特定するための識別情報
を記憶する記憶工程、(b)上記資源に対するオープン
処理を起動するオープン起動工程、(c)上記オープン
起動工程により起動され、オープン処理の対象となった
資源の識別情報を、上記記憶工程で記憶された識別情報
の中から検索する識別情報検索工程、(d)上記識別情
報検索工程により起動され、オープン処理の対象となっ
た資源が所定のデバイスである場合に、その資源の識別
情報を作成して記憶する識別情報作成工程、(e)上記
識別情報検索工程及び識別情報作成工程のいずれかの工
程により得られた識別情報に基づいてオープン処理を実
行するオープン実行工程。
【0013】
【作用】この発明においては、識別情報作成工程が動作
することにより、nameiへ渡されたパス名がスペシ
ャル・ファイルであるときに、メモリ上に直接iノード
を作成し、主番号・副番号等の必要なパラメータをセッ
トした後でリターンを行なうので、スペシャル・ファイ
ルをあらかじめ記憶装置に記憶することなく、ドライバ
のopenを実現することができる。
することにより、nameiへ渡されたパス名がスペシ
ャル・ファイルであるときに、メモリ上に直接iノード
を作成し、主番号・副番号等の必要なパラメータをセッ
トした後でリターンを行なうので、スペシャル・ファイ
ルをあらかじめ記憶装置に記憶することなく、ドライバ
のopenを実現することができる。
【0014】
実施例1.以下、この発明の実施例を図1、図2にもと
づいて説明する。図1は、この発明の識別情報作成工程
の一例を示しており、この発明の一実施例によるnam
eiの中で呼ばれる関数のフローチャートである。ま
た、図2は、この発明の識別情報検索工程の一例を示し
ており、図3のオープンアルゴリズムのAの処理(この
発明のオープン起動工程の一例)において呼ばれるna
meiのアルゴリズムを示す図である。図1は図2に示
したnameiアルゴリズムから呼ばれる関数であり、
パス名からiノードを探しにいった場合にそのiノード
が見つからない場合に呼ばれる関数のフローチャートを
示している。
づいて説明する。図1は、この発明の識別情報作成工程
の一例を示しており、この発明の一実施例によるnam
eiの中で呼ばれる関数のフローチャートである。ま
た、図2は、この発明の識別情報検索工程の一例を示し
ており、図3のオープンアルゴリズムのAの処理(この
発明のオープン起動工程の一例)において呼ばれるna
meiのアルゴリズムを示す図である。図1は図2に示
したnameiアルゴリズムから呼ばれる関数であり、
パス名からiノードを探しにいった場合にそのiノード
が見つからない場合に呼ばれる関数のフローチャートを
示している。
【0015】図2に示したアルゴリズムは、記憶工程に
よりあらかじめディスク装置等に記憶したディスクiノ
ードを検索するものであり、Dの場所というのは、パス
名を入力し、そのパス名で指定されたファイルのiノー
ドを出力する課程において、iノードが見つからない場
合を示しており、従来であれば、オープンをしようとし
たファイルのiノードがないというエラーをかえすこと
になる。しかし、この発明においては、図2のname
iのアルゴリズムの中のDの場所で図1に示した関数が
呼ばれることになる。このDの場所で呼ばれる図1に示
した関数は、iノードが見つからない場合であって、か
つ、そのパス名に指定されたものがI/O装置のデバイ
スドライバである場合には、エラーとならないようにす
る。以下に図1の流れを説明する。
よりあらかじめディスク装置等に記憶したディスクiノ
ードを検索するものであり、Dの場所というのは、パス
名を入力し、そのパス名で指定されたファイルのiノー
ドを出力する課程において、iノードが見つからない場
合を示しており、従来であれば、オープンをしようとし
たファイルのiノードがないというエラーをかえすこと
になる。しかし、この発明においては、図2のname
iのアルゴリズムの中のDの場所で図1に示した関数が
呼ばれることになる。このDの場所で呼ばれる図1に示
した関数は、iノードが見つからない場合であって、か
つ、そのパス名に指定されたものがI/O装置のデバイ
スドライバである場合には、エラーとならないようにす
る。以下に図1の流れを説明する。
【0016】例えば、openのシステム・コールで”
/dev/tty00”を指定した場合、図3のope
nアルゴリズムの中でiノードをgetするために図2
に示したnameiアルゴリズムがコールされるが、こ
のnameiアルゴリズムのD点において/dev/t
ty00というファイル名がない場合、図1ような処理
を行う。
/dev/tty00”を指定した場合、図3のope
nアルゴリズムの中でiノードをgetするために図2
に示したnameiアルゴリズムがコールされるが、こ
のnameiアルゴリズムのD点において/dev/t
ty00というファイル名がない場合、図1ような処理
を行う。
【0017】図1では、まず、S1で、渡されたディレ
クトリがスペシャル・ファイルが格納される”/de
v”かどうかチェックをし、そうであればS3でファイ
ル名がスペシャル・ファイルかどうかのチェックをす
る。スペシャル・ファイルであれば、S5で初めてのコ
ールか否かをチェックし、初めてであればS7で空いて
いるメモリにiノード用のテーブルを作成し、そこに主
番号・副番号等の必要な値をセットしてiノードをリタ
ーンする。また、ここでiノード内のカウンタを1とす
る。S5において、スペシャル・ファイルに対応するi
ノードがすでに作成されている場合には、対応するiノ
ードを参照し、カウンタを1つ上げてiノードをリター
ンする。
クトリがスペシャル・ファイルが格納される”/de
v”かどうかチェックをし、そうであればS3でファイ
ル名がスペシャル・ファイルかどうかのチェックをす
る。スペシャル・ファイルであれば、S5で初めてのコ
ールか否かをチェックし、初めてであればS7で空いて
いるメモリにiノード用のテーブルを作成し、そこに主
番号・副番号等の必要な値をセットしてiノードをリタ
ーンする。また、ここでiノード内のカウンタを1とす
る。S5において、スペシャル・ファイルに対応するi
ノードがすでに作成されている場合には、対応するiノ
ードを参照し、カウンタを1つ上げてiノードをリター
ンする。
【0018】そのiノードが得られると、図3のオープ
ンアルゴリズムのB、Cの処理(この発明のオープン実
行工程の一例)が実行され、オープン処理が実行され
る。
ンアルゴリズムのB、Cの処理(この発明のオープン実
行工程の一例)が実行され、オープン処理が実行され
る。
【0019】なお、図1において、カウンタを1にセッ
トしたり、あるいは、カウンタを一つずつ増加させてい
るのは、オープンの度にカウンタを一つずつ増加させて
いくことにより、そのiノードを使用している処理が幾
つあるかをカウンタの値により判断するためである。そ
して、図示しないがクローズの処理が実行される場合に
は、クローズの度にこのカウンタが一つずつ減少させら
れ、最後の処理がクローズされた場合にはカウンタが0
に戻るようにセットされる。0になった場合にはこのi
ノードがいずれの処理おいても、使用されていないこと
になり、オペレーティングシステムはこのiノードをメ
モリから削除することが可能になる。削除することによ
って、そのメモリを他のデータ領域や他のiノード等の
ために使用することができ、メモリの有効利用が図られ
る。
トしたり、あるいは、カウンタを一つずつ増加させてい
るのは、オープンの度にカウンタを一つずつ増加させて
いくことにより、そのiノードを使用している処理が幾
つあるかをカウンタの値により判断するためである。そ
して、図示しないがクローズの処理が実行される場合に
は、クローズの度にこのカウンタが一つずつ減少させら
れ、最後の処理がクローズされた場合にはカウンタが0
に戻るようにセットされる。0になった場合にはこのi
ノードがいずれの処理おいても、使用されていないこと
になり、オペレーティングシステムはこのiノードをメ
モリから削除することが可能になる。削除することによ
って、そのメモリを他のデータ領域や他のiノード等の
ために使用することができ、メモリの有効利用が図られ
る。
【0020】以上のように、この実施例によれば、na
meiのアルゴリズムにおいて、パスのなかからiノー
ドを検索できなかった場合に、そのパス名がスペシャル
ファイルを指定している場合においては、iノードを自
動的にメモリに作成してしまうことにより、今まで/d
evというサブディレクトリ8aのもとに存在していた
スペシャルファイル9が必要なくなり、スペシャルファ
イルの検索に要する時間がカットできることになる。ま
た、スペシャルファイルがまったく存在しないことによ
り、外部記憶装置の容量の圧迫してしまうという不具合
も解消することになる。このようにして、この実施例で
は、ドライバに対するオープン処理で必要のないスペシ
ャルファイルをなくして、iノードを自動的に生成する
ようにしたので、スペシャルファイルを使用せずに入出
力が行われる入出力処理方式を達成することができる。
meiのアルゴリズムにおいて、パスのなかからiノー
ドを検索できなかった場合に、そのパス名がスペシャル
ファイルを指定している場合においては、iノードを自
動的にメモリに作成してしまうことにより、今まで/d
evというサブディレクトリ8aのもとに存在していた
スペシャルファイル9が必要なくなり、スペシャルファ
イルの検索に要する時間がカットできることになる。ま
た、スペシャルファイルがまったく存在しないことによ
り、外部記憶装置の容量の圧迫してしまうという不具合
も解消することになる。このようにして、この実施例で
は、ドライバに対するオープン処理で必要のないスペシ
ャルファイルをなくして、iノードを自動的に生成する
ようにしたので、スペシャルファイルを使用せずに入出
力が行われる入出力処理方式を達成することができる。
【0021】実施例2.上記実施例1においては、iノ
ードを作成する場合にカウンタを1にして作成する場合
を示したが、iノードを新たに作成する場合にカウンタ
の値を2として作成してもかまわない。このようにカウ
ンタを最初から2にして作成した場合には、その後この
カウンタがオープンクローズにより増加あるいは減少し
て、たとえば、すべてその処理がクローズしてしまった
場合においても、カウンタは最小値として1をもってお
り、0になることがない。したがって、オペレーティン
グシステムは、このiノードは使用中であるとみなし、
このiノードをメモリから削除することをしない。した
がって、再び、同一のデバイスドライバをアクセスする
ためにオープン処理をした場合にiノードはすでにメモ
リに存在していることが確定しており、図1においてS
7とS8の処理は一つのiノードに対して一回だけ実行
されることになり、その後のオープンにおいては、S6
のみの流れを実行することになる。このように、新たに
iノードを作成し、そこに必要な値をセットするという
ルーチンが一度のみで済むことになり、iノードをge
tするという処理が高速になる。
ードを作成する場合にカウンタを1にして作成する場合
を示したが、iノードを新たに作成する場合にカウンタ
の値を2として作成してもかまわない。このようにカウ
ンタを最初から2にして作成した場合には、その後この
カウンタがオープンクローズにより増加あるいは減少し
て、たとえば、すべてその処理がクローズしてしまった
場合においても、カウンタは最小値として1をもってお
り、0になることがない。したがって、オペレーティン
グシステムは、このiノードは使用中であるとみなし、
このiノードをメモリから削除することをしない。した
がって、再び、同一のデバイスドライバをアクセスする
ためにオープン処理をした場合にiノードはすでにメモ
リに存在していることが確定しており、図1においてS
7とS8の処理は一つのiノードに対して一回だけ実行
されることになり、その後のオープンにおいては、S6
のみの流れを実行することになる。このように、新たに
iノードを作成し、そこに必要な値をセットするという
ルーチンが一度のみで済むことになり、iノードをge
tするという処理が高速になる。
【0022】実施例3.上記実施例1、2においては、
UNIXオペレーティングシステムの場合を例にして説
明したが、この発明はUNIXオペレーティングシステ
ムに適用できる場合だけでなく、その他のオペレーティ
ングシステムにおいても適用することが可能である。
UNIXオペレーティングシステムの場合を例にして説
明したが、この発明はUNIXオペレーティングシステ
ムに適用できる場合だけでなく、その他のオペレーティ
ングシステムにおいても適用することが可能である。
【0023】実施例4.上記実施例においては、iノー
ドという言葉を用い、また、iノードの主番号・副番号
という言葉を用いてデバイスドライバを識別する場合を
例にあげたが、iノードあるいは、主番号・副番号とい
う言葉は一例であり、この発明においては、iノードの
主番号・副番号の変わりにその他のデバイスドライバを
識別するための識別情報を用いる場合でもかまわない。
ドという言葉を用い、また、iノードの主番号・副番号
という言葉を用いてデバイスドライバを識別する場合を
例にあげたが、iノードあるいは、主番号・副番号とい
う言葉は一例であり、この発明においては、iノードの
主番号・副番号の変わりにその他のデバイスドライバを
識別するための識別情報を用いる場合でもかまわない。
【0024】実施例5.この実施例において、デバイス
ドライバが各I/O装置に対して作成される場合を示し
たが、I/O装置は、ある一つの資源の一例であり、そ
の資源を使用する場合に使用するルーチンがデバイスド
ライバであり、その他の言葉を使用する場合であっても
かまわない。
ドライバが各I/O装置に対して作成される場合を示し
たが、I/O装置は、ある一つの資源の一例であり、そ
の資源を使用する場合に使用するルーチンがデバイスド
ライバであり、その他の言葉を使用する場合であっても
かまわない。
【0025】実施例6.上記実施例においては、図1に
示した関数を図2のD点から呼ばれる場合を示したが、
図2のE点から呼ばれる場合であってもかまわない。E
点で呼ばれる場合は渡されるパス名がスペシャルファイ
ルであるときに、E点以下にあるパス名で示されたディ
レクトリを検索するという処理を省くことができ、直接
iノードをgetすることができるので、デバイスドラ
イバのオープン処理が高速になるという効果がある。
示した関数を図2のD点から呼ばれる場合を示したが、
図2のE点から呼ばれる場合であってもかまわない。E
点で呼ばれる場合は渡されるパス名がスペシャルファイ
ルであるときに、E点以下にあるパス名で示されたディ
レクトリを検索するという処理を省くことができ、直接
iノードをgetすることができるので、デバイスドラ
イバのオープン処理が高速になるという効果がある。
【0026】
【発明の効果】以上のようにこの発明によれば、実際に
スペシャル・ファイル等の特別な資源に対する識別情報
をあらかじめ記憶しなくても、ドライバに対してのI/
O処理を行なうことができる。
スペシャル・ファイル等の特別な資源に対する識別情報
をあらかじめ記憶しなくても、ドライバに対してのI/
O処理を行なうことができる。
【図1】この発明の一実施例によるnameiの中で呼
ばれる関数のフローチャート図である。
ばれる関数のフローチャート図である。
【図2】nameiの流れ図である。
【図3】ドライバに対してopenをかけたときの流れ
図である。
図である。
【図4】OPENの処理を説明する図である。
1 メインメモリ 2 オペレーティングシステム 3〜4 iノード 6 ディスク装置 7 ルートディレクトリ 8 サブディレクトリ 10 ディスクiノード
Claims (1)
- 【請求項1】 以下の要素を有する入出力処理方式 (a)入出力処理を行う資源を特定するための識別情報
を記憶する記憶工程、(b)上記資源に対するオープン
処理を起動するオープン起動工程、(c)上記オープン
起動工程により起動され、オープン処理の対象となった
資源の識別情報を、上記記憶工程で記憶された識別情報
の中から検索する識別情報検索工程、(d)上記識別情
報検索工程により起動され、オープン処理の対象となっ
た資源が所定のデバイスである場合に、その資源の識別
情報を作成して記憶する識別情報作成工程、(e)上記
識別情報検索工程及び識別情報作成工程のいずれかの工
程により得られた識別情報に基づいてオープン処理を実
行するオープン実行工程。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4060059A JPH05265820A (ja) | 1992-03-17 | 1992-03-17 | 入出力処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4060059A JPH05265820A (ja) | 1992-03-17 | 1992-03-17 | 入出力処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05265820A true JPH05265820A (ja) | 1993-10-15 |
Family
ID=13131136
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4060059A Pending JPH05265820A (ja) | 1992-03-17 | 1992-03-17 | 入出力処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05265820A (ja) |
-
1992
- 1992-03-17 JP JP4060059A patent/JPH05265820A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6449617B1 (en) | Edit command delegation program for editing electronic files | |
| US8799333B2 (en) | Delayed deletion of extended attributes | |
| US20070276848A1 (en) | Apparatus and method for managing data | |
| JPH04227550A (ja) | データ処理装置 | |
| US5410694A (en) | File access processing system of a computer enabling high-speed sequential access for a stream file | |
| JP2000357115A (ja) | ファイル検索装置及びファイル検索方法 | |
| JPH04260945A (ja) | ファイル・アクセス装置及びファイル・アクセス方法 | |
| JP2624170B2 (ja) | 論理削除データ物理削除方式 | |
| JP2539347B2 (ja) | フアイル管理方法 | |
| JPH05265820A (ja) | 入出力処理方式 | |
| JP3366184B2 (ja) | 複数のcd−romに対するアクセス高速化方法及び装置 | |
| US6330571B1 (en) | Method and computer program product for implementing datalink path protection | |
| JPH0511987A (ja) | アプリケーシヨンプログラム起動方式 | |
| JP3019104B2 (ja) | ファイル処理装置 | |
| JP2720770B2 (ja) | 自動事後処理方式 | |
| JP3178671B2 (ja) | ファイルシステム及びそのファイル復旧方法 | |
| JPH067400Y2 (ja) | フアイル検索装置 | |
| JPH02222028A (ja) | 光ディスクファイルのファイルラベルアドレス指定オープン方式 | |
| JP3398672B2 (ja) | 中間データ格納装置 | |
| JP2000003298A (ja) | 電子ファイル格納方法 | |
| JPH08328915A (ja) | 不要ファイル自動削除装置 | |
| JPH02208750A (ja) | ファイルアクセス方式 | |
| JPH05298159A (ja) | ファイル移動制御方式 | |
| JPH05334156A (ja) | データ操作命令内クローズ方式 | |
| JPH01273148A (ja) | ファイル管理方式 |