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

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

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

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

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

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

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

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

  • Поиск всех жестких ссылок файла без прохождения файловой системы
  • Как найти индекс inode любого каталога?
  • Нет свободного места на устройстве / Нет Inodes бесплатно ИЛИ используется / Двойной монтаж
  • Почему невозможно изменить счетчик inode файловой системы ext?
  • Где хранится информация о жестких / непрямых ссылках?
  • При добавлении содержимого в начале файла происходит обновление всех блоков данных?
  • Как установить Linode с определенным количеством inodes?
  • Исправить ошибку ввода / вывода в каталоге
  • Как хранятся большие каталоги (один индекс или много?)
  • Как найти количество файлов в файловой системе?
  • Как получилось, что inodes каталогов хранят имена файлов в файловой системе ext4?
  • Linux и Unix - лучшая ОС в мире.