4 ms·
Regarding an OS being intuitive...my wife is typically the ultimate test. She's not a power user...she just wants to surf the web, process photos, and email. Sh
by rufugee 15y ago
Regarding an OS being intuitive...my wife is typically the ultimate test. She's not a power user...she just wants to surf the web, process photos, and email. She also has very low tolerance for UX deficiencies.
I've had Windows 7, Ubuntu with Gnome 2, and OSX Snow Leopard and Lion in front of her. She was ok with Windows 7...it was tolerable, but we hit our first virus soon in and I ordered it off the machine. She liked Gnome 2 better, but it took a bit of getting used. Unity was pretty straight-forward for her...she likes it very much and prefers it above all others. OS X, however, was an entirely frustrating experience. I gave her my Macbook Pro because I was using my Lenovo Ubuntu notebook far more often and felt my hard-earned Apple investment was going to waste. She gave it a fair shot but HATED it. OS X's insistence on keeping applications open in the background even after the last window is closed slowly ate up memory. If two users are logged into the system and simply running a web browser and nothing more, the system crawls...no clue why. But the absolute worst part of her experience was the completely obstinate, bizarre OS X window switching and minimizing behavior. I realize many of you are accustomed to it by now, but she still rants about the fact that command-tab won't switch between all windows, and how minimizing a window requires right-clicking the icon to find it. Anyway, I'm sure there are ways to work around this behavior, but it should give one pause when someone calls Mac OS intuitive...I'd argue it's far from it.
- jiggy2011 15y agoI'm not so sure about "eating memory" with programs still running. I'm no OS expert but I'm pretty sure that assuming that app isn't doing anything then it's pages will be swapped out to disk (in essence , quitting the application from a memory perspective) if there are more pressing requirements for the memory. What is the technical difference between a program that is running or not running? As far as I can tell it depends on whether it has an entry in the scheduler , performance then should only vary based on how many O(n) (or worse) routines there are in the scheduler where n is the number of processes including ones that are sleeping? I think that measuring swap usage is a more important metric than RAM usage.
- icebraining 15y agoI'm no OS expert but I'm pretty sure that assuming that app isn't doing anything then it's pages will be swapped out to disk (in essence , quitting the application from a memory perspective) if there are more pressing requirements for the memory. Yes, but let's say you open an email client to receive notifications. Then you perform various tasks that involve opening new applications for a limited period of time, and they keep running after you're done with them. Eventually they'll use all the memory and the email client, since it's been idle for so long, gets paged to swap. Now you get a new email notification and you click to open it, which forces the system to page something else and "bring back" the email client, which creates a huge delay between the click and the email window showing up. If the temp applications had been closed as each task was completed, the email client would've never been paged out, so it'd remain fast when it was needed. This might seem a contrived example, but if you have some applications that you tend to leave open, it can be hell.
- jiggy2011 15y agoI see what you are saying here, although I suppose in this example the email client is probably doing some polling tasks in the background making it less likely to be swapped. Surely it would not be difficult to have a paging algorithm that says something like "this program has no open windows or background tasks in operation you should prefer to swap this application's memory over others", no idea whether this is how it currently works or not? I suppose there is the overhead of doing the swap operation which you would not need to do if you'd simply dumped the contents of the applications memory on the floor. I guess the memory management algorithm could just swap stuff related to state to disk but dump library code completely and reload this as needed. Memory is so cheap now that people will usually have more of it than they are actually using at any one time so it probably makes sense where possible to still hold recently used applications (state + libs etc) in there if there is no contention for the memory. I think my overarching point is that OS programmers are pretty smart , I would be slow to assume that they screwed something up in such an obvious way.