Rust and io_uring Part 1

There are really a lot of different io_uring crates for rust. Some are quick bindings, some are specialized to particular application or runtime environments, some are doing deeper experiments to how they connect to the applications using the interface, I think I'll start looking at them to contrast their approaches in a little more detail.

First a little background on a number of different approaches a program can take in order to make I/O calls, be they to the network, disk, or some other device. This post is the first in a series of notes reviewing the tradeoffs of the various approaches at a high level, from different kinds of synchronous i/o calls to different kinds of asynchronous calls. Some focus on an environment where a program os running directly in an OS, but a lot of this also applies in other environments besides Rust.

The first part is below on a little background on Synchronous I/O and architectures that handle it, mostly a language independent discussion.

Posted on

Blog Reboot

Time to reboot my blog. The old site is still served by Blogger but, I will probably shift the content to this main site at some point.

This site is generated by the Zola static site generator written in rust. Hosted on github static pages. See below the fold for misc details.

Posted on