title: When and how read/write blocks (i.e. suspends your program) for different kind of files?
body: <p>I think I am not clear about when and how read/write blocks for various kind of files.
  (disk file, pipe, socket, FIFO)</p>
  
  <p>Could any one explain for both read and write scenarios of each file type?</p>
  
  <p>Thanks!!</p>