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.