Skip to content

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.