Блокировка файла (англ. file locking) — механизм, который ограничивает доступ к файлу, давая доступ в данный момент только одному пользователю или процессу. Системы реализуют блокировку для предотвращения классического interceding update сценария (который является типичным примером состояния гонки) посредством принуждения к последовательным процессам обновления любого файла.
Следующий пример демонстрирует проблему interceding update:
Неправильное использование блокировки файла, как и любой блокировки, может привести к снижению производительности или взаимной блокировке.
Microsoft Windows использует три разных механизма для управления доступом к разделяемым файлам. Дополнительные механизмы блокировки применяются к сетевым файловым ресурсам (SMB)[1].
Unix-подобные системы (включая Linux и OS X) обычно автоматически не блокируют открытые файлы[2]. В них предусмотрен системный вызов flock, однако он никак не ограничивает доступ к файлам из других процессов и лишь служит способом синхронизации доступа к файлу между несколькими процессами.
Также существует метод «fcntl(F_SETLK)» и «fcntl(F_GETLK)», описанный в стандартах POSIX[3][4].
В ОС Amiga можно получить блокировку файла, вызвав функцию Lock
(в dos.library
).
![]() |
Это заготовка статьи о файловой системе. Вы можете помочь проекту, дополнив её. |
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .