XML definitions for service startup and inconsistent switches. Launchd is worse than systemd in those regards. I was quite happy to let go of my work iMac and do development on Linux.
YMMV - as I mentioned, I think launchd, systemd, and windows service manager are in a similar space; it could be I just encountered launchd first, so I'm more comfortable with it. Also the transition to systemd on Linux (e.g. rc files to upstart to systemd) felt more jarring than the macOS launchd transition.
That doesn't refute my statement that BSD pioneered containers with jails, as jails were widely used across multiple BSD versions (though they're oddly missing on macOS) before Linux's container architecture existed.
I had thought IBM did VMs rather than OS-level virtualization (wasn't Gene Amdahl the one who came up with the rules for classically virtualizable architectures?) but I'm not particularly familiar with IBM systems (though I have looked at the 360 instruction set, which has amazingly lasted for more than 50 years.)
Sadly the way things went, it isn't that much relevant nowadays.
Yes.
I wrote a history of this stuff in 2011:
https://www.theregister.com/Print/2011/07/18/brief_history_o...
FreeBSD jails first, then Solaris Zones, then Linux containers.
Linux VServer came first but is not really a normal container implementation, although it has similarities.
HP-UX 10.24 seems to be 1996:
http://www.bitsavers.org/pdf/hp/9000_hpux/HPUX_Versions.txt
I know next to nothing about it though.
> That doesn't refute my statement that BSD pioneered containers with jails
I'd say that was a fair call.
> I had thought IBM did VMs rather than OS-level virtualization
It does both.
AIX calls its containers WPARs:
https://www.ibm.com/docs/en/spectrum-lsf/10.1.0?topic=tips-o...
> (wasn't Gene Amdahl the one who came up with the rules for classically virtualizable architectures?)
No, Popek and Goldberg.
https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualizat...
FWIW I wrote a history of that, too:
https://www.theregister.com/Print/2011/07/14/brief_history_o...
One thing that possibly comes to mind for me is macOS' launchd, which doesn't seem to give me the same headaches as systemd even though they're kind of the same thing (see also: windows services manager.)
Another is/was clang/llvm vs. gcc, but gcc seems to have improved since clang originally came out. And clang is readily available on linux distros.
BSD pioneered containers with jails (and zones on Solaris), but I have gotten used to (and perhaps come to appreciate) Linux's a-la-carte namespace/cgroups design. I don't really enjoy working with docker and kubernetes though.
One thing I like about FreeBSD is its documentation, which seemed (to me at least) to be reasonably clear, complete and well-organized.
I've liked NetBSD for a variety of reasons (somewhat coherent classic BSD organization, synchronized kernel and userland releases, great multiplatform support, support for classic systems and architectures, pkgsrc which works nicely across platforms and without root access, /usr/games, and just having a different kernel implementation) but I'm not sure I can point to individual utilities being better than their GNU alternatives.