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

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

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

  • В настоящее время Tar читает файл 2GB, и я удалил его единственную ссылку. Как остановить его на вечность?
  • Могу ли я создать файл на ext4 с глубиной> 1 для тестирования?
  • Разрешающий бит 730 для каталога? что это значит?
  • Как изменить интервал обновления времени доступа к релятиму с 24 часов?
  • Почему я не могу сделать ls -a 1> & -?
  • Могут ли символические ссылки охватывать разные файловые системы в Unix или Linux?
  • Сохранение байтовых смещений в inode позволяет удобному доступу FIFO к данным канала и отличается от обычных файлов, где смещение поддерживается в таблице файлов.

  • Какова связь индексов, LBA, логических томов, блоков и секторов?
  • Ошибка файловой системы только для чтения при создании каталога?
  • Копирование глубоко вложенной структуры каталогов
  • В чем разница между датой изменения и датой модификации inode?
  • Почему файлы компакт-дисков не отображаются при монтировании в текущем каталоге?
  • Просмотр физического расположения файла / каталога на жестком диске
  • One Solution collect form web for “Байт Смещения для трубы / FIFO”

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

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

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

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