Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
複数のプロセスから、同時一つのファイルに対する構造の変更処理が行われないように、またファイル参照中にその構造が変更されてしまわないように、ファイルシステムはファイルの排他処理を行っている。各ファイルのメモリiノード中にロックフラグ(i_semメンバ)を用意し、下記の場合ファイルiノードのロック操作を行っている。
ファイル構造に依存しない処理ではiノードのロックを行っていない。例えば、ファイルのread処理ではiノードのロックを行わないので、ファイルへのwrite処理中でも、ファイルからのread処理が行えることを意味している。
補足説明
ディレクトリ操作では、二つのiノードを同時にロックする場合があるが、デッドロックを避けるため必ずメモリiノードが配置されているアドレス順でロックを行っている。
(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:46:48, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members