This document provides an overview of file system I/O in Unix systems. It discusses how file contents are cached in primary storage using a buffer cache to allow for concurrent I/O and computation. It describes disk architecture with sectors, tracks, and cylinders and how the buffer cache uses read-aheads and write-behinds to enable simultaneous I/O and processing. It also covers how the buffer cache maintains buffers in a least-recently-used order and how virtual memory addresses are translated to physical memory pages.