5 ms·
But OS X literally is a Unix derivative. Its precursor NeXTSTEP was built on top of the Mach kernel and BSD. In comparison, Windows 10 has its roots in the Win
by geographomics 11y ago
But OS X literally is a Unix derivative. Its precursor NeXTSTEP was built on top of the Mach kernel and BSD.
In comparison, Windows 10 has its roots in the Windows NT lineage (starting with NT 3.1, and including Windows XP), which is separate from the DOS-derived Windows line that ended with Windows ME.
(That said, I agree that he was just trolling.)
- acdha 11y agoI don't disagree that it's a Unix – Apple even got it certified in years past – but it's not that simple: Mach is not a Unix kernel and the Mach interfaces percolate up to the higher levels for many tasks which aren't covered by the POSIX layers. The bigger difference, though, is higher up. While you certainly can compile POSIX code on OS X, most of the applications which people run use Cocoa and that owes far more to the NextStep side of its lineage than the Unix bits. The better comparison might have been Win32 rather than DOS, where most of the interfaces were designed by the Win95 developers even though they were also implemented on top of the NT kernel. I've often wondered how much better things would have been in the late 90s/early 200s if David Cutler's team had been able to get the Win95 team to follow their generally much better instincts rather than the other way around. If nothing else, they wouldn't have needed to spend a decade duct-taping security onto a single-user design.
- geographomics 11y agoThat's an interesting point, and indeed NT has a curious history in that regard - Microsoft was originally planning an OS/2-based API as the dominant one, and it was only due to the success of Windows 3.0 that they ended up adapting the Windows API to 32 bits. Microsoft has always been dominated by backwards compatibility constraints so there probably wasn't much scope for a massive redesign of the API, as it was in their best commercial interests for 16 and 32 bit Windows APIs to match as closely as possible, to ease porting of third party software.
- acdha 11y agoBackwards compatibility was definitely a driving factor for a lot of bad decisions back then. Here's a great example of how they wanted to avoid breaking a few apps written for a Win95 beta build: http://blogs.msdn.com/b/oldnewthing/archive/2003/11/03/55532.aspx http://blogs.msdn.com/b/oldnewthing/archive/2003/11/03/55532... That's a bit silly but it also meant things like dutifully porting the real-mode Windows messaging system's feature which allowed any app to execute code in any other app: http://en.wikipedia.org/wiki/Shatter_attack http://en.wikipedia.org/wiki/Shatter_attack Like, say, sending a message to the anti-virus software running as SYSTEM to get root… The most entertaining bug I found was one of the times they failed at portability: one of the Win32 APIs to enumerate the contents of a directory worked 100% of the time on the Windows NT systems our development team used but returned no results on Windows 95 unless you had enabled network sharing (you didn't even need to share something; just starting the service was enough). This manifested in a very confused user wondering why our open dialog showed C:\ as empty when Explorer showed their files were still there.
- nbevans 11y agoThis post backs up the statement you hated so much though. That OSX is just a mod of various components plus an old era Unix kernel at the core. You literally validated the point. OSX is a strange OS to use. It looks and feels good at first glance but when you have used it for a year, one really longs to return to a pure Windows environment. OSX has weird bugs like the beachball cursor which is something that simply shouldn't happen in a modern OS. The last Windows to have a global lock like that was 9x.
- TazeTSchnitzel 11y agoThe OS X Beachball is exactly the same as Windows's busy cursor. That's a Windows feature that was never removed, you just don't see it much usually if things work properly. As of Vista Windows has a spinner rather than an hourglass.
- geographomics 11y agoDescribing it as "just a mod" rather downplays the significant development effort that OS X has undergone since its inception. The code originally borrowed from Mach and BSD only applies to some parts of the kernel, and a few userspace programs.
- mwfunk 11y agohttp://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
- acdha 11y ago> That OSX is just a mod of various components plus an old era Unix kernel at the core. You literally validated the point. Mach is not an “old era Unix kernel” and OS X is not exactly a vanilla Mach: http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.... It has a BSD subsystem but plenty of other different things, like a completely custom device driver model (IOKit). Secondly, you just called everything above the level of the kernel a mod, when that's where most of the code and almost all of the significant differences live. Is Android also “just a mod” on top of Linux? > OSX has weird bugs like the beachball cursor which is something that simply shouldn't happen in a modern OS. The last Windows to have a global lock like that was 9x. Windows 10 and most X window managers have the same thing for the same reason: you see the busy cursor when an application stops responding to events within some defined timeout. It's not due to the Win95/Mac OS Classic-like “global lock” you're thinking about but rather access to an unresponsive shared resource. I most commonly see it due to either doing blocking network I/O in the main thread (e.g. Outlook) or making the mistake of assuming that the filesystem won't block which affects just about every app with a network home directory or flaky drive, but it's also common with things like web browsers using a large cache directory where the startup blocks for awhile while the file system churns through millions of files.