Operating systems notes

I/O Hardware & Software Layers

How one read() call reaches a disk, a keyboard or a network card, and stays the same shape for all of them. Every section is a drawn page beside a clear written explanation, about 17 minutes in all.

  • Chapter 26 of 37
  • About 17 minutes
  • 8 sections

Sign in with Google or GitHub and you land straight on this page. DSA comes with the all labs plan and every ChaiCode batch.

The first drawn page of I/O Hardware & Software Layers: Why I/O is genuinely hard
The chapter's first page: Why I/O is genuinely hard

In this chapter

  • Why I/O is genuinely hard
  • Device controllers & their registers
  • Talking to a device: polling
  • Interrupts: let the device tell you
  • DMA: moving bulk data without the CPU
  • The I/O software layers
  • Device drivers & the uniform interface
  • Buffering, caching & why engineers care

Next chapters

Read the whole chapter

Sign in and the chapter opens with every drawn page, and all 38 operating systems chapters beside it.

DSA comes with the all labs plan and every ChaiCode batch.