Intereting Posts
В чем разница между «bs», «count» и «seek» в команде dd? Поиск правильного dmp tmp на нескольких платформах Принудительно идентифицировать раздел с разделением GDM мигает, и я не могу войти Могу ли я обновить свои команды (например, awk, sed) до последней версии в Solaris? Может sudo для пользователя, но «запустить команду как» отказано? Что приводит к тому, что вывод xserver становится пустым при переключении на консоль tty? Ошибка ошибки команды воспроизведения Не удается смонтировать SD-карту. Неверная файловая система. Команда «ip addr» показывает «UP», даже нет адреса, связанного с этим интерфейсом awscli не может видеть переменные среды, но только из cron? Предоставление только выбранным пользователям доступа к данной папке почему этот простой скрипт sed не работал »nginx -V 2> & 1 | sed -r 's / – / \\ n / g' " команда expr, используемая для работы и остановки Chromium os не загружается

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

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

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

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