4 ms·
The XNU kernel in macOS is based on the Mach 2.5 kernel, which is not a microkernel, but rather a BSD-derived monolithic kernel with the Mach IPC mechanisms bak
by ch_123 3y ago
The XNU kernel in macOS is based on the Mach 2.5 kernel, which is not a microkernel, but rather a BSD-derived monolithic kernel with the Mach IPC mechanisms baked in. The OSF/1 operating system for the DEC Alpha (later known as Tru64) also used Mach 2.5
AFAIK, the Mach microkernel was version 3.0 onwards, and used in projects such as IBM Workplace OS, MKLinux, and GNU HURD. These operating systems rarely progressed past the experimental or research project phase.
- johndoe0815 3y agoXnu is based on Mach 3, only the older NeXT/OpenStep kernels were based on a mix of Mach 2.0 and 2.5. MacOS uses a BSD personality colocated in the same address space as the Mach part, so it is no pure microkernel system. You can check the last (OpenStep-based) Rhapsody kernel sources from Darwin 0.3 at https://github.com/evolver56k/Darwin-0.3/tree/master/kernel-7/mach https://github.com/evolver56k/Darwin-0.3/tree/master/kernel-... and the first archived version of the MacOS X xnu kernel at https://github.com/apple/darwin-xnu/tree/xnu-123.5/osfmk https://github.com/apple/darwin-xnu/tree/xnu-123.5/osfmk
- p_l 3y agoSpecifically XNU is continuation of OSFMK, which was mix of 2.0 and 3.0 stuff, with built-in bsd server instead of separate process, and which was the basis for OSF/1 (and thus also Tru64, and quite possibly common with WPOS - IBM at one point was involved partially in the OSF consortium)
- pjmlp 3y agoCurrently Apple has been in the process of fixing this, by forbinding any kind of third party code as kernel extensions. Their long term roadmap being every time a new framework for userspace drivers gets introduced, the developer community is given one year transition period to migrate their kernel extensions to userspace, before that capability is removed from the following macOS version. End goal being macOS will provide a microkernel like experience for everyone outside Apple's HQ.
- pgeorgi 3y agoIt also frees them to significantly modify the kernel or even replace it outright without breaking anybody, too.
- Findecanor 3y agoGNU Hurd got a small upswing in development in recent years, and there is an actively maintained version of Debian for it. Still very few developers behind it though, compared to other Unix/-like projects.
- andrewshadura 3y agoNot active enough to keep it an official port though. And now that it isn't, packages are dropping patches to support Hurd. So no, I disagree with what you've just said.
- inkyoto 3y ago> AFAIK, the Mach microkernel was version 3.0 onwards, and used in projects such as IBM Workplace OS, MKLinux, and GNU HURD. GNU Hurd was based on CMU Mach 3 for a while in lieu of Mach 4, which was an oft cited reasons for delays with the Hurd development due to missing critical features anticipated to arrive in Mach 4. Then CMU dropped Mach, the University of Utah picked it up and developed for some time, and finally the active development fizzled out altogether, which added the further delays with GNU Hurd. GNU Mach was branched off Mach 4 at some point and has been (was?) developed as a separate endeavour. In reality, the CPU's at the time were not powerful enough to operate message passing, microkernel based operating systems so, whilst the idea itself was great, it was not a viable one. It could have been a different story today, but with the large scale operating system reasearch and experimentation all but having ceased in the last couple of decades, it does not seem likely there will be a large scale microkernel (or something else) success story any time soon, which is kinda sad.