logoalt Hacker News

mrweaselyesterday at 6:44 PM4 repliesview on HN

Maybe someone more familiar with operating systems kernels can answer this: Is Darwin really all the exiting? It is different from both the BSD kernels and Linux, but less so than Windows. Other than the ability to run macOS applications (assuming you can clone the libraries and APIs from macOS) is there some benefit of Darwin that I'm not seeing?


Replies

__dyesterday at 7:04 PM

XNU has some interesting features.

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.

show 1 reply
ripdogyesterday at 7:06 PM

I honestly think the kernel interface is by far the easiest part of building a MacOS compat layer. The userland is gigantic, super complex, and totally closed source. That's the hard part.

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.)

show 1 reply
phendrenad2yesterday at 8:59 PM

Most kernels are kind of the same really. Some have slightly fancier inter-process communication. Leading to my all-time favorite YouTube video, an explainer on Android IPC cut like a spy thriller. I'm not even joking: https://www.youtube.com/watch?v=Fb4UoqXPEtI

show 1 reply
jabedudeyesterday at 6:58 PM

I don't think it's all that exciting. The hybrid BSD/mach personalities is somewhat interesting, as are some of the available mach machineries.

It's been a stable foundation for several of the most successful operating systems in history though