Skip to content

I/O Techniques

Official Documentation

  • Linux Kernel Documentation on I/O Schedulers
  • Link
  • Microsoft Docs on I/O Completion Ports
  • Link
  • FreeBSD Handbook: I/O Scheduling
  • Link

Research Papers

  • "Improving I/O Performance through Adaptive Caching and Prefetching" by Ali R. Butt et al. (2005)
  • Link
  • "Aerie: Flexible File-System Interfaces to Storage-Class Memory" by Haris Volos et al. (2014)
  • Link

Additional Online Resources

  • IBM Knowledge Center on I/O Scheduling
  • Link
  • Oracle Documentation on I/O Management
  • Link
  • Red Hat Customer Portal on Tuning I/O Performance
  • Link

Books

  • "Systems Performance: Enterprise and the Cloud" by Brendan Gregg
  • ISBN: 9780133390094
  • Provides in-depth coverage of system performance, including various I/O techniques and optimizations.

  • "Database Internals: A Deep Dive into How Distributed Data Systems Work" by Alex Petrov

  • ISBN: 9781492040347
  • Includes detailed discussions on I/O techniques in the context of database systems.

  • "High Performance MySQL" by Baron Schwartz et al.

  • ISBN: 9781449314286
  • While focused on MySQL, this book provides valuable insights into I/O optimization techniques applicable to various systems.

For Deep Dive into Implementation

  • "Understanding the Linux Kernel" by Daniel P. Bovet and Marco Cesati
  • ISBN: 9780596005658
  • Offers detailed explanations of Linux kernel internals, including I/O scheduling and techniques.

  • "Windows Internals, Part 2" by David A. Solomon et al.

  • ISBN: 9780735684188
  • Provides in-depth coverage of Windows I/O system and advanced techniques.

Standards

  • POSIX.1-2017 (IEEE Std 1003.1-2017)
  • This standard defines the interface between operating systems and applications, including I/O operations.
  • Not freely available, but it's an authoritative source on standardized I/O interfaces.

  • T10 SCSI Storage Interfaces

  • These standards define the SCSI protocol, which is crucial for many I/O techniques.
  • Available from the T10 Technical Committee website.