Здравствуйте.
Подскажите, почему fifo лучше файла? То что работает быстрее понятно, но почему именно? Защищаем лабу и никак не можем найти ответ, который удовлетворит преподавателя.
Надеюсь, что вопрос задан корректно.
Заранее, спасибо.
Преимущества FIFO перед файлом?
Модератор: Модераторы разделов
-
- Сообщения: 953
- ОС: [K]Ubuntu, Debian
Re: Преимущества FIFO перед файлом?
Если речь о файле на жестком диске -- то, очевидно, потому, что не используется жесткий диск (один из самых медленных элементов компьютера).
Если файл в оперативной памяти -- намного медленнее не будет, но ньюансы так же есть.
Во-первых, двум программам может быть сложно работать с файлом одновременно, правильно "понимая" друг друга, а запуск программ последовательно -- тоже потеря времени.
Во-вторых, большой файл в памяти разместить трудно, а с fifo (я так понимаю, речь о pipe, в сленге: конвейер, command1 | command2) объём передаваемых данных ничем не ограничен, если обе программы работают одновременно, создавая и поглощая данные с одной скоростью.
Если файл в оперативной памяти -- намного медленнее не будет, но ньюансы так же есть.
Во-первых, двум программам может быть сложно работать с файлом одновременно, правильно "понимая" друг друга, а запуск программ последовательно -- тоже потеря времени.
Во-вторых, большой файл в памяти разместить трудно, а с fifo (я так понимаю, речь о pipe, в сленге: конвейер, command1 | command2) объём передаваемых данных ничем не ограничен, если обе программы работают одновременно, создавая и поглощая данные с одной скоростью.
-
- Сообщения: 482
Re: Преимущества FIFO перед файлом?
Надеюсь, что нет...

По мне - так воспринимается типа "так чем же циркулярка лучше лобзика ?"
Отличия - в порядке чтения. Во Фифе - хронология чтения соответствует хронологии записи.
Ещё - во Фифе - иногда держится лишь фиксированный объём (меньше памяти),
что, например, может не позволить писателю "вспомнить, что он писал вчера"...

Пойдём на рыбалку !
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Преимущества FIFO перед файлом?
Как правило такой ответ можно найти только спросив кого-то, кто уже сдавался тому же преподу. Независимо от того, о чём вопрос, и к какой вообще области знаний он относится. Другой путь - узнать, над чем работал препод последние годы, и искать ответ применительно к его работе.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 953
- ОС: [K]Ubuntu, Debian
Re: Преимущества FIFO перед файлом?
Согласен, говорить "лучше" тут нельзя (иначе файлов бы не существовало
)
Я пытался ответить на вопрос "почему работает быстрее -- там, где применим".

Я пытался ответить на вопрос "почему работает быстрее -- там, где применим".
-
- Сообщения: 3
Re: Преимущества FIFO перед файлом?
Kopilov писал(а): ↑24.06.2014 16:53Если речь о файле на жестком диске -- то, очевидно, потому, что не используется жесткий диск (один из самых медленных элементов компьютера).
Если файл в оперативной памяти -- намного медленнее не будет, но ньюансы так же есть.
Во-первых, двум программам может быть сложно работать с файлом одновременно, правильно "понимая" друг друга, а запуск программ последовательно -- тоже потеря времени.
Во-вторых, большой файл в памяти разместить трудно, а с fifo (я так понимаю, речь о pipe, в сленге: конвейер, command1 | command2) объём передаваемых данных ничем не ограничен, если обе программы работают одновременно, создавая и поглощая данные с одной скоростью.
Благодарю. Что-то такое мы ему уже говорили и что-то ему не понравилось, попробуем еще раз

Женя Подсыпальников писал(а): ↑24.06.2014 17:17
Надеюсь, что нет...
По мне - так воспринимается типа "так чем же циркулярка лучше лобзика ?"
Отличия - в порядке чтения. Во Фифе - хронология чтения соответствует хронологии записи.
Ещё - во Фифе - иногда держится лишь фиксированный объём (меньше памяти),
что, например, может не позволить писателю "вспомнить, что он писал вчера"...
"Какие преимущества fifo перед файлом?". именно таким вопросом он нас мучает уже почти месяц)
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: Преимущества FIFO перед файлом?
1. Не требует свободного пространства на диске.
2. Работает быстрее, так как ОЗУ быстрее, чем дисковая подсистема.
3. Данные обрабатываются потоком, а значит можно обработать больше, чем есть свободного пространства и свободной памяти.
Для подкрепления пример.
Есть такой способ соединить два видеофайла в формате avi.
Чисто механическое соединение невозможно.
Значит нужно файлы разжать в формат "сырого" видео.
Однако такие разжатые файлы будут иметь размер в десятки гигабайт. Хранить такие объемы может быть негде.
FIFO позволяет решить эту проблему.
Каждый файл разжимается в отдельный FIFO-файл, эти файлы механически соединяются в один, который затем снова сжимается нужным кодеком - и всё это происходит одновременно.
Поскольку данные обрабатываются потоком, то их не требуется нигде хранить и сохраняется только результат.
Условно говоря, можно таким образом соединить два файла avi по 1,5Гб каждый при объеме памяти в 1,5Гб и свободном дисковом пространстве в 3Гб.
Отрицательной стороной описанного способа соединения видеофайлов является нагрузка на процессор и затраты по времени, поскольку файлы не просто соединяются, а ещё и дважды перекодируются. Также возможна потеря качества, но её можно свести к минимуму.
-
- Сообщения: 482
Re: Преимущества FIFO перед файлом?
Вы можете попробывать удивить спрашивающего следующим железом логики

Начните так:
"Дело в том, <И.О>, что файл можно привести к функциям Фифы, но с затратами.
Значит, преимуществами Фифы - можно считать затраты на уравнивание файла к Фифе, а именно:"
- Закрыть доступ читателям со стороны автора
- Считать автором файл у некий буфер
- Смесить данные "взад" на величину нового сообщения (потеряв равный участок старого)
- Записать новый участок
- Записать файл
- Открыть доступ читателям
А у Фифы - то всё "из коробки".
Таким образом, показаны затраты приведения файла к Фифе,
а значит преимущесва последней поперёд первого

Пойдём на рыбалку !
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Преимущества FIFO перед файлом?
ИМХО препод хочет одного конкретного ответа, а не рассуждений на тему. Скорее всего он хочет услышать про возможность чтения прямо в момент записи, то бишь возможность параллельной работы общающихся программ. А может и нет.
Spoiler
Грамотеи...
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 3
Re: Преимущества FIFO перед файлом?
Вообщем, сказали преподу ваши варианты.
Это все верно, но не самое важное.
Сказали про хронологию и оказались уже ближе к ключевому ответу... но сам ответ так и не узнали)
Это все верно, но не самое важное.
Сказали про хронологию и оказались уже ближе к ключевому ответу... но сам ответ так и не узнали)
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: Преимущества FIFO перед файлом?
Интересный у Вас препод.
Но боюсь, в данном случае "самое важное" глубоко субъективно. То есть оно может быть самым важным для вашего препода и совершенно ненужным для всех остальных. Выше Bizdelnick сказал практически об этом.
Думаю, что если ознакомиться с мнением авторов FIFO, то "самое важное" будет что-то ещё, не совпадающее ни с мнением Вашего препода, ни с мнениями, высказанными здесь.
Если Вы всё таки узнаете "правильный" ответ на этот вопрос, сообщите здесь. Мне аж интересно стало.
-
- Сообщения: 23
Re: Преимущества FIFO перед файлом?
Bizdelnick писал(а): ↑25.06.2014 11:29Скорее всего он хочет услышать про возможность чтения прямо в момент записи
Это самое главное на мой взгляд. Более того читалка может быть вообще левой, никак не связанной с системой, которая пишет.
-
- Сообщения: 1139
- ОС: Fedora
Re: Преимущества FIFO перед файлом?
Глупый вопрос. Их нельзя сравнивать. У файла (я так понимаю - регулярного) и fifo разная дисциплина и разное назначение.
Образно говоря вам предложили сравнить круглое с мягким, вы начали всерьёз сравнивать, а теперь удивляетесь, что ваши доводы не нравятся.
Образно говоря вам предложили сравнить круглое с мягким, вы начали всерьёз сравнивать, а теперь удивляетесь, что ваши доводы не нравятся.