В чем разница между трубами в Windows и Linux?Каковы различия между трубами в Windows и Linux?
ответ
Единственное отличие, о котором я знаю, это то, что именованные каналы под Linux - это фактические записи в файловой системе (вы увидите их в списке каталогов, у них есть особый тип), тогда как в Windows они хранятся в некоторых магических (все они доступны по пути «\\. \ pipe \»).
Во-вторых, в Linux вы можете просто писать или читать из труб, как если бы они были любым другим файлом, используя стандартные методы ввода-вывода. на окнах вам нужно использовать специальные функции «Pipe», которые являются частью Win32 API.
Мне нравится метод linux лучше, потому что он позволяет мне использовать трубы с любым приложением, которое я хочу. Например:
mkfifo pipe.wav
decodeMP3 song.mp3 --out pipe.wav &
encodeAVI video.mpeg pipe.wav --out video.avi
Это позволяет мне выводить вывод декодера MP3 непосредственно в видеодекодер, вместо того чтобы сначала декодировать весь MP3 в WAV-файл на диске. Это удобно, если у вас двухъядерный процессор, потому что тогда вы запускаете обе операции сразу, для хорошего ускорения.
Под Linux (и * ix в общем), «все является файлом». Вы можете читать/писать/искать трубы и сокеты и устройства без каких-либо ограничений, поскольку эти операции имеют смысл.
В то время как Windows имеет гораздо менее унифицированную архитектуру для этих различных типов объектов. Хотя я не мог рассказать вам подробности, я знаю, что буферизация труб значительно отличается между Windows и Linux, поэтому вы можете столкнуться с трудностями.
Кроме того, одно общее использование труб Unix-y составляет fork()
подпроцессом, а затем связывается с ним через канал (родительский открывает один конец, дочерний открывает другой конец). В Windows таких вещей просто невозможно. Механизмы МПК совершенно разные.
Смотрите также предыдущую тему:
который содержит мое взятие и несколько других людей
Другим важным отличием
Под окнами
A | B | C
До тех пор, делается с его авансом T B не начинается чтение, То же самое для вывода B читается C
* Nix перехватывает ввод и вывод вместе с тем, что С может читать выход и B B может прочитать выход A, в то время А и В все еще работают
Пропускная способность примерно такая же, но производительность получается быстрее с помощью * nix.
- 1. Каковы различия между MySQL, размещенными в Windows и Debian (Linux)?
- 2. Каковы все различия между трубами и очередями сообщений?
- 3. Различия между WxPython между Windows и Linux
- 4. Различия между ActionListener между Windows и Linux
- 5. Каковы различия в многозадачности, многопоточности между Linux Windows?
- 6. В чем разница между трубами и сокетами?
- 7. Различия Calloc между MS Windows и Linux?
- 8. каковы различия между исполняемым порожденным окном и Linux
- 9. Каковы основные различия между компилятором g ++ в OSX и Linux?
- 10. различия между mysql на linux vs windows
- 11. Каковы точные различия между CSLA для silverlight и windows?
- 12. Python: Различия в строке обработки между ОС Windows и Linux
- 13. В linux, каковы различия между этими каталогами bin?
- 14. php md5_file различия между окнами и linux
- 15. Каковы различия между этими вставками?
- 16. Каковы различия между типами запросов?
- 17. Каковы различия между компилятором и компоновщиком?
- 18. Каковы различия между запросами linq и linqToSql?
- 19. Каковы различия между [Serializable] и [Serializable()]
- 20. Каковы различия между MySQL = и <>
- 21. Каковы текущие различия между jQuery и Prototype?
- 22. Каковы различия между FLAG_ACTIVITY_RESET_TASK_IF_NEEDED и FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP?
- 23. Каковы различия между 'Bind' и 'Activate
- 24. Каковы различия алгоритмов между JPEG и GIF?
- 25. Каковы различия между препроцессорами C и C++?
- 26. Каковы отношения/различия между видимостью и порядком?
- 27. Каковы основные различия между Flink и Storm?
- 28. Каковы различия между mobiledata и облачными сервисами?
- 29. Каковы различия между OLEDB и ODBC?
- 30. Каковы различия между MSBuild и TFSBuild
Downvote. В Windows я могу использовать функции CreateFile, ReadFile, WriteFile, ReadFileEx, WriteFileEx для именованных каналов. Только сервер должен использовать CreateNamedPipe. Существуют функции труб для синхронизации создания и связывания труб, но они могут быть заменены использованием названных событий ожидания, если не нужны сетевые каналы. – 2013-01-25 10:06:49
И локальные именные каналы Windows используют файлы с памятью, расположенные ниже. Это означает, что канал хранит данные в памяти или в файле pagefile.sys. – 2013-01-25 10:14:17