Tutorial for understanding block based IO