Does named pipe modify the filesystem?
The file object itself is created in the filesystem, but no data is stored in a file system. From the mkpipe(3) manpage:
A FIFO special file is similar to a pipe, except that it is created in
a different way. Instead of being an anonymous communications channel,
a FIFO special file is entered into the file system by calling
mkfifo().
About the only time the data might be stored on disk is during hibernation when memory is written to the swap space, including buffers - however this an corner case.
Nope. Writing to a named pipe does not modify the filesystem (except for access times).
Here's a demonstration:
$ mkdir test
$ mkdir test-ro
$ mkfifo test/fifo
$ mount --bind test test-ro
$ mount -o remount,ro test-ro
$ cat test/fifo & echo something >> test/fifo
something
As you can see, even though the fifo was on a read-only filesystem, we were able to write to it.
Named pipes don't store any piped data on the filesystem. Their data is buffered in memory, separate from the filesystem buffers.