Что такое консультативная блокировка файлов, которые обычно используют системы Unix?

Я читал, что система Unix обычно использует консультативную блокировку для IO файла с обязательной блокировкой, используемой ОС Microsoft. Если я правильно понял в обязательной блокировке, блокировка файла выполняется самой ОС. Но я не понимаю интуиции в отношении консультативной блокировки. Возьмем пример двух процессов, скажем «A» и «B», которые работают над файлом «foo». Давайте скажем, что «A» пишет «foo», а «B» читается с «foo». Каким образом консультационная блокировка работает в этом сценарии? Если ОС / файловая система не применяет блокировку для «foo», то как согласованность поддерживается для чтения и записи?

One Solution collect form web for “Что такое консультативная блокировка файлов, которые обычно используют системы Unix?”

Консультативная блокировка предназначена для процессов, которые «мирно» сотрудничают. Ядро отслеживает блокировки, но не применяет их к исполнению, а приложения должны подчиняться им. Таким образом, ядру не нужно иметь дело с ситуациями, такими как блокировки.

Обязательная блокировка была введена в System V Unix, но оказалось, что дизайн был не самым ярким. (То есть есть способы обойти это.) Если вам нужно что-то вроде обязательной блокировки в системах unixy, то следуйте шаблону проектирования клиент-сервер, где сервер является полномочным органом на общем ресурсе.

  • Проблема с размером файловой системы
  • Ограничение размера файла
  • Что касается идентичных копий файлов gedit
  • Является ли btrfs подходящей резервной файловой системой?
  • Типы разделов Linux
  • Почему сортировка файлов по времени доступа не работает?
  • Мониторинг файлов для предварительного взлома хакера
  • Можно ли предоставить кеширование предпочтений файловой системе?
  • Сколько бит - это флаги доступа к файлу?
  • Какое расширение используется для текстовых файлов? (Unix / Linux)
  • Сжатие файлов - как реализовать в Linux
  • Linux и Unix - лучшая ОС в мире.