This document discusses I/O systems and their components. It describes I/O hardware including devices, ports, buses and controllers. It then discusses the application I/O interface, kernel I/O subsystem, and how I/O requests are transformed to hardware operations. It also covers various types of I/O devices, blocking vs non-blocking I/O, kernel data structures for I/O, and factors that influence I/O performance.