Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



> Mach-O does more than ELF, and enables the two-layer namespacing that makes macOS able to manage dynamic linking dependencies better than ELF.

I've always admired that mach-o supports fat binaries.


It's more that Darwin does. A fat binary is just two independent Mach-O binaries concatenated with a small header.


Maybe, but ELF doesn't support doing so


One might be interested in the not-very-alive FatELF implementation, though: https://icculus.org/fatelf/


Yep, that sounds like the same idea:

> 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


Is it possible to write device drivers for Ravynos with Driver kit?


It looks like eg. their USB drivers use the IOKit API.


Wow!!!!!!!!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: