Scheduling in a Bare-Metal Web Server
Summary
The article explains Tatix, a bare-metal web server, and its cooperative scheduler used to handle multiple TCP connections without locks. It covers why a scheduler is needed, how cooperative scheduling operates (with sleep_ms yielding control), and the architecture of the main tasks that keep the network stack responsive. It argues that this approach simplifies reasoning about concurrency and avoids traditional locking in a minimal kernel context.