4 ms·
Correct. There's an OSF Mach shim running as a FreeBSD kernel module which is then used to drive XPC and everything above. That said, I feel rather uneasy abou
by vezzy-fnord 11y ago
Correct. There's an OSF Mach shim running as a FreeBSD kernel module which is then used to drive XPC and everything above.
That said, I feel rather uneasy about the base FreeBSD going such a verbatim OS X route. I can understand doing it for FreeNAS, PC-BSD and derivatives, but it's quite invasive for upstream. Especially considering this requires running a parallel Mach kernel in the same address space.
Also, using Mach IPC deliberately in 2015 is like shooting yourself in the foot in my mind, but it's probably better than kdbus.
- X-Istence 11y agoThe base FreeBSD isn't going this route, this is something that is being worked on at iXsystems that may or may not eventually find it's way to FreeBSD itself. That's my understanding from the presentation!
- erikarn 11y agoThere's no parallel Mach kernel running. It's just Mach IPC shimmed as an FD type.
- vezzy-fnord 11y agoIt's a kernel module implementation of much of OSF Mach verbatim copied and shimmed from MkLinux, not just IPC. See sys/compat/mach in the NextBSD source tree.
- erikarn 11y agoYeah I looked; it's the IPC from Mach with some shimmed bits to do VM-y things for mapped message passing. Mach was mostly VM and IPC - so of course it looks like it's a lot of Mach code. But there's no separate mach kernel running - it's just the IPC instances and they only exist as FD bits. It's not a complete kernel and FreeBSD isn't running "on" mach.
- vezzy-fnord 11y agoI never made such a claim that FreeBSD is running on Mach. I said it integrated a Mach kernel interface as a module running in kernel space. They also ported tasks (as processes), threads (kthreads) and some clock/timer stuff, as well. No memory objects because there's no external pager they can be backed from.