Hacker News new | past | comments | ask | show | jobs | submit login

> 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....

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.




The beachball on OSX frequently causes the whole UI shell to freeze solid. This literally never happens on Windows. Also all IO on Windows is asynchronous. It doesn't support synchronous IO.


> The beachball on OSX frequently causes the whole UI shell to freeze solid. This literally never happens on Windows

As TazeTSchnitzel said, this happens on both and is quite rare. If you're not just trolling and actually see this on a regular basis, it's either a hardware problem, misconfiguration, or something like using an unreliable LDAP server (this was the last time I saw it, back somewhere around 10.5 and, surprise surprise, Windows clients also wedge solid with a slow/flaky domain controller – I see this every time I use a Windows 7 domain client on a VPN).

> Also all IO on Windows is asynchronous. It doesn't support synchronous IO.

Please contact the folks at Microsoft so they can correct the first hit on Google:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...

Remember how we were talking about backwards compatibility? All of those traditional ReadFile/WriteFile/etc. calls aren't going away anytime soon. Even the teams at Microsoft who work on things like Outlook, Word, IE, etc. use synchronous I/O a lot since it's so much easier and there's no major downside on a local file system, particularly now that even a cheap computer can dispatch thousands of IOPs.


> The beachball on OSX frequently causes the whole UI shell to freeze solid.

The beachball is a very infrequent occurrence on OS X, and if it does happen, it usually doesn't freeze the whole shell. If you're seeing it a lot, this is often an indicator of faulty hardware. That being said...

> This literally never happens on Windows.

Not true, the exact same thing can and does happen on Windows, with similar rarity.

> Also all IO on Windows is asynchronous. It doesn't support synchronous IO.

I'm not super-familiar with Windows IO, but at the very least it has blocking, synchronous C stdlib file I/O, and blocking, synchronous WinSock network I/O. Also, anything asynchronous can be trivially be made synchronous, whether it is a good idea or not.


Sigh. You can't blame hardware when it's an as-new MBPr. Every Mac lover seems to blame it on something else when it is just a crappy OS that is the root cause.

On Windows it is extremely rare - maybe once a year, but you'd have to be a power user for sure. On Mac, it is usually a weekly occurrence. Hell, I had it happen last night in fact just by trying to mount a DMG file (a freshly downloaded TeamViewer DMG if you must know). It decided to go to the beach instead. After a full reboot it finally let me mount it. It really is a joke of an OS.

If you're not familiar with Windows IO then why try to cobble together a response? It is true that the Windows kernel does not support anything but asynchronous IO. It simply does not support it. Yes, user-mode land implements synchronous wrappers as a convenience for lazy developers or to aid in porting software from other lesser platforms.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: