Junior — Middle
For what purposes is the system call SELECT used in an operating system?
sobes.tech AI
Answer from AI
The SELECT system call is used to monitor multiple file descriptors (such as sockets) and determine if they are ready for input/output operations (reading, writing, or exceptional events).
Main purposes of SELECT:
- Allows efficient handling of multiple I/O channels without blocking.
- Enables non-blocking I/O by waiting until at least one descriptor becomes available.
Example of usage in Python:
import select
import socket
sock = socket.socket()
sock.bind(('localhost', 12345))
sock.listen()
readable, writable, exceptional = select.select([sock], [], [], 5) # wait up to 5 seconds
if sock in readable:
conn, addr = sock.accept()
print('New connection from', addr)