JPH06161861A - ファイル処理制御システム - Google Patents

ファイル処理制御システム

Info

Publication number
JPH06161861A
JPH06161861A JP4308952A JP30895292A JPH06161861A JP H06161861 A JPH06161861 A JP H06161861A JP 4308952 A JP4308952 A JP 4308952A JP 30895292 A JP30895292 A JP 30895292A JP H06161861 A JPH06161861 A JP H06161861A
Authority
JP
Japan
Prior art keywords
file
group
declaration
cpu
management table
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
Application number
JP4308952A
Other languages
English (en)
Inventor
Kenichi Hibino
健一 日比野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP4308952A priority Critical patent/JPH06161861A/ja
Publication of JPH06161861A publication Critical patent/JPH06161861A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 本発明は、複数のプロセスがグループを形成
できるようにして、ファイル使用の排他制御をこのグル
ープ単位で行えるようにするものである。 【構成】各プロセスが属するグループ種別をそれら各プ
ロセスと対応付けてプロセス管理テーブル21に登録
し、また、各プロセスが現在使用しているファイルとそ
のプロセスとの対応関係をファイル使用宣言管理テーブ
ル22に登録する。CPU40は上記管理テーブル2
1,22に登録されている情報を基にファイル使用の排
他制御を上記グループ単位で行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセス(pr
ocess)が並列動作可能な情報処理装置において、
プロセスのファイル使用の排他制御を行うファイル処理
制御システムに関する。
【0002】
【従来の技術】ファイルは、記憶装置上に実現され利用
される論理的な実体であり、さまざまなデータ処理にお
いて利用される。そして、各ファイルに対するアプリケ
ーションプログラム(ユーザー作成のプログラム)から
の利用要求は、オペレーティングシステム(以下、OS
という)内の1つのサブシステムであるデータ管理シス
テムによりプロセスに変換されて実行される。尚、プロ
セスとは、システム資源(CPUやファイル等)の割り
当てを要求する主体となる概念実体である。マルチプロ
セス(マルチタスク)のオペレーティングシステムにお
いては、スループットの向上のために複数のプロセスが
並行動作可能であり、複数のプロセスが1つのファイル
(共用ファイル)を共用できるようになっている。しか
しながら、このようなファイルの使用形態においては、
ある1つのファイルが同時並行的に複数のプロセスに共
用されると、不都合が生じることがある。これは、例え
ば、2つ以上のプロセスが同一のファイルのデータ更新
を同時並行的に行う場合である。
【0003】このため、「1つのプロセスがあるファイ
ルを使用中の場合には、他のプロセスはそのファイルを
使用してはならない」というファイルの排他制御が必要
となってくる。一般に、アプリケーションプログラムが
OPEN基本操作命令により、ファイルの排他的な使用
をOSに対し要求すると、そのファイルは、上記OPE
N基本操作命令に呼応しOSにより起動されるプロセス
により排他的に使用されるようになっている。そして、
そのプロセスが上記アプリケーションプログラムのCL
OSE基本操作命令にしたがって、上記ファイルの使用
終了宣言を行うまで、他のプロセスは上記ファイルに対
する使用宣言が許可されず、上記ファイルに対する所定
の処理を行うことができなかった。
【0004】以下に、図11〜図13を参照して、従来
のマルチプロセスのOSにおける共用ファイル使用の排
他制御の一般的な方法を説明する。図11は、ある1つ
のプロセスAが、共用ファイルとなっているファイルB
を使用するときの動作を説明する図である。同図におい
て、縦軸が時間軸であり、縦軸上の長方形がプロセスA
の存在時間を表している。
【0005】まず、時刻t1 において、プロセスAが生
成(起動)される。次に、時刻t2において、プロセス
AがファイルBの使用宣言を行う。この使用宣言によ
り、プロセスAは、ファイルBを排他的に使用できるよ
うになる。そして、プロセスAは、ファイルBの使用期
間TABが終了すると、時刻t3 において、ファイルBの
使用終了宣言を行う。このことにより、ファイルBは未
使用状態に戻り(同図において、ファイルBの未使用期
間は破線で表わされている)、時刻t4 において、プロ
セスAは消滅(終了)する。
【0006】図12は、上述したように、プロセスAに
よるファイルBの使用期間TAB中に、他のプロセスCが
上記ファイルBの使用宣言を行ったときの動作を説明す
る図である。
【0007】同図に示すように、プロセスAがファイル
Bの使用宣言を行い、ファイルBを使用している期間T
AB中にプロセスCがファイルBに対する使用宣言を行う
と、現在、ファイルBはプロセスAにより排他的に使用
されているために、その使用宣言はOSにより拒絶さ
れ、プロセスCは、プロセスAがファイルBを排他的に
使用している間は、ファイルBを使用することができな
い。
【0008】ところで、排他制御のためのあるファイル
に対する使用宣言が有効なのは、その使用宣言を行った
プロセスが存在している期間中のみであり、たとえその
プロセスが上記ファイルの使用終了宣言を行わずに終了
しても、そのプロセスが消滅すると、上記ファイルBは
他のプロセスにより使用可能となる。これは、アプリケ
ーションプログラムのバグや、OSによるプロセスの強
制的な終了などにより、あるプロセスがファイルの使用
終了宣言を行わないまま終了してしまった場合、以後、
他のプロセスがそのファイルを使用できなくなる状態と
なることを回避するために行われる。このような制御の
一例を、図13に、上記プロセスをプロセスA,C、上
記ファイルをファイルBとして示す。
【0009】
【発明が解決しようとする課題】上述したように、従
来、マルチプロセスのOSにおいては、あるプロセスが
あるファイルの使用宣言を行った場合、そのファイルは
そのプロセスの終了まで他のプロセスが使用できなかっ
た。すなわち、ファイル使用の排他制御は、プロセス単
位で行われていた。
【0010】このため、あるファイルのデータ処理を、
連続する複数のプロセスにより1まとまりのデータ処理
として行おうとする場合、その連続するデータ処理中に
おいて上記複数のプロセス内のあるプロセスが使用終了
宣言を行った直後に、上記1まとまりのデータ処理を行
う次のプロセスが起動される前に、上記1まとまりのデ
ータ処理とは別のデータ処理を行う他のプロセスが起動
されてしまうと、この他のプロセスにより上記ファイル
の一部のデータが書き換えられてしまい、上記ファイル
のデータが一部破壊されてしまう事態が発生するなどの
問題があった。
【0011】このような問題が発生する場合の一例を、
図14を参照しながら説明する。図14は、ファイルB
に対する1まとまりのデータ処理をするために連続して
起動されるべき3つのプロセスA1,A2,A3と、フ
ァイルBに対して他のデータ処理を行うプロセスCと
が、ファイルBの使用宣言を並列的に行う場合に発生す
る問題点を説明する図である。同図において、プロセス
A1,プロセスA2,プロセスA3は、他のプロセスに
遮られることなく、ファイルBに対して1まとまりのデ
ータ処理を連続して行う必要があるプロセス群である。
【0012】同図において、まず、プロセスA1が、フ
ァイルBの使用宣言を行い、ファイルBを排他的に使用
して、ファイルBに対し所定のデータ処理を行う。そし
て、プロセスA1が、そのデータ処理を終了し、ファイ
ルBの使用終了宣言を行うと、ファイルBは未使用状態
に戻り、他のプロセスがファイルBに対する使用宣言を
行うことが可能となる。
【0013】続いて、直ちに、プロセスA2がファイル
Bの使用宣言を行い、今度はプロセスA2がファイルB
を排他的に使用して、ファイルBに対し所定のデータ処
理を行う。このように、プロセスA2がファイルBを排
他的に使用している間に、ファイルBに対し上記1まと
まりのデータ処理とは別のデータ処理を行うプロセスC
がファイルBの使用宣言を行うと、この使用宣言は、O
Sのデータ管理システムにより拒絶され、プロセスCの
ファイルBに対する使用宣言は拒否される。したがっ
て、プロセスA2は、中断されることなく所定のデータ
処理を連続して行い、このデータ処理が終了すると、フ
ァイルBの使用終了宣言を行った後消滅し、再びファイ
ルBは未使用状態、すなわち他のプロセスが使用宣言可
能な状態に戻る。
【0014】この後、上記ファイルBの1まとまりのデ
ータ処理が正しく行われるためには、本来、プロセスA
3が、プロセスBの消滅後ファイルBに対する使用宣言
を直ちに行い、直ちにファイルBに対し所定のデータ処
理を開始すべきであるが、図14に示すように、プロセ
スA3がファイルBの使用宣言を行う前、すなわちプロ
セスA2からプロセスA3への切り換えが行われる前
に、上記プロセスCがファイルBの使用宣言を行うと、
このときファイルBは未使用状態なので、プロセスCの
ファイルBに対する使用宣言は、OSのデータ管理シス
テムにより許可される。
【0015】このため、プロセスCがファイルBに対す
る使用宣言を行った後に、プロセスA3がファイルBの
使用宣言を行っても、この使用宣言はOSのデータ管理
システムにより拒絶されてしまう。この結果、プロセス
A3は、プロセスCによるデータ処理が終了した後でな
ければ、ファイルBに対する使用宣言を受け入れられ
ず、上記ファイルBに対する1まとまりのデータ処理が
遅延するだけでなく、正常に行われなくなる場合があ
る。
【0016】この原因は、ファイル使用の排他制御がプ
ロセス単位で行われるため、あるファイルを排他的に使
用していたあるプロセスが消滅すると同時に、直ちに上
記あるファイルが未使用状態となって、他のプロセスが
直ちにそのファイルに対する使用権を獲得できるような
システムになっているためであると考えられる。
【0017】してみれば、複数のプロセスがグループを
形成できるようにし、ファイル使用の排他制御を上記グ
ループ単位で行えるようにすれば、複数のプロセスによ
るあるファイルに対する連続する1まとまりのデータ処
理を、常に正しく行えるようになり、ファイル使用の排
他制御を有効的に行えるようになることは明らかであ
る。
【0018】この発明の課題は、複数のプロセスがグル
ープを形成できるようにし、ファイル使用の排他制御
を、上記グループ単位で行えるようにすることである。
【0019】
【課題を解決するための手段】この発明の手段は以下の
通りである。この発明は、複数のプロセスが並列動作可
能な情報処理装置のファイル処理制御システムを前提と
する。プロセスグループ形成手段は、各プロセスに対し
てグループ種別を割り当てる。プロセス管理手段は、プ
ロセスグループ形成手段により割り当てられた前記各プ
ロセスのグループ種別を管理する。ファイル管理手段
は、各ファイルが現在どのプロセスによって使用されて
いるかを管理する。排他制御手段は、あるプロセスがあ
るファイルに対する使用権を要求したとき、プロセス管
理手段の管理情報とファイル管理手段の管理情報とを参
照し、上記使用権が要求されたファイルが既に他のグル
ープのプロセスにより使用中である場合、上記あるプロ
セスによる上記ファイルに対するアクセスを禁止する。
【0020】
【作用】この発明の手段の作用は次の通りである。プロ
セスグループ形成手段は、例えば、各プロセスから自プ
ロセスが所属するグループを指定するグループ所属宣言
を受け取ると、その指定グループを識別するためのグル
ープ種別(例えば、グループ番号)を、各プロセスに割
り当てる。プロセス管理手段は、プロセスグループ形成
手段によって各プロセスに割り当てられたグループ種別
を、各プロセスと対応付けて管理する。このことによ
り、同一グループを指定する宣言を行った複数のプロセ
スが1つのグループを形成する。そして、あるグループ
に属すあるプロセスがあるファイルに対する使用権を要
求すると、排他制御手段は、プロセス管理手段により管
理されている各プロセスのグループ所属情報と、ファイ
ル管理手段に管理されている上記使用権が要求されたフ
ァイルの現在の使用状況に関する情報とを基に、その使
用権が要求されたファイルが既に他のグループに属する
プロセスによって使用中であるか否かを調べ、使用中で
あった場合、上記あるプロセスに対し、上記あるファイ
ルの使用権を許可しない旨を通知する。以上のように、
あるプロセスがあるファイルに対する使用権を要求して
も、そのファイルが他のグループによって使用中であれ
ば上記プロセスの使用権要求は拒否される。したがっ
て、複数のプロセスがグループを形成でき、ファイル使
用の排他制御を、上記グループ単位で行えるようにな
る。
【0021】
【実施例】以下、図1〜図10を参照して一実施例を説
明する。図1は、情報処理装置の要部の構成を示すブロ
ック図である。
【0022】入力部10は、例えば、キーボード、マウ
ス等から成り、ユーザーの操作により入力された、各種
指示(コマンド)やデータをCPU40に出力する。主
記憶メモリ20は、例えば、RAM,ROM等の半導体
メモリから成る、CPU40が直接アクセス可能な記憶
装置であり、OSの格納領域とOSの作業領域等から成
るシステム領域、アプリケーションプログラムの格納領
域とアプリケーションプログラムの作業領域等から成る
ユーザ領域等から成る。システム領域の一部であるプロ
セス格納領域23には、CPUが実行するプロセスが格
納される。同図に示すプロセス格納領域23には、所定
のファイル処理を行う親プロセスと、この親プロセスの
実行時に生成されるその子プロセスD,A1,A2,A
3,C,・・・が格納されている様子が示されている。
また、主記憶メモリ20は、OSにより管理されるプロ
セス管理テーブル21及びファイル使用宣言管理テーブ
ル22も有している。プロセス管理テーブル21及びフ
ァイル使用宣言管理テーブル22の構成・機能について
は後述する。
【0023】補助記憶装置30は、磁気ディスク、光磁
気ディスク等から成り、CPU40により生成される各
種ファイル(ファイルA,B,C,D,・・・)を格納
する。
【0024】CPU40は、マイクロプロセッサ等から
成り、入力部10から入力されるユーザの指示データや
入力データに従って、主記憶メモリ20上の上記OSや
各アプリケーションプログラムを複数のプロセスにより
実行する。
【0025】表示部50は、CRT表示装置から成り、
CPU40から入力される表示制御命令並びに表示デー
タにより、入力部10からユーザが入力するコマンドや
入力データ、さらにはアプリケーションプログラムの実
行結果やOSのメッセージ等を表示する。
【0026】上記各装置10,20,30,50は、バ
ス60により、CPU40と接続されている。上記構成
の情報処理装置において、CPU40は、主記憶メモリ
20に格納されているOSの一部を実行することによ
り、「プロセスの生成」、「プロセスの終了」、「ファ
イルの使用宣言」、「ファイルの使用終了宣言」、「プ
ロセスのグループ所属宣言」等の各種事象(イベント)
に対応して所定の処理を行う。
【0027】図2は、CPU40がプロセスのファイル
処理を管理するために用いるプロセス管理テーブル21
の構成図である。このプロセス管理テーブル21は、図
2に示す主記憶メモリ20内に設けられている。
【0028】CPU40は、プロセスを生成する際、こ
の生成されたプロセスを、他の既に生成されている、ま
たは新たに生成されるプロセスと識別して管理・制御す
るため、生成したプロセスに対して、現在生成されてい
る他のいずれのプロセスに対してもまだ割り当てられて
いない固有のプロセス番号pi (i=1,2,3,・・
・)を取得し、このプロセス番号を上記生成したプロセ
スのプロセス制御ブロックに書き込むと共に、プロセス
管理テーブル21のプロセス番号格納域にも書き込む。
【0029】プロセス管理テーブル21は、各プロセス
が共用ファイルを使用する際の制御・管理に用いるテー
ブルであり、上記「グループ所属宣言」を行ったプロセ
スについて、その所属するグループを管理するために用
いられる。上記プロセス番号p1 ,p2 ,・・・,pn
は、正の整数であり、上述したように他のプロセスのプ
ロセス番号と重複しない固有の番号である。尚、プロセ
ス管理テーブル21内でプロセス番号が“0”となって
いる行は、現在使用されていない行(未使用行)であ
る。
【0030】また、CPU40は、アプリケーションプ
ログラムのシステムコールにより指定されるグループ指
定情報に基づいて、各プロセスが「あるグループに対す
る所属宣言」を行うと、それら各プロセスの上記指定グ
ループに対して割り当てられているグループ番号g
i (i=1,2,3,・・・)がグループ管理情報とし
て、プロセス管理テーブル21の未使用行にその宣言を
行ったプロセスのプロセス番号と対応付けられて書き込
む。このグループ番号gi は、あるファイルに対して1
まとまりのデータ処理を行う複数のプロセスの集合であ
る。
【0031】同一グループに属すプロセスに対しては、
各グループ毎に固有な正の整数から成るグループ番号g
1 ,g2 ,・・・,gn が割り当てられる。したがっ
て、図3において、例えばプロセス番号p1 のプロセス
とプロセスp2 のプロセスとが同じグループに属す場合
には、グループ番号g1 とグループ番号g2 は等しくな
る。尚、プロセス管理テーブル21上でグループ番号g
n が“0”の場合は、このグループ番号gn が割り当て
られたプロセスpn は、いかなるグループにも属してい
ない。このようにして、CPU40は、新たなプロセス
を生成する毎に、プロセス管理テーブル21上にそのプ
ロセスのプロセス番号pi とグループ番号gi を書き込
み、これらの管理情報により、各プロセスのあるファイ
ルに対するアクセスを制御する。
【0032】次に、図3は、CPU40が、各プロセス
が現在どのファイルに対して使用宣言を行っているかを
管理するために用いる、ファイル使用宣言管理テーブル
22の構成を示す図である。
【0033】あるプロセスが「あるファイルに対する使
用宣言」を行うと、CPU40は、図3に示すように、
そのプロセスのプロセス番号pj ’(j=1,2,3,
・・・,m)とそのファイルのファイル番号fj をファ
イル使用宣言管理テーブル22の同一行に書き込む。図
4においては、プロセス番号p1 ’のプロセスが、「フ
ァイル番号f1 をもつファイルの使用宣言」を行ったこ
とが登録されている。
【0034】また、CPU40は、「ファイルの使用宣
言」を行っていないプロセス、「ファイルの使用宣言」
が拒否されたプロセス、「ファイルの使用終了宣言」を
行ったプロセス、及び消滅したプロセスについては、フ
ァイル使用宣言管理テーブル22の当該行のプロセス番
号を“0”に設定する。
【0035】このように、CPU40は、「ファイルの
使用宣言」を行ったプロセスについては、そのプロセス
番号と、使用宣言されたファイルのファイル番号を、フ
ァイル使用宣言管理テーブル22の同一行に書き込み、
現在、どのプロセスがどのファイルに対して「使用宣
言」を行っているかを管理する。
【0036】次に、図4〜9を参照しながら、「プロセ
スの生成」「プロセスの終了」「ファイルの使用宣言」
「ファイルの使用終了宣言」「プロセスのグループ所属
宣言」の各事象の発生に対応してCPU40がOSを実
行することにより行う動作を説明しながら、本実施例に
おけるファイル使用の排他制御方式を説明する。
【0037】図4は、CPU40がOSを実行すること
により「プロセスの生成」の事象に呼応して行うプロセ
スの生成処理を説明するフローチャートである。尚「プ
ロセスの生成」は、OSのサブプログラムであるプログ
ラム管理システムにより行われる、OSが提供する基本
的サービスの1つであり、アプリケーションプログラム
のシステムコールに呼応して行われる。
【0038】CPU40は、プロセスを生成すると、ま
ず、ステップS71で上記生成したプロセスの管理情報
を書き込むために、プロセス管理テーブル21の未使用
行を検索(サーチ)する。この未使用行の検索は、プロ
セス番号が“0”の行を検索することにより行う。
【0039】続いて、CPU40は、ステップS72
で、未使用行の検索結果を判別し、プロセス管理テーブ
ル21に未使用行が有る場合には、ステップS73に進
む。CPU40は、ステップS73で、他のプロセスと
の混同を避けるために、上記新たに生成されたプロセス
に割り当てるべき、既に生成されている他のいずれのプ
ロセスにも割り当てられていない未使用のプロセス番号
i (i=1,2,3,・・・)を取得する。
【0040】そして、CPU40は、次のステップS7
4で、プロセス管理テーブル21の上記未使用行に、上
記新たに生成されたプロセスのプロセス番号として、上
記ステップS73で取得したプロセス番号pi を登録
し、グループ番号gi としては、いかなるグループにも
属していないことを示す、“0”を登録して、「プロセ
スの生成」処理を終了する。
【0041】一方、CPU40は、上記ステップS72
で、現在、プロセス管理テーブル21内に未使用行が無
いと判別すると、ステップS75に進み、所定のエラー
ステイタス(エラーメッセージ)を上記プロセスに返答
するエラー処理を行って処理を終了する。
【0042】次に、図5に、上記「プロセスの生成」の
事象により生成されたプロセスが、生成後に「プロセス
のグループ所属宣言」を行ったときに、CPU40が行
う処理を説明するフローチャートを示す。
【0043】生成されたプロセスが、所属を所望するあ
るグループのグループ番号gi を、「グループ所属宣
言」により宣言すると、CPU40は、ステップS81
で、プロセス管理テーブル21の、「上記グループ所属
宣言」を行ったプロセスのグループ番号gi を“0”か
ら上記宣言されたグループ番号に書き換え、処理を終了
する。尚、生成されたプロセスがグループ所属宣言を行
わない場合には、プロセス管理テーブル21内のそのプ
ロセスのグループ番号gi は書き換えられることはな
く、“0”のままである。
【0044】上述のようにして、「プロセスのグループ
所属宣言」を行ったプロセスが、次に「ファイルの使用
宣言」を行った場合のCPU40の動作を、図6,図7
のフローチャートに示す。
【0045】CPU40は、プロセス番号pのプロセス
(プロセスpとする)が、「ファイル番号fのファイル
(ファイルfとする)の使用宣言」を行うと、まず、ス
テップS91で、ファイルfの使用宣言を既に行ってい
るプロセス(プロセスp’とする)が有るか否か、すな
わちファイルfが、現在、他のプロセスにより使用され
ているか否かを、ファイル使用宣言管理テーブル22の
いずれかの行に上記ファイル番号fが登録されているか
否かを検索することにより行う。
【0046】そして、CPU40は、次のステップS9
2で、ファイル使用宣言管理テーブル22の上記検索結
果を判別し、ファイルfの使用宣言を行っているプロセ
スp’が既に有る場合には、ステップS93に進む。一
方、ファイルfの使用宣言を行っているプロセスp’
が、現在無いと判別すると、ステップS98へ進み、後
述する処理を行う。
【0047】CPU40は、ステップS93で、上記フ
ァイルfの使用宣言を行ったプロセスpが、いずれかの
グループに属しているか否かを、プロセス管理テーブル
21の上記プロセスpのグループ番号gを参照して判別
する。そして、上記プロセスpのグループ番号gが
“0”、すなわちプロセスpがいずれのグループにも属
していない場合には、ステップS101でプロセスpに
対し、ファイルfに対する使用宣言を拒否する旨のメッ
セージを返答して。処理を終了する。
【0048】一方、CPU40は、ステップS93で、
プロセスpのグループ番号gが“0”でない、すなわち
プロセスpがあるグループに属していると判別すると、
ステップS94へ進む。
【0049】CPU40は、ステップS94で、ファイ
ルfの使用宣言を既に行っているプロセスp’が、グル
ープに属しているか否かを、プロセス管理テーブル21
のプロセスp’のグループ番号g’を参照することによ
り判別する。そして、上記グループ番号g’が“0”、
すなわちプロセスp’がいかなるグループにも属してい
ないと判別すると、上記ステップS101でプロセスp
に対しファイルfに対する使用宣言を拒否する旨のメッ
セージを返答して処理を終了する。
【0050】一方、CPU40は、ステップS94で、
プロセスp’のグループ番号gが“0”でない、すなわ
ちプロセスp’があるグループに属していると判別する
と、ステップS95へ進む。
【0051】CPU40は、ステップS95で、プロセ
ス管理テーブル21を検索して、プロセスpが所属する
グループのグループ番号gとプロセスp’が所属するグ
ループのグループ番号g’とを比較して、ファイルfの
使用宣言を行ったプロセスpと、ファイルfの使用宣言
を既に行っているプロセスp’とが、同じグループに属
すか否かを判別する。そして、CPU40は、プロセス
pとプロセスp’が異なるグループに所属する場合、す
なわちグループ番号gとグループ番号g’とが等しくな
いときは、上記ステップS101でプロセスpのファイ
ルfに対する使用宣言を拒否するメッセージをプロセス
pに返答し、処理を終了する。
【0052】一方、CPU40は、プロセスpとプロセ
スp’が同じグループに属す場合、すなわちグループ番
号gとグループ番号g’とが等しいときには、ステップ
S96へ進む。
【0053】CPU40は、ステップS96で、ファイ
ル使用宣言管理テーブル22の全ての行を検索したか否
かを判別し、まだ全ての行を検索していなければ、ステ
ップS97へ進んで、ファイル使用宣言管理テーブル2
2の未検索行を検索し、ステップS92に戻り、上述し
たステップS92〜S96の処理を、上記ステップS9
6でファイル使用宣言管理テーブル22の全ての行を検
索したと判別するまで繰り返す。
【0054】そして、CPU40は、上記ステップS9
6でファイル使用宣言管理テーブル22の検索が全て完
了していると判別すれば、ステップS98へ進む。ステ
ップS98で、CPU40は、ファイル使用宣言管理テ
ーブル22に未使用行が有るか否かを、プロセス番号が
“0”となっている行を検索することによって行う。
【0055】そして、ステップS99で、CPU40
は、上記検索結果に基づきファイル使用宣言管理テーブ
ル22に未使用行があるか否かの判別を行い、未使用行
が有れば、ステップS100へ進むが、ファイル使用宣
言管理テーブル22に未使用行が無ければ、ステップS
102に進み、プロセスpに対してエラーステイタス
(エラーメッセージ)を返答するエラー処理を行って処
理を終了する。
【0056】一方、CPU40は、ステップS100に
進むと、上記ステップS98で見つけた未使用行に、
「ファイルfの使用宣言」を行ったプロセスpのプロセ
ス番号pと、ファイルfのファイル番号fを登録し、処
理を終了する。
【0057】このように、あるプロセスがあるファイル
に対する「ファイルの使用宣言」を行った場合、その宣
言が許可されるのは以下の2通りのみである。すなわ
ち、上記あるファイルが、現在他のいかなるプロセスに
よっても使用されていないとき、または、上記あるファ
イルに対する「ファイルの使用宣言」を行ったプロセス
と、そのファイルに対し、既に使用宣言を行っていたプ
ロセスが、共に同一グループに属すときのいずれかであ
る。そして、その他の場合は、「ファイルの使用宣言」
が拒絶され、所望するファイルに対するアクセスは拒否
される。
【0058】あるプロセスによる「ファイルの使用宣
言」が許可されると、そのプロセスはその使用宣言の対
象となったファイルに格納されているデータに対する所
定の処理を行う。そして、そのプロセスは、そのファイ
ルに対する所定のデータ処理を終了すると、そのファイ
ルを他のプロセスも使用できるようにするために、その
ファイルのファイル番号を指定して、「ファイルの使用
終了宣言」を行う。
【0059】図8は、あるプロセスにより「ファイルの
使用終了宣言」が宣言された場合のCPU40の動作を
説明するフローチャートである。この場合、CPU40
は、まず、ステップS111で、ファイル使用宣言管理
テーブル22から、「ファイルの使用終了宣言」を行っ
たプロセスのプロセス番号が登録されている行(該当
行)を検索する。そして、CPU40は、次のステップ
S112で、この該当行の検索結果を判別し、該当行が
有ればステップS113へ進み、その該当行のプロセス
番号を“0”に書き換えて、上記プロセスによる上記フ
ァイルに対する上記「ファイルの使用宣言」の情報をフ
ァイル使用宣言管理テーブル22から削除し、「ファイ
ルの使用終了宣言」の処理を終了する。
【0060】一方、CPU40は、上記ステップS11
2で、該当行が無いと判別すると、ステップS114
で、上記プロセスに対してエラーステイタス(エラーメ
ッセージ)を出力するエラー処理を行って処理を終了す
る。
【0061】このように、あるプロセスが「ファイルの
使用終了宣言」を行うと、ファイル使用宣言管理テーブ
ル22から、そのプロセスが宣言したあるファイルに対
する「ファイルの使用宣言」に関する情報が削除され
る。また、このことにより、上記該当行は未使用行とな
る。
【0062】上述のようにして「ファイルの使用宣言終
了」を行った後、プロセスは終了する。このCPU40
が行うプロセスの終了処理を、図9に示すフローチャー
トを参照して説明する。
【0063】この場合、まずCPU40は、ステップS
121でファイル使用宣言管理テーブル22の全行を検
索して、終了するプロセスのプロセス番号“p”が登録
されている行が、ファイル使用宣言管理テーブル22に
残っているか否かを調べ、そのような行が有れば、その
行のプロセス番号を、“p”から“0”に書き換える。
この処理は、「ファイルの使用終了宣言」を宣言せずに
終了したプロセスに対処する処理である。このことによ
り、終了した全てのプロセスについてのの「ファイル使
用宣言」に関する情報はファイル使用宣言管理テーブル
22から削除される。
【0064】したがって、図13に示したように、「フ
ァイルの使用終了宣言」を宣言せずにプロセスが終了し
てしまった場合でも、そのプロセスによるあるファイル
に対する「ファイルの使用宣言」の情報は、ファイル使
用宣言管理テーブル22から削除される。
【0065】続いて、CPU40は、ステップS122
で、プロセス管理テーブル21の全行を検索し、プロセ
ス番号が“p”となっているプロセス番号を“0”に書
き換え、そのプロセスの登録情報を、プロセス管理テー
ブル21から削除する。
【0066】以上のようにして、終了した(消滅した)
プロセスに関する情報が、プロセス管理テーブル21及
びファイル使用宣言管理テーブル22から削除され、あ
るプロセスの終了処理が終了する。
【0067】次に、上述したCPU40のOS機能を用
いて、複数のプロセスにより、あるファイルに対して1
まとまりのデータ処理を行う場合の方法を、図10に示
す。同図において、プロセスA1,プロセスA2,プロ
セスA3は、その順序でファイルBに対して1まとまり
のデータ処理を行うプロセスであり、プロセス生成後、
「プロセスのグループ所属宣言」により同一グループ
(グループgA とする)に属す旨を宣言する。
【0068】また、プロセスCも、ファイルBに対して
所定のデータ処理を行うプロセスであるが、プロセスA
1,プロセスA2,プロセスA3とは異なるグループに
属し(あるいは、いかなるグループにも属していない)
ている。このプロセスCは、ファイルBに対してデータ
の書き換え等の処理を行うので、プロセスA1,プロセ
スA2,プロセスA3が、ファイルBに対して1まとま
りのデータ処理を行っている最中に、プロセスCがその
データ処理を中断させてファイルBに対しデータ処理を
行うと、その1まとまりのデータ処理が正常に行われな
くなる場合がある。
【0069】また、プロセスDは、プロセスA1,プロ
セスA2,及びプロセスA3と同じグループgA に属
し、プロセスA1,プロセスA2,プロセスA3よりも
優先順位が低いプロセスである。従って、プロセスD
は、プロセスA1,プロセスA2,またはプロセスA3
が実行中のときは、ウェイト状態となる。したがって、
プロセスA1,プロセスA2,及びプロセスA3は、フ
ァイルBに対するデータ処理をプロセスDよりも優先的
に行う。
【0070】尚、これらのプロセスA1,A2,A3,
C,Dは、図1に示す共通の親プロセスから生成され
る。図10において、最初、「ファイルBの使用宣言」
を行っているプロセスは無く、ファイルBは未使用状態
にあるものとする。
【0071】プロセスA1,プロセスA2,及びプロセ
スA3により、ファイルBに対する1まとまりのデータ
処理を行う場合、まず、親プロセスは、プロセスDを生
成する。プロセスDは、生成されると、直ちにグループ
A に所属する旨の「グループ所属宣言」を行い、続い
て、「ファイルBの使用宣言」を行う。
【0072】これらの宣言により、CPU40により、
プロセス管理テーブル21の未使用行に、プロセスDの
プロセス番号pD と、プロセスDが属すグループ番号g
A が登録され、ファイル使用宣言管理テーブル22の未
使用行には、プロセスDのプロセス番号pD と、ファイ
ルBのファイル番号fB が登録される。
【0073】続いて、親プロセスは、プロセスA1を生
成し、プロセスA1は、生成後、直ちに「グループgA
の所属宣言」を行った後、「ファイルBの使用宣言」を
行う。このとき、ファイルBは、上述したように、既に
プロセスDにより使用宣言されているが、プロセスA1
はプロセスDと同じグループgA に属す旨の情報が、プ
ロセス管理テーブル21に登録されているので、CPU
40はこの使用宣言を許可する。また、プロセスA1は
プロセスDよりも優先順位が高いので、CPU40は、
プロセスDをウェイト状態にして、プロセスA1を実行
する。このことにより、ファイルBの使用権がプロセス
DからプロセスA1に移り、プロセスA1は、ファイル
Bに対する所定のデータ処理を連続して行う。そして、
プロセスA1は、このデータ処理が終了すると、「ファ
イルBの使用終了宣言」を行った後に終了する。このこ
とにより、ファイルBの使用権が、再びプロセスDに戻
る。
【0074】プロセスA1が終了すると、親プロセス
は、直ちにプロセスA2を生成し、生成されたプロセス
A2は、直ちに「グループgA の所属宣言」を行った
後、「ファイルBの使用宣言」を行う。
【0075】CPU40は、上述したプロセスA1と同
様な理由により、プロセスA2の「ファイルBの使用宣
言」を許可する。そして、CPU40は、プロセスDを
再びウェイト状態にして、プロセスA2を実行する。
【0076】このことにより、ファイルBの使用権がプ
ロセスDからプロセスA2に移り、プロセスA2は所定
のデータ処理を連続して行う。ここで、このプロセスA
2がファイルBのデータ処理を行っている際中に、プロ
セスA1がファイルBのデータ処理を行っている際中
に、親プロセスにより生成されたプロセスCが「ファイ
ルBの使用宣言」を行うと、CPU40は、プロセス管
理テーブル21を参照してプロセスCはプロセスA2と
同じグループに属さないと判断し、プロセスCの「ファ
イルBの使用宣言」を拒否する。従って、プロセスA2
によるファイルBのデータ処理は継続され、プロセスA
2はそのデータ処理を終了すると、「ファイルBの使用
終了宣言」を行い終了する。このことにより、ファイル
Bの使用権は、再びプロセスDに戻る。
【0077】続いて、親プロセスは、プロセスA3の生
成を行うが、プロセスA2からプロセスA3に切り換わ
る間に、プロセスCが「ファイルBの使用宣言」を行う
と、CPU40は、この宣言も拒否する。すなわち、こ
の場合には、グループgA に属するプロセスDがファイ
ルBの使用権を獲得しており、CPU40はプロセス管
理テーブル21を参照してこの情報を知り、グループg
A に属さないプロセスCの「ファイルBの使用宣言」を
拒否する。
【0078】上記プロセスCによる「ファイルBの使用
宣言」が拒否された後、親プロセスはプロセスA3を生
成する。プロセスA3は,生成後、直ちに「グループg
A の所属宣言」と「ファイルBの使用宣言」を行う。こ
の場合、プロセスA3のグループ番号はプロセスDのグ
ループ番号と同じなので、CPU40は、プロセスA3
によるこの「ファイルBの使用宣言」を許可し、プロセ
スDをウェイト状態にしてプロセスA3を実行する。こ
のことにより、プロセスA3は、ファイルBに対して所
定のデータ処理を行い、このデータ処理の終了後、「フ
ァイルの使用終了宣言」を行って終了する。
【0079】以上のようにして、3個のプロセスA1,
A2,A3によるファイルBに対する1まとまりのデー
タ処理が行われる。このように、プロセスA1,プロセ
スA2,プロセスA3によるファイルBに対する1まと
まりのデータ処理中に、他のグループに属するプロセス
Cが、いかなるタイミングで「ファイルBの使用宣言」
を行っても、ファイルBの使用権はグループgA 内に留
まり、プロセスCによる「ファイルBの使用宣言」は拒
否される。したがって、プロセスA1,プロセスA2、
及びプロセスA3は、ファイルBに対する1まとまりの
データ処理を正常に行うことができる。
【0080】プロセスA3が終了すると、続いてプロセ
スDが「ファイルBの使用終了宣言」を行い終了する。
このことにより、グループgA に属する全てのプロセス
のファイルBの使用権が消滅し、ファイルBは他のプロ
セスにより使用可能となる。
【0081】そして、この後、プロセスCが再び「ファ
イルBの使用宣言」を行うと、この使用宣言はCPU4
0により許可され、プロセスCはファイルBに対して所
定のデータ処理を行う。
【0082】以上のようにして、同一グループgA に属
するプロセスA1,A2,A3より優先順位の低いプロ
セスDを、上記ファイルBに対する1まとまりのデータ
処理が行われる前に生成し、その1まとまりのデータ処
理が終了するまで存在させておくことにより、プロセス
A1,プロセスA2,及びプロセスA3が、それら各プ
ロセスの切り換わり時に、他グループのプロセスにより
ファイルBの使用権を奪われることなく、ファイルBに
対する1まとまりのデータ処理を正しく行うことができ
る。
【0083】
【発明の効果】この発明によれば、複数のプロセスがグ
ループを形成できるようにし、ファイル使用の排他制御
を上記グループ単位で行えるようにしたので、複数のプ
ロセスによるあるファイルに対する連続する1まとまり
のデータ処理を、常に正しく行うことができ、ファイル
使用の排他制御を有効的に行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施例である情報処理装置の要部の
構成を説明する図である。
【図2】プロセス管理テーブルを示す図である。
【図3】ファイル使用宣言管理テーブルを示す図であ
る。
【図4】「プロセス生成」時のCPUの処理を説明する
フローチャートである。
【図5】「プロセスのグループ所属宣言」時のCPUの
処理を説明するフローチャートである。
【図6】「ファイルの使用宣言」時のCPUの処理を説
明するフローチャート(その1)である。
【図7】「ファイルの使用宣言」時のCPUの処理を説
明するフローチャート(その2)である。
【図8】「ファイルの使用終了宣言」時のCPUの処理
を説明するフローチャートである。
【図9】「プロセスの終了」時のCPUの処理を説明す
るフローチャートである。
【図10】プロセスグループを形成し、そのプロセスグ
ループ単位でのファイル使用の排他制御を行う方法を説
明する図である。
【図11】あるプロセスがあるファイルを使用するとき
の一般的な動作を説明する図である。
【図12】一般的な、ファイル使用の排他制御を説明す
る図である。
【図13】図11のアクセスにおいて、ファイル使用終
了宣言を行わずにプロセスが終了したときの動作を説明
する図である。
【図14】プロセス単位でファイル使用の排他制御を行
ったときの問題点を説明する図である。
【符号の説明】
10 入力部 20 主記憶メモリ 21 プロセス管理テーブル 22 ファイル使用宣言管理テーブル 23 プロセス格納領域 30 補助記憶装置 40 CPU 50 表示部 60 バス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセスが並列動作可能な情報処
    理装置のファイル処理制御システムにおいて、 各プロセスに対してグループ種別を割り当てるプロセス
    グループ形成手段と、 前記プロセスグループ形成手段により割り当てられた前
    記各プロセスのグループ種別を管理するプロセス管理手
    段と、 各ファイルが現在どのプロセスに使用されているかを管
    理するファイル管理手段と、 あるプロセスがあるファイルに対する使用権を要求した
    とき、前記プロセス管理手段の管理情報と前記ファイル
    管理手段の管理情報とを参照し、上記使用権が要求され
    たファイルが既に他のグループのプロセスにより使用中
    である場合、上記あるプロセスによる上記あるファイル
    に対するアクセスを禁止する排他制御手段と、 を有することを特徴とするファイル処理システム。
JP4308952A 1992-11-18 1992-11-18 ファイル処理制御システム Pending JPH06161861A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4308952A JPH06161861A (ja) 1992-11-18 1992-11-18 ファイル処理制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4308952A JPH06161861A (ja) 1992-11-18 1992-11-18 ファイル処理制御システム

Publications (1)

Publication Number Publication Date
JPH06161861A true JPH06161861A (ja) 1994-06-10

Family

ID=17987228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4308952A Pending JPH06161861A (ja) 1992-11-18 1992-11-18 ファイル処理制御システム

Country Status (1)

Country Link
JP (1) JPH06161861A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305589A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 画像処理装置
JP2006155225A (ja) * 2004-11-29 2006-06-15 Kyocera Corp 携帯電話端末及びタスク管理方法並びにそのコンピュータプログラム
JP2012512450A (ja) * 2008-12-15 2012-05-31 インターナショナル・ビジネス・マシーンズ・コーポレーション あるユーザに成り代わるための方法およびシステム
WO2013157084A1 (ja) * 2012-04-17 2013-10-24 株式会社日立製作所 トレース情報取得装置および方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305589A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 画像処理装置
JP2006155225A (ja) * 2004-11-29 2006-06-15 Kyocera Corp 携帯電話端末及びタスク管理方法並びにそのコンピュータプログラム
JP4606857B2 (ja) * 2004-11-29 2011-01-05 京セラ株式会社 携帯電話端末及びタスク管理方法並びにそのコンピュータプログラム
JP2012512450A (ja) * 2008-12-15 2012-05-31 インターナショナル・ビジネス・マシーンズ・コーポレーション あるユーザに成り代わるための方法およびシステム
US8756704B2 (en) 2008-12-15 2014-06-17 International Business Machines Corporation User impersonation and authentication
WO2013157084A1 (ja) * 2012-04-17 2013-10-24 株式会社日立製作所 トレース情報取得装置および方法

Similar Documents

Publication Publication Date Title
JP2557189B2 (ja) デバイス操作方法
US5748959A (en) Method of conducting asynchronous distributed collective operations
US4791554A (en) Method and apparatus for preventing deadlock in a data base management system
JP2561696B2 (ja) ネットワークシステムにおける共用領域管理方法
JP2574991B2 (ja) コンピュータ・システムにおける共用資源のプロセス内ロッキング方法及びコンピュータ・システム
US8560524B2 (en) Allocating priorities to prevent deadlocks in a storage system
JP2566717B2 (ja) 条件付きオペレーション提供装置及び方法
JPH04308961A (ja) 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
KR20060009828A (ko) 로크 및 트랜잭션 관리 방법 및 시스템
JPH07295841A (ja) 動的に資源を再構成するための方法及びシステム
EP0996903A1 (en) Arbitrating concurrent access to file system objects
King et al. Database sharing: an efficient mechanism for supporting concurrent processes
JP4407956B2 (ja) 情報処理方法および情報処理装置
JPH1115793A (ja) 資源の保全性を保護する方法
JPH04232540A (ja) データ処理方法及びシステム
US5862340A (en) Method operating in each node of a computer system providing and utilizing special records for collective communication commands to increase work efficiency at each node
WO1994014114A1 (en) Interception system and method including user interface
JPH06161861A (ja) ファイル処理制御システム
JP2000215182A (ja) クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法
US20020116506A1 (en) Cross-MVS system serialized device control
JPH05250188A (ja) プロセスのプライオリティ制御方式
EP3627359A1 (en) Transaction processing method, device and equipment
JP3342597B2 (ja) ディスクサブシステムおよび共有資源の排他制御方法
JP3390317B2 (ja) ファイル排他制御装置
JPH08314792A (ja) コンピュータ・システムにおける入出力システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040406