Какова роль блокировки файлов в системе?

Я вижу, что в моей системе есть много файлов lock. Какова точная роль и назначение этих lock файлов?

В моей системе я получил этот список,

/run/lock/whoopsie/lock
/proc/sys/dev/cdrom/lock
/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
2
задан 06.05.2020, 13:39

2 ответа

Все они - файлы блокировки. Ссылка для получения дополнительной информации .

Различные приложения и демоны создают свои файлы блокировки, если им необходимо защитить себя от сбоев или повреждения информации.

Например:

/run/lock/whoopsie/lock

блокировка для whoopsie, это демон отчетов об ошибках Ubuntu. Он собирает информацию о сбоях, поэтому ему необходимо защищать некоторую информацию от изменений, пока он не соберет все.

/proc/sys/dev/cdrom/lock

Блокировка файла для вашего устройства cdrom. Только одно приложение одновременно может управлять устройством cdrom, поэтому оно и есть. То же самое для каждого устройства.

/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock

Файл блокировки для менеджеров пакетов. Они обычно блокируют свою базу данных источников

Также небольшая цитата из wikipedia:

Следующий пример иллюстрирует промежуточную проблему обновления:

  1. Процесс A считывает запись клиента из файла, содержащего информацию об учетной записи, включая остаток на счете клиента и номер телефона.

  2. Процесс B теперь читает ту же запись из того же файла, поэтому у него есть собственная копия.

  3. Процесс А изменяет баланс счета в своей копии записи клиента и записывает запись обратно в файл.

  4. Процесс B, который все еще имеет исходное устаревшее значение для баланса счета в своей копии записи клиента, обновляет баланс счета и записывает запись клиента обратно в файл.

  5. Процесс B теперь записал свое устаревшее значение баланса счета в файл, что привело к потере изменений, внесенных процессом A.

Это один из примеров. Есть много других ситуаций, которые могут привести к проблеме. Вот почему ОС нужна блокировка файлов

2
ответ дан 06.05.2020, 13:40

Они обычно используются для обеспечения одновременной работы только одного экземпляра приложения.

Это особенно важно в таких программах, как apt-get, которые могут сломаться, если одновременно выполняется более одного экземпляра.

1
ответ дан 06.05.2020, 13:41

Теги

Похожие вопросы