[Info-vax] Hard links on VMS ODS5 disks
Johnny Billquist
bqt at softjar.se
Tue Jul 18 14:07:45 EDT 2023
On 2023-07-18 17:09, Single Stage to Orbit wrote:
> On Tue, 2023-07-18 at 16:05 +0200, Johnny Billquist wrote:
>> Asynchronous I/O in Unix is a mess.
>
> THey've had three goes at getting it right. There was AIO years back,
> something else that I forget the name of, and then there's io-uring,
> the latest thing to land. From what I've gathered it can do a lot
> without incurring context switches penalty.
Well, context switching is yet another story. Shouldn't really have
anything to do with doing asynchronous I/O...
But yeah... AIO. Oh what fun. And at the moment, there is a lot of focus
on epoll, but that only exists in Linux. Of course, this also leads to
the comment that you need to have multiple solutions in the code to deal
with the different variants of Unix... epoll is sortof nice, since it
gathers a lot of file descriptors inside another single file descriptor,
and you can then do blocking operations on that one fd, and from there
work out what to do when anything happens. And it can be made rather
efficient, especially when you are doing lots of I/O to lots of file
descriptors. But it's also a bit complicated to actually work with if
you want to get the most out of it, and easy to get into a situation
where it gets stuck instead.
Another area where Unix/Linux is pretty complicated is shared libraries.
It works, but don't try to explain how it actually works. It's
definitely on the complicated side... (along with the dynamic loaded
libraries...)
In general, there is no one OS where everything is nice and simple
(except RSX of course... ;-) )
Johnny
More information about the Info-vax
mailing list