The Evolution of File Descriptor Monitoring in Linux
Formal Metadata
| Title | The Evolution of File Descriptor Monitoring in Linux |
|
| Subtitle | From select(2) to io_uring |
|
| Title of Series | |
| Number of Parts | 637 |
| Author | |
| License | You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. |
| Identifiers | |
| Publisher | |
| Release Date | |
| Language | |
Content Metadata
| Subject Area | |
| Genre | |
| Abstract | File descriptor monitoring is at the core of event-driven applications from graphical applications to web servers. Over the history of Linux, a number of system calls APIs have been introduced to improve upon the performance, features, and interface design. Developers may ask themselves which API they should use and how they differ.
This talk covers select(2), poll(2), epoll(7), as well as the more recent Linux AIO and io_uring APIs. We will look at the classic scalability challenges with these APIs as well as the latest shared kernel memory ring and polling approaches. An understanding of the evolution of file descriptor monitoring in Linux exposes API design topics that have relevance even if you don't need to implement an event loop in your application. |
|