# A brief history of select(2)

DevFeed: [A brief history of select(2)](<https://devfeed.tech/articles/a-brief-history-of-select-2-38956.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2016-11-01-a-brief-history-of-select2>)

Author: Marek

Published: 2016-10-31T23:00:00Z

Content type: article

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Unix](<https://devfeed.tech/topics/unix.md>), [IO](<https://devfeed.tech/topics/io.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [block](<https://devfeed.tech/tags/block.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [file](<https://devfeed.tech/tags/file.md>), [history](<https://devfeed.tech/tags/history.md>), [linux](<https://devfeed.tech/tags/linux.md>), [process](<https://devfeed.tech/tags/process.md>), [unix](<https://devfeed.tech/tags/unix.md>)

## AI overview

This article begins a historical discussion of select(2) I/O multiplexing in Linux. It places file descriptor multiplexing in the context of Unix design, time-sharing, batch processing, process blocking, and early inter-process communication mechanisms such as pipes.

## Source excerpt

A brief history of select(2) I/O multiplexing part #1 Recently I've been thinking about the multiplexing in Linux, namely the syscall. I was curious if is better or worse than the or . I was wondering if there was a benefit in batching calls. But let's step back for a while, before we start a serious discussion we need to get some context. Most importantly - is file descriptor multiplexing an aberration or a gentle extension to the Unix design philosophy's?