3 ms·
OS/2 Warp for PowerPC is a distant cousin of today's macOS because it also uses the Mach microkernel. This was not the case for OS/2 for x86 which was a regula
by pavlov 3y ago
OS/2 Warp for PowerPC is a distant cousin of today's macOS because it also uses the Mach microkernel.
This was not the case for OS/2 for x86 which was a regular monolithic kernel.
It's mentioned in the article that IBM's original goal was to have a single desktop OS with multiple personalities:
"Going deeper into the kernel, OS/2 PPC had precious little in common with the Intel version. The product was based on the IBM microkernel, which was a refinement of the Carnegie Mellon University MACH microkernel. The microkernel bore no resemblance to the Intel OS/2 kernel whatsoever and it was also very different from other operating systems.
"The initial grandiose plan was to build the Workplace OS, the One Ring to Bind Them All of operating systems. Workplace OS (or WPOS for short) was supposed to be built on top of the MACH microkernel and support multiple "personalities". The personalities would implement existing operating systems such as OS/2, AIX, Windows NT and perhaps even MacOS. In the end this never happened and the only supported personality was OS/2.
The initial design is still tangible in OS/2 PPC. The OS/2 personality is implemented in the "OS/2 Server" and there are certain "personality neutral" services. Most device drivers were personality neutral and worked directly with the microkernel. This included disk and network drivers. A notable exception were display drivers, where OS/2 PPC introduced the GRADD model, later ported to Intel OS/2."
- ch_123 3y agoThe 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.