3 ms·
Thanks for the overview. This is exactly the level of analysis I was looking for! >The Mach kernel (used by macOS and others) Where/how does this typically m
by presscast 8y ago
Thanks for the overview. This is exactly the level of analysis I was looking for!
>The Mach kernel (used by macOS and others)
Where/how does this typically manifest itself? Why isn't macOS slow/sluggish?
- brazzy 8y agoThe kernel of macOS is XNU, which is basically a hybrid of Mach (microkernel) and BSD (monolithic Kernel). I guess the implication is that they had to create this hybrid because it would have been too slow otherwise.
- kayamon 8y agoI suspect you'll find the reason for a large amount of BSD code in macOS is because it allows them to get a lot of stuff for free that they didn't otherwise have to write themselves.
- gnarbarian 8y ago>Why isn't macOS slow/sluggish? That's a feature of the reality distortion field.
- atombender 8y agoWhile Mach 3.0 was designed to be a microkernel, macOS doesn't actually use it as one. The entire kernel, called XNU, runs in kernel mode, just like Linux. The macOS kernel had a reputation for sluggishness back in its early days, due (to the best of my understanding) due to the sluggishness of Mach messaging, which is how Mach implements system calls to the kernel. macOS also supports BSD syscalls, and Apple has apparently done enough optimization here that it's now roughly on par with Linux. Around 2006, Apple did have an internal, experimental version of macOS ("Darbat") which ran Mach on top of the L4 microkernel, but this project was canceled, for whatever reason.
- butterisgood 8y agoDarbat seems to be what's running in the Secure Enclave of the iPhone. Or at least something like it. https://www.blackhat.com/docs/us-16/materials/us-16-Mandt-Demystifying-The-Secure-Enclave-Processor.pdf https://www.blackhat.com/docs/us-16/materials/us-16-Mandt-De... Pretty darned awesome. Fiasco is GREAT. You at least used to be able to run it with DROPS which had a cool desktop/demo disk where you could just launch a bunch of Debian Linux instances as L4 tasks. It was like VMWare on crack at the time when I tried it. I think FiascoUX might still exist... you can run Fiasco as a userspace process on linux then run linux in ... oh I've gone cross-eyed..
- atombender 8y agoThe Secure Enclave runs a customized version of L4Ka::Pistachio, apparently. Different codebase (Pistachio is C++, for example), same origin.
- nickpsecurity 8y agoDROPS is still available here: http://demo.tudos.org/eng_about.html http://demo.tudos.org/eng_about.html It was one, cool-ass demo. I especially liked firing up VM's lightening-fast given I was reading people say they use containers since VM's are too slow and inefficient. Maybe the people building their favorite VM's just aren't good at efficiency. Build on L4/L4Linux instead. ;)