I don&#x27;t think GNU Mach in itself provides any IO facilities, as opposed to other layers on top (e.g. GNU Hurd). (And neither is a fork of Linux.) I&#x27;m not particularly familiar with Hurd, but I had a quick look at the Hurd Reference Manual, and it looks to me like the primary IO primitives are synchronous, and there are a couple of additional calls which provide some asynch support. This is different from the NT&#x2F;VMS approach, in which the primitives are asynch, and synch is implemented by combining an asynch IO call with a wait for completion.