JPH04260947A - 共用ファイルのアクセス処理方法 - Google Patents
共用ファイルのアクセス処理方法Info
- Publication number
- JPH04260947A JPH04260947A JP3010665A JP1066591A JPH04260947A JP H04260947 A JPH04260947 A JP H04260947A JP 3010665 A JP3010665 A JP 3010665A JP 1066591 A JP1066591 A JP 1066591A JP H04260947 A JPH04260947 A JP H04260947A
- Authority
- JP
- Japan
- Prior art keywords
- file
- app
- record
- output
- input
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明は、電子計算機における
ファイル入出力の制御方法に関するものである。
ファイル入出力の制御方法に関するものである。
【0002】
【従来の技術】図4は従来の電子計算機におけるメモリ
レイアウトを概略的に示すブロック図である。図におい
て、1はオペレーションシステム(OS)の中核部、2
はデータ管理部、3はユーザアプリケーションプロセス
(1)(APP(1))、4はユーザアプリケーション
プロセス(2)(APP(2))、5はAPP(1)3
,APP(2)4が動作するのに必要な実行時ライブラ
リである。
レイアウトを概略的に示すブロック図である。図におい
て、1はオペレーションシステム(OS)の中核部、2
はデータ管理部、3はユーザアプリケーションプロセス
(1)(APP(1))、4はユーザアプリケーション
プロセス(2)(APP(2))、5はAPP(1)3
,APP(2)4が動作するのに必要な実行時ライブラ
リである。
【0003】図5は従来のファイルを示す概念図である
。図において、6はファイル、7,8はレコード(1)
,(2)である。
。図において、6はファイル、7,8はレコード(1)
,(2)である。
【0004】次に、上記従来のメモリレイアウトにおけ
るファイルのアクセス処理方法について説明する。各A
PP(1)3,APP(2)4が図5に示すファイル6
に対してファイル入出力を実行する場合には、実行時ラ
イブラリ5を経由しデータ管理部2を通り読取り(RE
AD),書込み(WRITE),更新(UPDATE)
をする。また、APP(2)4はAPP(1)3により
作成(fork/exec)されたプロセスであり、A
PP(2)4はメインプログラムであるAPP(1)3
のサブプログラムとして動作している。従って、APP
(1)3が実行中の時は、APP(2)4は待機(wa
it)中であり、APP(2)4が実行中の時は、AP
P(1)3は待機中である。
るファイルのアクセス処理方法について説明する。各A
PP(1)3,APP(2)4が図5に示すファイル6
に対してファイル入出力を実行する場合には、実行時ラ
イブラリ5を経由しデータ管理部2を通り読取り(RE
AD),書込み(WRITE),更新(UPDATE)
をする。また、APP(2)4はAPP(1)3により
作成(fork/exec)されたプロセスであり、A
PP(2)4はメインプログラムであるAPP(1)3
のサブプログラムとして動作している。従って、APP
(1)3が実行中の時は、APP(2)4は待機(wa
it)中であり、APP(2)4が実行中の時は、AP
P(1)3は待機中である。
【0005】今、APP(1)3がファイル6のレコー
ド(1)7に対して更新モードにて入力要求を出す。そ
の後、APP(1)3はAPP(2)4をfork/e
xecし、このAPP(2)4はファイル6のレコード
(2)8に対して更新モードにて入力要求を出す。この
時、APP(1)3はファイル6のレコード(1)7を
読み取り、またAPP(2)4はファイル6のレコード
(2)8を読み取る。
ド(1)7に対して更新モードにて入力要求を出す。そ
の後、APP(1)3はAPP(2)4をfork/e
xecし、このAPP(2)4はファイル6のレコード
(2)8に対して更新モードにて入力要求を出す。この
時、APP(1)3はファイル6のレコード(1)7を
読み取り、またAPP(2)4はファイル6のレコード
(2)8を読み取る。
【0006】
【発明が解決しようとする課題】上記のような従来のメ
モリレイアウトにおけるファイルのアクセス処理方法で
は、APP(1)3が更新モードにてファイル6のレコ
ード(1)7を入力する時は、このレコード(1)7に
対しレコードロックがかかる。次に、APP(2)4が
更新モードにてファイル6のレコード(1)7を入力し
ようとすると、既にレコード(1)7はレコードロック
されているために、このレコードロックが解除になるま
でAPP(2)4は待機状態となり、すなわちデットロ
ック状態となる。
モリレイアウトにおけるファイルのアクセス処理方法で
は、APP(1)3が更新モードにてファイル6のレコ
ード(1)7を入力する時は、このレコード(1)7に
対しレコードロックがかかる。次に、APP(2)4が
更新モードにてファイル6のレコード(1)7を入力し
ようとすると、既にレコード(1)7はレコードロック
されているために、このレコードロックが解除になるま
でAPP(2)4は待機状態となり、すなわちデットロ
ック状態となる。
【0007】従って、APP(1)3のメインプログラ
ムとAPP(2)4のサブプログラムが別々のプロセス
となっている場合に、ファイルのレコードのレコードロ
ックが解除されない間、メインプログラムとサブプログ
ラムは、ファイルの同一のレコードに対してアクセスす
ることができないという問題点があった。
ムとAPP(2)4のサブプログラムが別々のプロセス
となっている場合に、ファイルのレコードのレコードロ
ックが解除されない間、メインプログラムとサブプログ
ラムは、ファイルの同一のレコードに対してアクセスす
ることができないという問題点があった。
【0008】この発明は上記のような問題点を解消する
ためになされたもので、ファイルのレコードのレコード
ロックが解除されていない場合にも、別々のプロセスで
あるメインプログラムとサブプログラムは、ファイルの
同一のレコードに対してアクセスし、かつファイル入出
力を実行することができる共用ファイルのアクセス処理
方法を提供することを目的とする。
ためになされたもので、ファイルのレコードのレコード
ロックが解除されていない場合にも、別々のプロセスで
あるメインプログラムとサブプログラムは、ファイルの
同一のレコードに対してアクセスし、かつファイル入出
力を実行することができる共用ファイルのアクセス処理
方法を提供することを目的とする。
【0009】
【課題を解決するための手段】この発明に係る共用ファ
イルのアクセス処理方法は、メインプログラムとサブプ
ログラムが別々のプロセスである場合に、ファイル入出
力を専門に行うファイル入出力代行プロセスを発生させ
、このファイル入出力代行プロセスがメインプログラム
とサブプログラムにおけるファイル入出力をすべて代行
することにより、メインプログラムとサブプログラムに
て、ファイルのレコードのレコードロックを意識するこ
となくファイル入出力を行えるようにしたものである。
イルのアクセス処理方法は、メインプログラムとサブプ
ログラムが別々のプロセスである場合に、ファイル入出
力を専門に行うファイル入出力代行プロセスを発生させ
、このファイル入出力代行プロセスがメインプログラム
とサブプログラムにおけるファイル入出力をすべて代行
することにより、メインプログラムとサブプログラムに
て、ファイルのレコードのレコードロックを意識するこ
となくファイル入出力を行えるようにしたものである。
【0010】
【実施例】以下、この発明の一実施例を図について説明
する。図1はこの発明の実施例である共用ファイルのア
クセス処理方法を実行するメモリレイアウトを概略的に
示すブロック図である。図において、1はオペレーショ
ンシステム(OS)の中核部、2はデータ管理部、3は
ユーザアプリケーションプロセス(1)(APP(1)
)、4はメインプログラムであるAPP(1)3からf
ork/execされたプロセスで、APP(1)3の
サブプログラムであるユーザアプリケーションプロセス
(2)(APP(2))であり、APP(1)3とAP
P(2)4はメインプログラムとサブプログラムの関係
にある。5はAPP(1)3,APP(2)4が動作す
るのに必要な実行時ライブラリ、9はファイル入出力代
行プロセス、10はメモリ共用エリアであるAPP(1
)3,APP(2)4及びファイル入出力代行プロセス
9のレコードバッファである。
する。図1はこの発明の実施例である共用ファイルのア
クセス処理方法を実行するメモリレイアウトを概略的に
示すブロック図である。図において、1はオペレーショ
ンシステム(OS)の中核部、2はデータ管理部、3は
ユーザアプリケーションプロセス(1)(APP(1)
)、4はメインプログラムであるAPP(1)3からf
ork/execされたプロセスで、APP(1)3の
サブプログラムであるユーザアプリケーションプロセス
(2)(APP(2))であり、APP(1)3とAP
P(2)4はメインプログラムとサブプログラムの関係
にある。5はAPP(1)3,APP(2)4が動作す
るのに必要な実行時ライブラリ、9はファイル入出力代
行プロセス、10はメモリ共用エリアであるAPP(1
)3,APP(2)4及びファイル入出力代行プロセス
9のレコードバッファである。
【0011】図2は図1の共用ファイルのアクセス処理
方法を説明するためのフローチャート、図3は図1のフ
ァイル入出力代行プロセスが使用するデータ管理テーブ
ルを示す図である。図において、11はオペレーショナ
ルラベル名格納領域、12はファイルディスクリプタ格
納領域であり、各格納領域11,12によってファイル
入出力をするファイルのオペレーショナルラベル名とフ
ァイルディスクリプタの対応関係が表示される。
方法を説明するためのフローチャート、図3は図1のフ
ァイル入出力代行プロセスが使用するデータ管理テーブ
ルを示す図である。図において、11はオペレーショナ
ルラベル名格納領域、12はファイルディスクリプタ格
納領域であり、各格納領域11,12によってファイル
入出力をするファイルのオペレーショナルラベル名とフ
ァイルディスクリプタの対応関係が表示される。
【0012】次に、上記この発明の実施例である共用フ
ァイルのアクセス処理方法について説明する。図2に示
されるように、ファイルのOPEN(開放)をする時は
、APP(1)3,APP(2)4はデータ管理が必要
とする図3に示すデータ管理テーブルを実行ライブラリ
5に渡す。次に、実行ライブラリ5はファイル入出力代
行プロセス9をfork/execし、上記データ管理
テーブルをファイル入出力代行プロセス9に渡す。上記
データ管理テーブルの情報によりファイル入出力代行プ
ロセス9はファイルをOPENする。
ァイルのアクセス処理方法について説明する。図2に示
されるように、ファイルのOPEN(開放)をする時は
、APP(1)3,APP(2)4はデータ管理が必要
とする図3に示すデータ管理テーブルを実行ライブラリ
5に渡す。次に、実行ライブラリ5はファイル入出力代
行プロセス9をfork/execし、上記データ管理
テーブルをファイル入出力代行プロセス9に渡す。上記
データ管理テーブルの情報によりファイル入出力代行プ
ロセス9はファイルをOPENする。
【0013】また、ファイルのREAD(読取り)をす
る時は、APP(1)3,APP(2)4は実行時ライ
ブラリ5にファイルに対応するオペレーショナルラベル
を渡す。実行ライブラリ5はファイル入出力代行プロセ
ス9に上記オペレーショナルラベルの情報を渡し、ファ
イル入出力代行プロセス9は渡されたオペレーショナル
ラベルに対応するファイルをREADし、そのデータ(
レコード内容)をレコードバッファ10にセットする。
る時は、APP(1)3,APP(2)4は実行時ライ
ブラリ5にファイルに対応するオペレーショナルラベル
を渡す。実行ライブラリ5はファイル入出力代行プロセ
ス9に上記オペレーショナルラベルの情報を渡し、ファ
イル入出力代行プロセス9は渡されたオペレーショナル
ラベルに対応するファイルをREADし、そのデータ(
レコード内容)をレコードバッファ10にセットする。
【0014】また、ファイルのWRITE(書込み)を
する時は、APP(1)3,APP(2)4は実行時ラ
イブラリ5にファイルに対応するオペレーショナルラベ
ルとレコード内容を渡す。実行時ライブラリ5はファイ
ル入出力代行プロセス9に上記オペレーショナルラベル
を渡し、また実行時ライブラリ5はレコードバッファ1
0に上記レコード内容をセットする。ファイル入出力代
行プロセス9は渡された上記オペレーショナルラベルに
対応するファイルをWRITEする。
する時は、APP(1)3,APP(2)4は実行時ラ
イブラリ5にファイルに対応するオペレーショナルラベ
ルとレコード内容を渡す。実行時ライブラリ5はファイ
ル入出力代行プロセス9に上記オペレーショナルラベル
を渡し、また実行時ライブラリ5はレコードバッファ1
0に上記レコード内容をセットする。ファイル入出力代
行プロセス9は渡された上記オペレーショナルラベルに
対応するファイルをWRITEする。
【0015】また、ファイルのCLOSE(閉成)をす
る時は、APP(1)3,APP(2)4は実行時ライ
ブラリ5にファイルに対応するオペレーショナルラベル
を渡す。実行時ライブラリ5はファイル入出力代行プロ
セス9に上記オペレーショナルラベルを渡す。ファイル
入出力代行プロセス9は渡された上記オペレーショナル
ラベルに対応するファイルをCLOSEする。
る時は、APP(1)3,APP(2)4は実行時ライ
ブラリ5にファイルに対応するオペレーショナルラベル
を渡す。実行時ライブラリ5はファイル入出力代行プロ
セス9に上記オペレーショナルラベルを渡す。ファイル
入出力代行プロセス9は渡された上記オペレーショナル
ラベルに対応するファイルをCLOSEする。
【0016】次に、ファイル入出力代行プロセス9の動
作について説明すると、ファイルのOPEN処理の時に
、図3に示されるデータ管理テーブルを作成し、ファイ
ルのREAD,WRITE,CLOSE処理の時には、
上記データ管理テーブルを使用して、渡されたオペレー
ショナルラベルより必要なファイルディスクリプタを得
てファイル入出力を行う。
作について説明すると、ファイルのOPEN処理の時に
、図3に示されるデータ管理テーブルを作成し、ファイ
ルのREAD,WRITE,CLOSE処理の時には、
上記データ管理テーブルを使用して、渡されたオペレー
ショナルラベルより必要なファイルディスクリプタを得
てファイル入出力を行う。
【0017】なお、上記実施例では、APP(1)3,
APP(2)4とファイル入出力代行プロセス9の間に
実行時ライブラリ5が介在している場合について説明し
たが、本処理をコンパイラが生成し、APP(1)3,
APP(2)4に組み込んでAPP(1)3,APP(
2)4と実行時ライブラリ5の間で直接に入出力要求を
しても良い。
APP(2)4とファイル入出力代行プロセス9の間に
実行時ライブラリ5が介在している場合について説明し
たが、本処理をコンパイラが生成し、APP(1)3,
APP(2)4に組み込んでAPP(1)3,APP(
2)4と実行時ライブラリ5の間で直接に入出力要求を
しても良い。
【0018】また、上記実施例では、APP(1)3が
APP(2)4をfork/execし、APP(2)
4はAPP(1)3のサブルーチンである場合について
説明したが、APP(1)3とAPP(2)4は親子関
係でなくても良い。上記実施例では、あくまでもAPP
(2)4はAPP(1)3のプロセスの分かれたサブル
ーチンであるが、APP(1)3とAPP(2)4は独
立したプロセスとして実行するシステムに用いても良い
。
APP(2)4をfork/execし、APP(2)
4はAPP(1)3のサブルーチンである場合について
説明したが、APP(1)3とAPP(2)4は親子関
係でなくても良い。上記実施例では、あくまでもAPP
(2)4はAPP(1)3のプロセスの分かれたサブル
ーチンであるが、APP(1)3とAPP(2)4は独
立したプロセスとして実行するシステムに用いても良い
。
【0019】
【発明の効果】以上のように、この発明の共用ファイル
のアクセス処理方法によれば、メインプログラムとサブ
プログラムが別々のプロセスである場合に、ファイル入
出力を専門に行うファイル入出力代行プロセスを発生さ
せ、このファイル入出力代行プロセスがファイル入出力
をすべて代行することにより、メインプログラムとサブ
プログラムにて、ファイルのレコードのレコードロック
を意識することなくファイル入出力を行えるようにした
ので、メインプログラムとサブプログラムは、ファイル
の同一のレコードに対してアクセスすることができると
いう優れた効果を奏する。
のアクセス処理方法によれば、メインプログラムとサブ
プログラムが別々のプロセスである場合に、ファイル入
出力を専門に行うファイル入出力代行プロセスを発生さ
せ、このファイル入出力代行プロセスがファイル入出力
をすべて代行することにより、メインプログラムとサブ
プログラムにて、ファイルのレコードのレコードロック
を意識することなくファイル入出力を行えるようにした
ので、メインプログラムとサブプログラムは、ファイル
の同一のレコードに対してアクセスすることができると
いう優れた効果を奏する。
【図1】この発明の実施例である共用ファイルのアクセ
ス処理方法を実行するメモリレイアウトを概略的に示す
ブロック図である。
ス処理方法を実行するメモリレイアウトを概略的に示す
ブロック図である。
【図2】図1の共用ファイルのアクセス処理方法を説明
するためのフローチャートである。
するためのフローチャートである。
【図3】図1のファイル入出力代行プロセスが使用する
データ管理テーブルを示す図である。
データ管理テーブルを示す図である。
【図4】従来の電子計算機におけるメモリレイアウトを
概略的に示すブロック図である。
概略的に示すブロック図である。
【図5】従来のファイルを示す概念図である。
1 中核部
2 データ管理部
3 ユーザアプリケーションプロセス(1)(A
PP(1)) 4 ユーザアプリケーションプロセス(2)(A
PP(2)) 5 実行時ライブラリ 6 ファイル 7 レコード(1) 8 レコード(2) 9 ファイル入出力代行プロセス10 レ
コードバッファ
PP(1)) 4 ユーザアプリケーションプロセス(2)(A
PP(2)) 5 実行時ライブラリ 6 ファイル 7 レコード(1) 8 レコード(2) 9 ファイル入出力代行プロセス10 レ
コードバッファ
Claims (1)
- 【請求項1】 ファイルの管理を行う処理をプロセス
単位で実行するオペレーションシステムにおいて、メイ
ンプログラムとサブプログラムが別々のプロセスである
場合に、ファイル入出力をすべて代行して行うファイル
入出力代行プロセスを作成し、このファイル入出力代行
プロセスを用いて、同一のファイルに対しファイル入出
力を実行することを特徴とする共用ファイルのアクセス
処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3010665A JPH04260947A (ja) | 1991-01-31 | 1991-01-31 | 共用ファイルのアクセス処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3010665A JPH04260947A (ja) | 1991-01-31 | 1991-01-31 | 共用ファイルのアクセス処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04260947A true JPH04260947A (ja) | 1992-09-16 |
Family
ID=11756540
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3010665A Pending JPH04260947A (ja) | 1991-01-31 | 1991-01-31 | 共用ファイルのアクセス処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04260947A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000284978A (ja) * | 1999-03-25 | 2000-10-13 | Internatl Business Mach Corp <Ibm> | 共用資源を非同期的に更新するためのインターフェース・システムおよび方法 |
-
1991
- 1991-01-31 JP JP3010665A patent/JPH04260947A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000284978A (ja) * | 1999-03-25 | 2000-10-13 | Internatl Business Mach Corp <Ibm> | 共用資源を非同期的に更新するためのインターフェース・システムおよび方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8171491B2 (en) | Object synchronization in shared object space | |
| US7543301B2 (en) | Shared queues in shared object space | |
| JPH0833799B2 (ja) | データ入出力制御方式 | |
| KR20040087898A (ko) | 프로그램 처리 시스템 및 프로그램 처리 방법, 및컴퓨터·프로그램 | |
| US20080320459A1 (en) | Method And Systems For Providing Concurrency Control For Addressable Entities | |
| JPH04260947A (ja) | 共用ファイルのアクセス処理方法 | |
| Dutt | IPC Through Shared Memory | |
| US6345312B1 (en) | Selectively dummying a data pipe transparent to a writer application | |
| JP2629051B2 (ja) | ファイル編成情報獲得処理方式 | |
| Diener et al. | The federative database server | |
| JP2933569B2 (ja) | 中央演算処理装置 | |
| JPH04130949A (ja) | 簡易システム起動方式 | |
| JP2769382B2 (ja) | 情報処理装置 | |
| JPS63313231A (ja) | 自動磁気テ−プトレイララベル書き込み方式 | |
| Curland et al. | Advanced Visual Basic 6: Power Techniques for Everyday Programs with Cdrom | |
| JP2721377B2 (ja) | Basicプログラム圧縮方法 | |
| JPH05173766A (ja) | プログラム管理システム | |
| JPH01137348A (ja) | データ書込みシステム | |
| Dechev | A concurrency and time centered framework for certification of autonomous space systems | |
| JP2000259432A (ja) | マルチスレッド・プログラムにおけるファイル書込方式 | |
| Diener | Carl August Zehnder (Eds.) | |
| JPS6212555B2 (ja) | ||
| Bartoli et al. | Mechanisms for application-level recoverable-persistence in a single address space | |
| JPS61276040A (ja) | 論理フアイルアクセス方式 | |
| JP2000353359A (ja) | 記憶装置の初期化方法 |