title: Write system call writes data to disk directly?
body: <p>I've read couple of questions(<a href="https://stackoverflow.com/questions/1450551/buffered-i-o-vs-unbuffered-io">here</a>) related to this but I still have some confusion.</p>
  
  <p>My understanding is that write system call puts the data into <code>Buffered Cache</code>(OS caches as referred in that question). When the <code>Buffered Cache</code> gets full it is written to the disk.</p>
  
  <p>Buffered IO is further optimization on top of this. It caches in the <code>C RTL buffers</code> and when they get full a <code>write</code> system call issued to move the contents to <code>Buffered Cache</code>. If I use <code>fflush</code> then data related to this particular file that is present in the <code>C RTL buffers</code> as well as <code>Buffered Cache</code> is sent to the disk.</p>
  
  <p>Is my understanding correct? </p>