It’s Mach based, so it has Mach ports, which are an IPC system that is fairly heavily used by macOS.
It has DriverKit, which is a C++ framework for drivers that’s got morecsuppirt than the usual Unix driver model.
Mach-O does more than ELF, and enables the two-layer namespacing that makes macOS able to manage dynamic linking dependencies better than ELF.
Nothing really earth-shattering but interesting enough. And far easier to build a macOS environment on than FreeBSD.
I've always admired that mach-o supports fat binaries.
> The format is very simple: it adds some accounting info at the start of the file, and then appends all the ELF binaries after it, adding padding for alignment. The end of the file isn't touched, so you can still do things like self-extracting .zip files for multiple architectures with FatELF.
But I would indeed call it very-not-alive; their demo image is Ubuntu 9.04
AFAIK all macos software only talks to the kernel via userland APIs - so there's no particular benefit to basing ravynOS on XNU anyway. (Just the opinion of a layman.)
Just FYI, the https://www.darlinghq.org project is doing MacOS app compat on Linux - i.e. building the userland libraries.
> Is Darwin really all the exiting?
I’ve tried to reread your question, and couldn’t get the sense, before I thought maybe that’s an autocorrection / misprint.
I study kernels for fun, so I've had a lot of opinions like that over the years, but none survived gaining more experience. For example, I used to think that the Windows NT kernel was a microkernel, then I thought that it was a hybrid, but now I know that it's actually monolithic. Likewise, I now understand that the major differences between the FreeBSD and DragonFlyBSD kernel are really just a few hundred lines of code, nothing major. But if you Google it, it'll make it sound like they're worlds apart.
Part of this is understanding that what people call "the kernel" usually includes a lot of things that, arguably shouldn't be considered part of the kernel proper. And a lot of the differences people cite between kernels come down to different message-passing architectures that are extremely interesting academically, but don't show up in real-world testing.
The sad part is, you can't reach this level of understanding though normal means, every source of information is full of half-truths. You have to dig into the source code and run these things on a bench yourself.
It's been a stable foundation for several of the most successful operating systems in history though