Pipes and Special Files
When reading from a pipe (or a special file such as the keyboard), the process must wait if the pipe is empty.
Process must be suspended until there is data.
The FS does not have to do anything special to suspend the calling process because it simply does not send a reply.