|
ファイルロックとは、コンピュータのファイルへのアクセスを一時的に1人のユーザーや1つのプロセスに制限する機構。このロックの目的はいわゆる 「仲裁更新 ''interceding update''」のシナリオを防ぐことである。 == 概要 == 仲裁更新問題とは次のような例で表される。プロセスAおよびプロセスBがある顧客の口座残高を含むレコードをファイルから読み込み、各プロセスがその値を別々のメモリに保持している状況下で、次の事象が順番に発生した場合を考える。 #プロセスAは自分が読み込んだレコードの口座残高欄を変更し、ファイルにそのレコード全体を書き戻す。 #プロセスBも同様に自分が保持するレコード内の情報を変更し、ファイルにレコード全体を書き戻す。 プロセスBが書き戻したレコードには、プロセスAが加えた変更が一切反映されていないため、口座残高はBによって上書きされ、内容が失われてしまう。 ファイルロックは指定されたファイルについてプロセスによる更新をシリアライズ(逐次化)することでこの問題を防ぐ。多くのオペレーティングシステムはレコードロックの概念をサポートしている。これはファイル内のレコード単位にロックする機構であり、同時に更新に関わることができるプロセス数を増加させる効果がある。 他のロックと同様、ファイルロックの使用法を間違うと性能低下やデッドロックを招く。ロックをかける時間は、可能な限り最小にすることが推奨される。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ファイルロック」の詳細全文を読む スポンサード リンク
|