Non Blocking I/O
Posted on 01 Sep 2025
When I first learned about non-blocking I/O, I had a burning question: how does a process know when I/O operations complete? Is there some background kernel process constantly checking for data and then notifying user-space applications? The answer reveals one of the most elegant solutions in systems programming. The Problem with Blocking I/O To understand non-blocking I/O, let’s first examine what happens with traditional blocking I/O. When your program makes a system call like read()...