I/O Software
Official Documentation
- Linux Kernel Documentation on I/O
- Link
- Microsoft Docs on I/O Processing
- Link
- FreeBSD Handbook: Writing FreeBSD Device Drivers
- Link
Research Papers
- "Persistent Memory I/O Primitives" by Jian Xu and Steven Swanson (2016)
- Link
- "Understanding Modern Storage APIs: A systematic study of libaio, SPDK, DAOS, and Intel DCL" by Manuel Sadowski et al. (2021)
- Link
Additional Online Resources
- IBM Knowledge Center on I/O Concepts and Programming
- Link
- Oracle Documentation on Device Driver Interfaces
- Link
- SNIA Technical White Paper on NVMe Technology
- Link
Books
- "Linux Device Drivers" by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
- ISBN: 9780596005900
-
Provides a comprehensive guide to writing device drivers for the Linux kernel.
-
"Windows Internals, Part 1" by Pavel Yosifovich et al.
- ISBN: 9780735684188
-
Offers detailed information about Windows I/O system and driver model.
-
"Operating Systems: Three Easy Pieces" by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
- ISBN: 9781985086593
- Includes chapters on I/O devices and I/O management in operating systems.
For Deep Dive into Implementation
- "Systems Programming in Unix/Linux" by K.C. Wang
- ISBN: 9783319924281
-
Covers system programming in Unix/Linux, including detailed discussions on I/O programming.
-
"The Linux Programming Interface" by Michael Kerrisk
- ISBN: 9781593272203
- Provides a comprehensive guide to Linux and UNIX system programming, including I/O operations.
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.
-
ISO/IEC 9945:2009 - Information technology -- Portable Operating System Interface (POSIX®)
- This international standard is based on POSIX and includes specifications for I/O operations.
- Not freely available, but useful for understanding standardized I/O interfaces.