JPH0367342A - オペレーテイングシステムのフアイルアクセス管理方式 - Google Patents

オペレーテイングシステムのフアイルアクセス管理方式

Info

Publication number
JPH0367342A
JPH0367342A JP1203042A JP20304289A JPH0367342A JP H0367342 A JPH0367342 A JP H0367342A JP 1203042 A JP1203042 A JP 1203042A JP 20304289 A JP20304289 A JP 20304289A JP H0367342 A JPH0367342 A JP H0367342A
Authority
JP
Japan
Prior art keywords
area
file
lock
locked
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
JP1203042A
Other languages
English (en)
Inventor
Soichiro Miyano
宮野 壯一郎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP1203042A priority Critical patent/JPH0367342A/ja
Publication of JPH0367342A publication Critical patent/JPH0367342A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のアプリケーションプログラムが共通の
ファイルを使用して処理を行なう場合、ファイルアクセ
スの競合を回避するための管理を行なう、オペレーティ
ングシステムのファイルアクセス排他制御方式、さらに
詳しく云えば、ファイル先頭からロックしようとする領
域先頭までのオフセットと、ロックしようとする領域の
長さによりロックしようとする領域の指定上行ない、フ
ァイルアクセスの競合を排除するようにしたオペレーテ
ィングシステムのファイルアクセス排他制御方式に関す
る。
(従来の技術) 従来この種のファイルアクセス排他制御方式に釦いては
、オーブンされているファイル毎に。
ロックされている領域と、その領域をロックしているア
プリケーションプログラムの識別IDの一覧ヲテーブル
に持ってか9.ファイルアクセス要求、またはロック要
求に対し、前記テーブルに格納されているロック情報の
全エントリを参照することによりファイルアクセス要求
あるいはロック要求される領域が既に他のアプリケーシ
ョンプログラムによりロックされていないかをチエツク
していた。
(発明が解決しようとする課題) 上述した従来のファイルアクセス排他制御方式にかいて
は、要求のある毎に、前記ロック領域管理テーブルの全
エントリを参照するので。
処理内容そのものは簡便であるがロックされている領域
の数が増加すると、処理速度が急激に低下するという欠
点があった。
本発明の目的は上記欠点を解決するもので。
ロック領域管理テーブルのロック情報のエントリをすべ
て調べることなくロック競合のないことt−判定できる
オペレーティングシステムのファイルアクセス管理方式
全提供することにある。
(課題を解決するための手段) 前記目的を達成するために本発明によるオペレーティン
グシステムのファイルアクセス管理方式は、ファイル先
頭からのオフセットと領域の長さによジ、アプリケーシ
ョンプログラムが更新しようとするファイルの一部領域
を指定して前記ファイルの一部領域の排他的使用をオペ
レーティングシステムに要求可能なオペレーティングシ
ステムのファイルアクセスの排他制御方式において、オ
ーブン中のファイル毎に、−定長のブロックで分割し、
ブロック毎にロック領域を設定可能にし、前記ブロック
単位でロックされた領域の数を格納するロック状態管理
テーブルと、ロックされた領域のファイル先頭からのオ
フセット、領域の長さおよびロックしたアプリケーショ
ンプログラムの識別IDとを格納するロック領域管理テ
ーブルをメモリ部に記憶し、アプリケーションプログラ
ムからアクセス要求を受けた場合、要求されたファイル
のアクセスされる領域のブロック番号に対応する前記ロ
ック状態管理テーブルを参照し、アクセスされる領域の
含まれるブロック内のロックサした領域の有無を調べ、
その結果、ロックされた領域が存在するとき、前記ロッ
ク領域管理テーブルを参照し、その結果、cxソックれ
た領域と要求を受けた領域が重なってかり、前記領域上
ロック中のアプリクージョンプログラムの前記識別ID
が要求元のアプリクージョンプログラム OIHtl 
I Dと異なっているときは、要求元アプリケーション
プログラムに排他制御エラを通知する制御手段とから構
成されている。
(実施例) 以下1図面を参照して本発明金さらに詳しく説明する。
1!1図は本発明によるオペレーティングシステムのフ
ァイルアクセス管理方式に用いられる。
ロック状態管理テーブルおよびロック領域管理テーブル
の構成を示す図である。lはオーブン中のファイル名の
一覧を格納するファイル管理テーブル、2は各ファイル
について各ブロック内のロック領域数を格納するロック
状態管理テーブル% 3は各ファイルについてロックさ
れた領域の一覧を格納するロック領域管理テーブルであ
る。これらファイル管理テーブルl、oツク状態管理テ
ーブル2シよびロック領域管理テーブル3は図示しない
メモリに記憶されている。
ロック状態管理テーブル2およびロック領域管環テーブ
ル3は、オープン可能なファイル数だけ存在し、ファイ
ル管理テーブルlのエントリ番号がロック状態管理テー
ブル2.ロック領域管理テーブル3の番号に対応する。
ファイル管理テーブル1は、オープンされているファイ
ル名とそのファイルをオープンしているアプリケーショ
ンプログラムの数として。
1つのエントリが構成されている。
この対を格納可能々エントリが同時にオープン可能なフ
ァイル数分存在する。使用されていないエントリはファ
イル名がNULLとなっている。ロック状態管理テーブ
ル2は各ファイルを一定の長さのブロックに分割した各
ブロック内に存在するロックされた領域の数を配列して
構成されている。すなわちファイル内のある部分が含ま
れるブロック内に存在するロックされた領域の数はロッ
ク状態管理テーブルの 指定される部分のファイル先頭からのオフセットブロッ
ク長 番目のエントリを参照することにより得られる。
ただし、上記除算は整数除算であp、以降の説明中に現
れる除算も整数除算である。次にロック領域管理テーブ
ル3は、各ファイルについてロックされた領域の数と、
ロック領域情報の配列とから構成され、ロック領域情報
は、ロックされた領域のファイル先頭からのオフセット
ロックされた領域長およびロックしているアプリケーシ
ョンプログラムの識別IDにより1エントリが構成され
、未使用エントリは識別IDが0である。
第2図は本発明方式にかけるロック処理全説明するため
のフローチャート、、第3図は、同じくアンロック処理
を説明するためのフローチャート、第4図は同じくファ
イル書き込み処理を説明するためのフローチャート、第
5図は第2゜3図のフローチャート中で呼び出し使用さ
れるロック領域管理テーブルサーチサブルーチンを説明
するためのフローチャート、第6図はアプリケーション
プログラムでファイル更新を行なう場合の一般的フロー
チャート、第7図は第6図の70−チャートにpける競
合判定条件を説明するための図である。
次に、本発明の実施例を上記各図を用いて説明する。
甘ず第6図によると、ファイル更新を行なう場合の一般
的な処理手順としては、更新しようとするファイルをオ
ープンしくステップ61)、更新しようとする領域をロ
ックしくステップ62)、更新しようとする部分を読み
出しくステップ64)、変更後、ファイルに書き戻しく
ステップ66)、更新した領域ロックを解除(アンロッ
ク)L(ステップ67)、7アイルtククーズして(ス
テップ68)終了となる。モジ。
更新しようとする領域のロックでエラーが発生した場合
は、他のアプリケーションプログラムが同一領域をロッ
ク中であると44J断し、ロックが解除されるのを待つ
ことになる。
次に第2図によりロック処理について説明す先頭ブロッ
ク番号を。
によりロック領域最終ブロック番号を求める(ステップ
4.5)。
ロックしようとする領域が含曾れるブロック中のロック
された領域の数を1ロ5ツタ状態管理テーブル2によ5
)@次調べ(ステップ6)、ロックされた領域がある場
合はロック状態管理テーブル探索サブルーチンを呼び出
し、erソック態管理テーブル2を探索しくステップ7
)、ロックしようとする領域が既にロックされているか
を調べることになる(ステップ8)。ロック状態管理テ
ーブル2で該当するブロックにロックされた領域が存在
しないことが判明すればロック領域管理テーブル3の探
索を行なう必要はない。ロックしようとする領域がまだ
ロックされていなければ、ロック領域管理テーブル3に
ロック領域情報をセットしくステップ11)、ロック領
域数i+l I、、(ステップ11)、ロックブロック
艮 状態管理テーブル2のロックした領域に対応するブロッ
ク随の内容を+1した後(ステップ12)、ロック正常
終了を戻り値にセットしくステップ13)、終了となる
。もし、ロックしようとする領域の一部でも既に他のア
プリケーションプログラムによりロックされていれば、
ロック競合発生を戻り値にセットしくステップ9)終了
となる。
次に第3図によp、アンロック処理について説明する。
アンロック処理では、アンロックしようとする領域に一
致するロックされた領域があるか金。
ロック領域管理テーブル探索サブルーチンを呼び出し調
べる(ステップ14)。もし、そうした領域が存在しな
ければ(ステップ15)、アンロツクエラーヲ戻り値に
セットしくステップ+5−1)終了となる。アンロック
しようとする領域に一致するロックされた領域があれば
(ステップ15)、ロック領域管理テーブル2の該当す
るエントリの識別IDICQt−セットしくステップ1
6)。
ロック指定領域先頭ブロック番号を(ステップ17)。
ブロック長 によりアンロック指定領域最終ブロック番号を求め(ス
テップ18)、このようにして求めた先頭最終ブロック
番号間に対応するロック状態管理テーブル2の内容を順
次−1しくステップ19)%正常終了を戻り値にセット
しくステップ20)正常終了する。
次に第4図により、ファイル書き込み処理について説明
する。
壕ス、ロック領域管理テーブル探索サブルーチンを呼び
出し、書き込みを行なかうとする領域が他のアプリケー
ションプログラムによりロックされていないことを確認
しくステップ21)。
ロック競合がなげれば(ステップ22)、ファイル書き
込み処理を行ない(ステップ24)。
書き込み結果を戻p値にセットしくステップ25)終了
する。ロック競合がある場合は、ロック競合発生を戻り
値にセットしくステップ23)終了する。
次に第5図によりロック領域管理テーブル探索サブルー
チンの処理内容について説明する。
チエツクしようとする領域の先頭、最終オフセラ)t?
それぞれa、bとしくステップ26.27)、ロックさ
れた1つの領域の先頭、最終オフセットをそれぞれx、
yとすると領域a−bが領域x−yと競合する場合は1
条件1:xくaかつbay(ステップ28)、条件2:
aくx<y(ステップ29)1条件3:a<y(b(ス
テップ30)の3つのうちいずれかの条件が成立する。
このうち条件1はロックされた領域に指定された領域が
完全に含まれる場合であり、あるアプリケーションが自
らロックした領域に対し書き込み、読び出しを行なう場
合は条件1が成立し、かつロックしたアプリケーション
プログラムの識別IDが要求元アプリケーションプログ
ラムの識別IDと一致しなければならない(ステップ3
1)。また、アンロックする場合は条件lの特殊な場合
としてa””lxかつb−yが成立しくステップ32)
、かつ、ロックしたアプリケーションプログラムの識別
IDが要求元アプリケーションプログラムの識別よりと
一致しなければならない。すなわち第5図のロック領域
管理テーブルサブルーチンでは、ロック情報の配列をロ
ック領域数だけ順次調べ。
次の条件で戻り値をセットし呼び出し元に戻る。
(り  全てのロック情報エントリに対し、  a<X
からyくす、a(xくす、aくy(bの3条件が成立し
なければロック競合なしを戻り値にセットしくステップ
33)、終了する。
(21a=x、b=myかつロック情報の識別IDが要
求元アプリケーションプログラムの識別IDと一致する
二ン) IJが存在する場合、r:1ツク領域一致ヲ戻
p値にセットしくステップ34)、終了する。
(3) aくx 、bayかつロック情報の職別IDが
要求元アプリケーションプログラムの識別IDと一致す
るエントリが存在する場合、ロック競合なしを戻り値に
セットしくステップ35)終了する。
(4)  aくx、Y<;、bかつロック情報の識別I
Dが要求元アプリケーションプログラムの識別IDと一
致しないエントリが存在する。あるいはa<xくbが成
立するエントリが存在する。あるいはa <y (bが
成立するエントリが存在する場合、ロック競合あり”k
Rp値にセットして(ステップ36)、終了する。
第7図は以上、説明したチエツクする領域a −bとロ
ックされた領域x−yの関係と競合の有無を示しである
(発明の効果) 以上、説明したように、本発明によるファイルアクセス
排他制御方式は、ファイルt−1定長のブロックに分割
し、ブロック毎のロック領域数をロック状態管理テーブ
ルで管理しているので、ロック領域管理テーブルのロッ
クfi報のzントリを全て調べることなくロック競合の
無いことを判定できる。臀に1つのファイルの中に同時
に多数のロックされた領域が発生するような場合、ロッ
ク競合有無の判定処理を大幅に高速化できるという効果
がある。
【図面の簡単な説明】
第1図は本発明によるファイルアクセス管理方式の実施
例を説明するための管理テーブルを示す図、第2図はロ
ック処理を説明するためのフローチャート、第3図はア
ンロック処理を説明するためのフローチャート、第4図
はファイル書き込み処理を説明するためのフローチャー
ト、第5rIAはロック領域管理テーブルサーチサブル
ーチンを説明するためのフローチャート。 第6図はファイル更新の処理を説明するための7o−チ
ャート、第7図は競合判定条件を説明するための図であ
る。 1−・・ファイル管理テーブル 2・・・ロック状態管理テーブル 3・・・ロック領域管理テーブル 才1図

Claims (1)

    【特許請求の範囲】
  1. ファイル先頭からのオフセットと領域の長さにより、ア
    プリケーションプログラムが更新しようとするファイル
    の一部領域を指定して前記ファイルの一部領域の排他的
    使用をオペレーティングシステムに要求可能なオペレー
    ティングシステムのファイルアクセスの排他制御方式に
    おいて、オープン中のファイル毎に、一定長のブロック
    で分割し、ブロック毎にロック領域を設定可能にし、前
    記ブロック単位でロックされた領域の数を格納するロッ
    ク状態管理テーブルと、ロックされた領域のファイル先
    頭からのオフセット、領域の長さおよびロックしたアプ
    リケーシヨンプログラムの識別IDとを格納するロック
    領域管理テーブルをメモリ部に記憶し、アプリケーショ
    ンプログラムからアクセス要求を受けた場合、要求され
    たファイルのアクセスされる領域のブロック番号に対応
    する前記ロツク状態管理テーブルを参照し、アクセスさ
    れる領域の含まれるブロック内のロックされた領域の有
    無を調べ、その結果、ロックされた領域が存在するとき
    、前記ロック領域管理テーブルを参照し、その結果、ロ
    ックされた領域と要求を受けた領域が重なつており、前
    記領域をロック中のアプリケーションプログラムの前記
    識別IDが要求元のアプリケーションプログラムの識別
    IDと異なつているときは、要求元アプリケーシヨンプ
    ログラムに排他制御エラを通知する制御手段を有するこ
    とを特徴とするオペレーティングシステムのファイルア
    クセス排他制御管理方式。
JP1203042A 1989-08-04 1989-08-04 オペレーテイングシステムのフアイルアクセス管理方式 Pending JPH0367342A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1203042A JPH0367342A (ja) 1989-08-04 1989-08-04 オペレーテイングシステムのフアイルアクセス管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1203042A JPH0367342A (ja) 1989-08-04 1989-08-04 オペレーテイングシステムのフアイルアクセス管理方式

Publications (1)

Publication Number Publication Date
JPH0367342A true JPH0367342A (ja) 1991-03-22

Family

ID=16467384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1203042A Pending JPH0367342A (ja) 1989-08-04 1989-08-04 オペレーテイングシステムのフアイルアクセス管理方式

Country Status (1)

Country Link
JP (1) JPH0367342A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225538A (ja) * 1990-01-22 1991-10-04 Internatl Business Mach Corp <Ibm> アクセス制御方法および記憶手段管理方法
JPH07168745A (ja) * 1993-12-16 1995-07-04 Nec Corp ファイル並行処理装置
JP2014134896A (ja) * 2013-01-08 2014-07-24 Toshiba Corp データベース装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225538A (ja) * 1990-01-22 1991-10-04 Internatl Business Mach Corp <Ibm> アクセス制御方法および記憶手段管理方法
JPH07168745A (ja) * 1993-12-16 1995-07-04 Nec Corp ファイル並行処理装置
JP2014134896A (ja) * 2013-01-08 2014-07-24 Toshiba Corp データベース装置

Similar Documents

Publication Publication Date Title
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US5566319A (en) System and method for controlling access to data shared by a plurality of processors using lock files
US6681226B2 (en) Selective pessimistic locking for a concurrently updateable database
JPH04229355A (ja) データアクセス方法及びデータ処理システム
CN114282074B (zh) 数据库操作方法、装置、设备及存储介质
US7444349B1 (en) Control of concurrent access to a partitioned data file
JPH0367342A (ja) オペレーテイングシステムのフアイルアクセス管理方式
CN110909012B (zh) 数据库对象的封锁方法、装置、设备和存储介质
JP2924786B2 (ja) 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
JP3970524B2 (ja) 複数オペレーション間の排他制御方法
JPH0559463B2 (ja)
JPH04139545A (ja) データベース更新処理方式
JP3460265B2 (ja) 計算機間のデータ引き継ぎ方法
JPH01205351A (ja) ロック制御方式
JPS6394343A (ja) フアイル制御システム
JPH09185540A (ja) マルチプロセスシステム
JPS62226367A (ja) デイジタル計算機システム
JPH03164963A (ja) 情報処理装置における排他制御方式
JPS63124139A (ja) 共有資源排他制御方式
JPS61194548A (ja) フアイルアクセス排他制御方式
JPH0520269A (ja) 排他制御方式
CN116501812A (zh) Ddl语句执行方法及装置
JPS592159A (ja) デ−タ制御方式
JPH0431935A (ja) ファイル領域管理方式
JPH05216728A (ja) データベース管理システム