Байт Смещения для трубы / FIFO

Почему байтовые смещения для трубы / FIFO, хранящиеся в inode, а не в таблице файлов, например, для обычных файлов?

Я прочитал эту строку на странице 113 «Проекта операционной системы Unix» (1986) Мориса Баха.

Сохранение байтовых смещений в inode позволяет удобному доступу FIFO к данным канала и отличается от обычных файлов, где смещение поддерживается в таблице файлов.

One Solution collect form web for “Байт Смещения для трубы / FIFO”

Обратите внимание, что в этой книге описывается внутренняя система системы AT & T Unix, как и 30 лет назад. Вы не можете предположить, что в современных Unix и Unix-подобных системах все делается так же.

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

Для труб все дескрипторы файлов всех процессов, открытых в канале, имеют одинаковое смещение. Или, другими словами, смещение относится к трубе. Поэтому имеет смысл хранить его в inode, а не дублировать его во всех описаниях открытых файлов.

  • Exundelete не может восстановить файл
  • Файловая система: как найти блок файла, представленный inode?
  • Могу ли я исчерпывать дисковое пространство, создавая очень большое количество пустых файлов?
  • Определяет ли номер inode то, какие файлы были созданы раньше других?
  • Как найти поддержку больших файлов?
  • Linux: Как работает жесткая привязка к каталогу?
  • Как рассчитывается размер каталога?
  • Разница в пространстве, зарезервированная для inodes в разделах ext4 и XFS
  • Как вручную изменить индекс?
  • Понимание использования Inode NTFS-3g
  • При резервном копировании, когда будут иметь значение номера inode файловых систем?
  • Interesting Posts

    Как узнать, подключен ли сетевой интерфейс, туннель, мост или физический интерфейс?

    находить и удалять файлы старше конкретных дней и иметь определенную строку в именах файлов

    Монтирование SD-носителя в режиме чтения-записи не работает?

    Как постоянно менять цвет STDOUT и STDERR на серый?

    Добавление переменной в разные строки файла в bash

    Почему nm не отображает символы для /lib/i386-linux-gnu/libc.so.6?

    Почему GNU Screen не отображается для удаленного пользователя?

    Добавление ведущих символов перед строкой с использованием printf или echo

    AIX: как сделать дамп, который содержит информацию, связанную с приложением тоже?

    Редактирование значения дочернего элемента JSON с помощью jq

    Что означает прерывание процесса в обычном режиме?

    scp -3 больше не работает

    Как автоматически выполнить «netctl start tq84-wifi» при загрузке?

    Как проверить, какой пользователь установил пакет или программное обеспечение?

    Как установить Clonezilla для клонирования только раздела

    Linux и Unix - лучшая ОС в мире.