4 ms·
> The only still living variant is AIX. This is incorrect. The thing you have to understand about “AIX” is that historically it was not a single codebase, it
by skissane 2y ago
> The only still living variant is AIX.
This is incorrect.
The thing you have to understand about “AIX” is that historically it was not a single codebase, it was just a common brand for multiple unrelated IBM Unix offerings. (DB2 is the same story.) One of those offerings was AIX/ESA for IBM mainframes - and that was indeed based on the OSF/1 microkernel. But AIX/ESA died in the early 1990s-it was replaced by turning MVS aka OS/390 into a certified Unix, a role carried on by z/OS today, and later on by z/Linux as well. Whereas, the only AIX that survives to this day is the RS/6000 branch which isn’t based on OSF/1, and has a classic monolithic kernel design. Its distant ancestor, AIX version 1 for the RT PC, did use a microkernel (VRM), but that microkernel was very different from Mach and OSF/1 (it was written in a PL/I dialect, PL.8, that’s how alien it was)
- ryao 2y agoThanks for the clarification.
- pjmlp 2y agoAdditionally it is the only UNIX that follows a Windows like approach to shared libraries, which might confuse folks coming from POSIX land.
- skissane 2y agoWhat specifically makes AIX's approach to shared libraries "Windows like"?
- pjmlp 2y agoUsing COFF instead of ELF, nowadays XCOFF. https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-object-file-format https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-obje... Having its version of dependency files, export files in Aix speak, https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/dynamic-link-library#export-dll-functions https://learn.microsoft.com/en-us/troubleshoot/windows-clien... https://www.ibm.com/docs/en/xl-c-aix/13.1.3?topic=library-compiling-shared https://www.ibm.com/docs/en/xl-c-aix/13.1.3?topic=library-co... https://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/es-aix_ll.pdf https://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/e... Just like with VC++, lazy loading of libraries on symbol first use, done by the compiler. https://learn.microsoft.com/en-us/cpp/build/reference/linker-support-for-delay-loaded-dlls?view=msvc-170 https://learn.microsoft.com/en-us/cpp/build/reference/linker... https://www.ibm.com/docs/en/aix/7.3?topic=memory-shared-libraries-lazy-loading https://www.ibm.com/docs/en/aix/7.3?topic=memory-shared-libr... I had some fun with Aix 5 back in the 2000's.