Tagged articles

blocking I/O

15 articles · Page 1 of 1
Deepin Linux
Deepin Linux
Sep 23, 2026 · Fundamentals

Inside read(): How Data Moves from Disk to Memory via Kernel & DMA

This article dissects the Linux read() system call, revealing how user-space applications, the kernel, and hardware controllers collaborate via DMA to move data from disk into memory, covering parameters, return values, blocking modes, file-type differences, and the copy_to_user overhead versus mmap zero-copy.

DMALinux kernelblocking I/O
0 likes · 25 min read
Inside read(): How Data Moves from Disk to Memory via Kernel & DMA
Deepin Linux
Deepin Linux
May 17, 2026 · Fundamentals

Why Wait Queues Matter: Mastering Linux Kernel Process Sleep and Wakeup

This article explains the Linux kernel wait‑queue mechanism, detailing its data structures, sleep states, step‑by‑step process‑sleep and wake‑up procedures, core APIs, and a practical key‑driver example that demonstrates efficient blocking I/O without wasting CPU cycles.

Driver DevelopmentLinux kernelblocking I/O
0 likes · 26 min read
Why Wait Queues Matter: Mastering Linux Kernel Process Sleep and Wakeup
Deepin Linux
Deepin Linux
Mar 22, 2025 · Backend Development

Understanding IO Models: Blocking, Non‑blocking, Multiplexing and Asynchronous

This article explains the fundamental concepts of I/O models—including blocking, non‑blocking, multiplexing and asynchronous approaches—detailing their mechanisms, advantages, drawbacks, code examples in Python, and practical optimization strategies for high‑concurrency backend systems.

IO modelsLinuxMultiplexing
0 likes · 31 min read
Understanding IO Models: Blocking, Non‑blocking, Multiplexing and Asynchronous
Liangxu Linux
Liangxu Linux
Jul 24, 2021 · Fundamentals

Why Blocking I/O Slows Your Server and How Select, Poll, and Epoll Fix It

This article explains the drawbacks of traditional blocking network I/O, introduces non‑blocking reads, and walks through the evolution from multithreaded workarounds to kernel‑level multiplexing mechanisms such as select, poll, and epoll, showing code examples and performance considerations.

EpollIO MultiplexingSELECT
0 likes · 13 min read
Why Blocking I/O Slows Your Server and How Select, Poll, and Epoll Fix It
Code Ape Tech Column
Code Ape Tech Column
Mar 3, 2021 · Fundamentals

What Are the Different I/O Models and When Should You Use Them?

This article explains the four main I/O models—blocking, non‑blocking, multiplexing (reactor), and asynchronous (proactor)—detailing their characteristics, typical implementations in Java and Linux, and when each model is appropriate for building efficient network applications.

I/O multiplexingIO modelsasynchronous I/O
0 likes · 3 min read
What Are the Different I/O Models and When Should You Use Them?
Java Captain
Java Captain
Aug 18, 2020 · Backend Development

Understanding the Five I/O Models: Blocking, Non‑Blocking, I/O Multiplexing, Signal‑Driven, and Asynchronous I/O

This article explains the five I/O models—blocking, non‑blocking, I/O multiplexing, signal‑driven, and asynchronous—detailing their operation, typical applications, advantages, and drawbacks within the Linux/UNIX networking environment, and compares synchronous versus asynchronous I/O concepts.

I/O ModelsI/O multiplexingLinux
0 likes · 11 min read
Understanding the Five I/O Models: Blocking, Non‑Blocking, I/O Multiplexing, Signal‑Driven, and Asynchronous I/O
Xiaokun's Architecture Exploration Notes
Xiaokun's Architecture Exploration Notes
Mar 4, 2020 · Fundamentals

Understanding the 5 Core I/O Models: From Blocking to Asynchronous

This article explains the evolution of Unix network I/O models, detailing data transmission paths, blocking and non‑blocking operations, and comparing five models—blocking, non‑blocking, I/O multiplexing, signal‑driven, and asynchronous—while clarifying key terminology such as user space, kernel, and file descriptors.

I/O ModelsUnixasynchronous I/O
0 likes · 15 min read
Understanding the 5 Core I/O Models: From Blocking to Asynchronous
MaGe Linux Operations
MaGe Linux Operations
Jan 5, 2018 · Backend Development

Mastering Server I/O: From Single‑Thread Blocking to Multi‑Threaded Reactor Patterns

This article explores server I/O models—including single‑thread blocking, multi‑thread blocking, single‑thread non‑blocking, and multi‑thread non‑blocking (Reactor) approaches—detailing their mechanisms, advantages, drawbacks, and how kernel‑level event detection improves performance, helping developers choose the right model for various scenarios.

Reactor Patternbackend developmentblocking I/O
0 likes · 16 min read
Mastering Server I/O: From Single‑Thread Blocking to Multi‑Threaded Reactor Patterns