I still have to deal with a handful of UNIX systems at $WORK mostly AIX, and I don't really like it much compared to all of the Linux boxes that we mostly use. On one hand it seems to be rock solid and all of that but on the other it's like driving a Ferrari to go to work instead of a more sensitive Toyota. Most of them are being replaced by cheaper Linux servers where memory is not so pricey and mostly feel the same, albeit some memory allocation/caching difference

I did some work on AIX once. The thing that I remember is that I was granted some kind of zone/slice or wathever they call for compartmentalization. It didn't even had SSH so I had to use telnet.

The guy I was supposed to prepare the system for could only install Oracle from some crappy java UI wizard so I had to request the sysadmin to install a lot of Linux libraries and programs to enable X11 over SSH.

From memory there was LPAR "Logical Partitions" - which were effectively like a VM. and there was WPAR "Workload Partitions" - which had a shared OS and were more like a container.

I had some "interesting" experiences getting stuff to work on WPAR's.

IIRC, WPARs could be just for one process, or full OS (but sharing the resources of one AIX instance, I guess that running on an LPAR or directly in the hardware).

But yeah, bit more like a container.

Then it was probably an LPAR. Are those reliant on hardware magic or just something like cgroups?

LPARs use hardware virtualization. The PowerVM hypervisor (PHYP) is in firmware.

I first learned on an AIX box in college; Cygwin/X gave me X11 access and worked perfectly, although I couldn’t tell you whether that used telnet or ssh. Back then I used telnet a lot without any regard for security.

Yes we first had a world of telnet and networks that allowed anyone who pierced them with a transceiver to be part of it (thicknet). It was a simpler/kinder/less malicious world than todays.

X Windows ran great on AIX before Linux was a thing. IBM was involved with its's inception (Project Athena).

https://en.wikipedia.org/wiki/10BASE5

> crappy java UI wizard

Nicely put (oof!). I believe it also enforced a minimal color depth, which none of our machines could directly support on their own hardware, forcing the use of remote X11 displays.

Sounds painful. Why is there no CLI installer? Fortunately, I never had to deal with Oracle.

Is it true that 0x00000000 is a valid memory address on aix? I’m sure I read it somewhere but struggled to confirm it..

Yes, I believe this was an optimization to allow IBM’s compiler to do speculative loads before a null check.

Alien Infested uniX indeed :)

thats true on many systems... nothing special about 0x0 other than NULL happens to be defined as 0 in most toolchains an some functions use NULL to report an error.

Linux still has to copy a few Aix tricks, like the way lazy linking works.

From a cursory web search, it sounds like that just loads dynamic libraries when their functions are first called? Is that really so useful compared to either loading at start or dlopen()ing if they're optional?

Yes, because the compiler and linker do the work for you, instead of manually writing dlopen boilerplate.

This is a common feature on Windows by the way, Aix is special in many ways, one of them is being COFF land not ELF.

Another shared feature is symbols being private by default with explicit exports.

AIX uses XCOFF that has diverged from COFF so much that it is easier to treat it an entirely separate lineage – not entirely different from the Windows' PE object/executable format, which is also a COFF derivative.

XCOFF is pretty cool, actually, e.g. it does not require for two sets of the same library to exist, i.e. one to use for static linking and another for dynamic loading – the same .a archive can be used for both.

The .loader section keeps import and export symbol tables (what the binary provides to others, and what it needs resolved), library search paths and dependencies, and relocation and fix-up details. If the .a is being used for static linking, the .loader section is simply ignored.

Naive question: by your analogy, would a 1990s Ferrari perform today as it did back then?

I guess yes, although given today's petrol prices and environmental restrictions, it wouldn't be able to drive anywhere (at least in the EU)

Yes and no. Performancewise, the iconic Ferrari Testarossa from 80s/90s does 0-62mph in 5.8sec. That's in the ballpark of today's family SUV EV, like the Tesla Model Y (standard version, 'Performance' does 3.3sec) or Hyundai Ioniq 5 (again standard version, performance 'N' does 3.4sec).

But I'm sure the "fun factor" in a Ferrari is much greater and of course there's a nostalgia factor as well... it was "THE" supercar when I was a kid. I would love to drive one today and it would be much cooler than a Tesla Y or Ioniq 5 :-)

It's even funnier when you realize all of the V6 Camrys built in the last 10 years also have a 0-60 of 5.8 seconds or less, and with the right tires and some suspension tweaks probably handle about as well as an 80s Ferrari.

The last Testarossa I saw in the wild was around 2010 parked in Hoxton London. None of the upholstery was holding up and it looked like it might not be driveable. But it got there somehow.

Also, 80s/90s Ferraris weren't very reliable... :P

I don’t think this has changed much.

Absolute vs relative performance is important to consider

And normalized performance? :)