Linux-specific kernel interface for asynchronous IO, not available on other operating systems. Provides a comprehensive set of IO operations that follow the design of the normal IO syscall API, broken into three phases: submission, execution, completion. The application sets up two circular buffers — a submission queue (SQ) and a completion queue (CQ). IO is performed by preparing SQEs (submission queue entries) describing the operation, tagging them with user_data (which the kernel copies into the CQE), and invoking io_uring_submit (wrapping the io_uring_enter syscall); the kernel executes asynchronously and posts CQEs that the application later drains. Supports multi-shot operations (submit once, receive many completions — accept, timeout, read, receive), provided buffers (a circular buffer ring of application-allocated buffers the kernel reads into, with incremental consumption in recent kernels), and cancellation of in-flight IO.