Comment by asveikau

7 years ago

There is a lot of weird stuff in Darwin that makes me wonder... Why do they deprecate useful things at other layers and keep this clunky Mach thing? They could switch to FreeBSD or Linux and probably perform better. It is hard to take them seriously when they say they don't like to maintain creaky stuff when there is Mach...

Sounds like you don’t understand what Mach actually offers. Check out Amit Singh’s book.

  • You might think I don't understand, but I do know about kernel development and yes, the IPC is pretty unique for instance.

    But it can be recreated with Unix domain sockets and what have you, in exchange for a kernel with more active work going on, not just by a single entity, more wood and arrows behind it so to speak. And mach is dated, from the microkernel experimentation era of the 80s and 90s, with a lot of overhead of its own.

    The fact remains that Linux outperforms macOS on the same hardware. Yes I have run comparisons.

    • > But it can be recreated with Unix domain sockets and what have you

      Or, heck, they could port the IPC and anything else worth keeping. Even just building a private fork of FreeBSD with the Darwin personality grafted on top would be viable.

      1 reply →

    • I think as core counts increase, in 5-10 years we’ll see operating systems that run solely on a dedicated low power core while the other processes run in tickless mode with a more topology aware scheduler and almost no context switching or core migration.

      This is already how game consoles and low latency systems work for the most part.

      At that point microservices might become more palatable since the context switching won’t damage the rest of the processes performance as much. And Linux’s performance advantage might dissipate as scheduling and cache pressure become less relevant.