TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Linux on the OSF Mach3 microkernel (1996)

13 pointsby sergiolpover 10 years ago

2 comments

sergiolpover 10 years ago
While reading &quot;LINUX is obsolete (1992)&quot;, this relatively unknown article has come to my mind. It&#x27;s a pretty good read about a real world implementation of a microkernel architecture, and the tricks they had to do to obtain a reasonable degree of performance (migrating threads, collocation...).<p>Here&#x27;s a little background. In the 90&#x27;s, the Open Software Foundation (OSF, now part of The Open Group) was trying to build a common foundation for all UNIXes (back then you weren&#x27;t a cool IT company if you didn&#x27;t have your own UNIX OS, ask Microsoft).<p>As OSF&#x2F;1, the (supposedly) reference implementation of UNIX, didn&#x27;t gain enough traction, they started working on OSF Mach. OSF Mach was intended to be a small layer between the hardware and the OS <i>personality</i>, so UNIX companies didn&#x27;t have to waste effort porting their code for every architecture.<p>The idea was quite cool (you can think of it as an early form of virtualization), but the initial results were quite disappointing on the performance front (the paper talks about being 40% slower), so they started implementing some tricks that, essentially, broke the microkernel architecture while keeping the modularity. The most significant was collocation, also called in-kernel servers, which put the OS personality in the same, privileged space as Mach, so cross-space messages would become syscalls.<p>On 1995-1996, the OSF was asked by Apple to build a Linux version for their PowerPC based machines (go figure), and MkLinux, a Linux personality running OSF Mach (which the paper is talking about), was born.<p>Here&#x27;s when history becomes a little confusing. We&#x27;ve all been told that modern Mac OS X comes from NeXTSTEP source base, which was a CMU Mach+BSD OS (while MkLinux was OSF Mach + Linux), but if you look at the early code from XNU (OSX&#x27;s kernel), you&#x27;ll find an almost unmodified OSF Mach.<p>I suppose they took OSF Mach, which probably at that point was far more advanced than CMU&#x27;s, added the BSD bits from NeXTSTEP and finally complemented it with the FreeBSD based IOKit.
评论 #8943777 未加载
评论 #8962815 未加载
bediger4000over 10 years ago
I&#x27;m amazed at the variety of emulations&#x2F;ports of various OSes to Mach:<p>VMS on Mach: <a href="http://dl.acm.org/citation.cfm?id=964616" rel="nofollow">http:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=964616</a> - There&#x27;s a PS version of this floating around, too.<p>MS-DOS on Mach: <a href="https://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/abstracts/dospaper.html" rel="nofollow">https:&#x2F;&#x2F;www.cs.cmu.edu&#x2F;afs&#x2F;cs&#x2F;project&#x2F;mach&#x2F;public&#x2F;www&#x2F;doc&#x2F;ab...</a><p>I&#x27;m never sure whether NeXTStep counted as BSD running on top of Mach, or if NeXT built it in to Mach.