Chapter 16. Efficient I/O Scheduling

Many applications are written to be interactive with one user. For these, it is a simple matter to be responsive to the whims of that one user. However, when you design server programs, each user of that server must receive immediate responses, as if there were only one user. This becomes impossible if your server is waiting for input from another user, within a system call. Consequently, a different design strategy is required when performing I/O with multiple clients.

In this chapter, you will examine how to perform

  • Non-blocking I/O

  • I/O using select(2)

  • I/O using poll(2)

Get Advanced UNIX Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.