Usually people who ask questions like this are debugging IO performance issues. That image shows the relevant layers and the tools you use to find issues like write amplification
Thanks. What sparked my curiosity is while I'm writing code even a small mistake in the most simple programs can cost me tens or hundreds of milliseconds whereas behind a simple flushing to disk command there is so much happening at so many layers all in sub-millisecond or at most in a couple of seconds.