<<
>>

Блокировка файлов

Специальная таблица нужна для реализации еще одного аспекта управления файловой системой — блокировки файлов. В MINIX 3 поддерживается описываемый POSIX механизм добровольной блокировки файлов (advisory file locking).
Данный механизм позволяет отметить весь файл, его часть или несколько его частей как заблокированные. Операционная система не мешает получать доступ к заблокированным данным, но ожидается, что процессы будут вести себя прилежно и проверять наличие блокировки, прежде чем делать что-либо, что может привести к конфликту с другим процессом.

Причина, по которой для этого выделена отдельная таблица, аналогична доводам, приведенным в предыдущем разделе для таблицы f ilp. Один процесс может одновременно блокировать несколько файлов, и в то же время несколько частей одного файла может быть заблокировано разными процессами (хотя заблокированные области, конечно же, не перекрываются). Поэтому ни таблица процессов, ни таблица f ilp не подходят для хранения этих данных. Так как на одном файле может быть установлено несколько блокировок, индексный узел тоже не годится.

В MINIX 3 для хранения сведений обо всех блокировках вводится таблица f ile_lock. В каждой ячейке этой таблицы есть поля, указывающие тип блокировки (на чтение или на запись), идентификатор процесса-владельца, указатель на индексный узел блокированного файла, а также смещения первого и последнего байтов заблокированной области.

5.6.9.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Блокировка файлов:

  1. ТУННЕЛЬ ЗАПЯСТНЫЙ (БЛОКИРОВКА) См. статью ЗАПЯСТЬЕ.
  2. Физическая блокировка
  3. Эмоциональная блокировка
  4. Духовная блокировка
  5. Ментальная блокировка
  6. Блокировка привязанности и интимности
  7. ПЕРФОРАЦИЯ
  8. РЕГУРГИТАЦИЯ
  9. ДАЛЬНОЗОРКОСТЬ
  10. АСФИКСИЯ
  11. ТРЕЩИНА
  12. ОЗНОБ
  13. ОЖОГ