4 ms·
This is pretty exciting! I've been wanting to mess around with Darwin without having to own a Mac; FreeBSD features on a microkernel sounds potentially really n
by remexre 6y ago
This is pretty exciting! I've been wanting to mess around with Darwin without having to own a Mac; FreeBSD features on a microkernel sounds potentially really nice. Trying to bootstrap up from the last available ISOs is terrible though; they're from over a decade ago, for i686...
- justaguy88 6y agoIt's not really being used as a microkernel though
- remexre 6y agoMy understanding (as someone who doesn't run nor code for Darwin, yet at least) is that it's totally possible to use the microkernely features in userspace right up until you need to do a syscall, and even then you can have a task that translates port messages to traditional syscalls. I guess I care less about a microkernel's advantages for kernel development, than it having non-broken IPC :P
- skissane 6y ago> it's totally possible to use the microkernely features in userspace right up until you need to do a syscall XNU has two sets of syscalls – Mach syscalls (negative syscall numbers) and BSD syscalls (positive syscall numbers). The Mach ones expose the classic Mach "microkernely" API, and the BSD ones provide the traditional POSIX API The term "syscall" is a bit ambiguous – sometimes it is said that the BSD side has syscalls but the Mach side has traps, other times it is said that BSD syscalls and Mach traps are the two different types of XNU syscalls. Definitely the BSD syscalls include a bunch invented by Apple themselves (not inherited from *BSD), and I think the same is the case for the Mach traps as well
- scruffyherder 6y agoIt’s always been “possible “ but it’s always been a massive pain in the butt as there is a lot of inside track stuff, and the public source always has a habit of depending on itself. It was a massive chore to get Darwin 0.1 to build for x86 but it’s possible. And there is 2 things only available as a binary blob, the intel PCMCIA code was never released nor the EISA/PCI adaption layer. I have some qemu images here: https://sourceforge.net/projects/aapl-darwin/ https://sourceforge.net/projects/aapl-darwin/
- asveikau 6y agoIn the early 2000s some people tried to build distros around it. Here it is running Gnome in 2004: https://commons.m.wikimedia.org/wiki/File:GNOME_2_running_on_openDarwin_(2004).png https://commons.m.wikimedia.org/wiki/File:GNOME_2_running_on... In those days there was a bit more optimism about such things but it was sort of like "why not just use Linux"? I think, iirc from reading tech news back then, there were also complaints about the quality and quantity of what Apple was releasing in source form.