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

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

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

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

  • cygwin: ls -i сообщает неправильный номер inode для файлов в UNC-пути
  • Нечетные кавычки Inode / Ram происходят в CentOS
  • Что такое inode для сокета?
  • количество ссылок удаленных файлов
  • Недостатки растущего числа инодов в EXT4
  • Случайно удален / usr / local / bin / node
  • Как точно находятся файлы под капотом?
  • bad inodes появляются после fsck () для гостей vps
  • One Solution collect form web for “Байт Смещения для трубы / FIFO”

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

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

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

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