[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