Почему файловые системы на базе inode НЕ нуждаются в перезагрузке после обновления версий библиотеки?

Я пытаюсь понять, что такое инод. Однако этот отрывок из Википедии меня озадачивает:

Установка новых библиотек проста с файловыми системами inode. Выполненный процесс может получить доступ к файлу библиотеки, в то время как другой процесс заменяет этот файл, создавая новый индексный дескриптор, и все новое сопоставление будет существовать для нового файла, чтобы последующие попытки получить доступ к библиотеке получили новую версию. Это средство устраняет необходимость перезагрузки для замены библиотек в настоящее время. По этой причине при обновлении программ лучше всего сначала удалить старый исполняемый файл и создать новый индексный дескриптор для обновленной версии, чтобы любые процессы, выполняющие старую версию, могли быть невозмутимыми.

One Solution collect form web for “Почему файловые системы на базе inode НЕ нуждаются в перезагрузке после обновления версий библиотеки?”

В файловых системах в стиле Unix все, что система знает о файле (кроме его имени), хранится либо в inode, либо в месте, указанном inode. Это включает его содержимое, права собственности, даты модификации и разрешения. Запись каталога Unix – это просто имя и указатель на индексный дескриптор и используется только тогда, когда процесс открывает файл. Когда файл открыт, запись в каталоге не имеет значения.

Это означает, что можно удалить файл, который в настоящее время открыт, не нарушая процессы, которые читают или записывают этот файл. Удаление файла просто удаляет запись в каталоге. Индекс остается до тех пор, пока все процессы не закрыли файл, после чего индекс и все другие данные файла будут удалены (или, по крайней мере, отмечены как более не используемые и доступные для рекультивации). Это обрабатывается полем, называемым «счетчиком ссылок», частью структуры индексного дескриптора.

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

  • ext4 или NTFS потеряли все файлы за последние 2 года. Как я могу их восстановить?
  • Удаляются ли ссылки между файлом inode и data файла при удалении файла?
  • Unreferenced inodes для экземпляра EC2 linux
  • Портативный способ поиска номера inode
  • Понимание прямых и косвенных блоков?
  • Почему я не вижу данные inode в hexdump или dd?
  • Что такое "Устройство: 802h / 2050d" означает inode?
  • bad inodes появляются после fsck () для гостей vps
  • Почему файлы иногда меняются, но не являются inode или наоборот?
  • Операция перемещения файла над SAMBA сохраняет номер inode?
  • Отвязывать файлы в / dev / shm, не освобождая память?
  • Linux и Unix - лучшая ОС в мире.