| File locking is a mechanism that enforces access to a computer
file by only one user at any specific time. The purpose of locking is to prevent the
classic "interceding
update" scenario.
The interceding update problem may be illustrated as in the following example: Process 'A' reads a customer record from a
file containing account information, including the customer's account balance. Process 'B' now reads the same record from the same file. Process 'A' changes
the account balance and writes the new value back to the file. However, process 'B' - which still has the original values of that
customer record, makes a different change to its copy of the data (for example, changes the customer's phone number) and
re-writes this data to the file. Process B's copy of the data, still containing the original account balance, overwrites the changes made by process A,
reverting the
account balance to its previous value and causing the update of the customer balance by process 'A' to be lost.
File locking prevents this problem by enforcing the serialization of
update processes to any given file. Most operating systems
support the concept of record locking which means that individual records within any given file may be locked, so increasing the
number of concurrent update processes.
|