5 ms·
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, whic
by __d 17d ago
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.
- yjftsjthsd-h 17d ago> 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.
- mike_hearn 16d agoIt's more that Darwin does. A fat binary is just two independent Mach-O binaries concatenated with a small header.
- yjftsjthsd-h 16d agoMaybe, but ELF doesn't support doing so
- kevans91 16d agoOne might be interested in the not-very-alive FatELF implementation, though: https://icculus.org/fatelf/ https://icculus.org/fatelf/
- yjftsjthsd-h 16d agoYep, 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
- fithisux 16d agoIs it possible to write device drivers for Ravynos with Driver kit?