Skip to Content
Skip to Table of Contents

← Previous Article Next Article →

ATPM 12.08
August 2006

Columns

Segments

How To

Extras

Reviews

Download ATPM 12.08

Choose a format:

The Personal Computing Paradigm

by Michael Tsai, mtsai@atpm.com

Mac OS X’s Increasing Stability

Remember why Apple felt the need to stop development of the classic Mac OS and transition to Mac OS X? Looking at the situation now, we see all kinds of benefits. For users, OS X features major improvements in graphics, text, networking, internationalization, multi-processing, and other areas. Many of these features could have been added to Mac OS 9, but it was easier to use the foundation from NeXT. Developers love the Cocoa frameworks and having access to the Unix tools, and they’ve used these to start a renaissance in Mac application development.

Apple was surely thinking about these benefits, but they weren’t the main reasons given for the switch. Long before OS X, Apple announced various plans to move the Macintosh to a “modern” operating system—one with pre-emptive multitasking and protected memory. Pre-emptive multitasking is important for developers, since it simplifies the code that they write, but I doubt that most users saw it as a big deal. It was better than co-operative multitasking, sure, but we’d been multitasking since Switcher and MultiFinder. No, what we really needed was the protected memory. Mac OS crashed a lot, though less if you were careful about what software you installed. Protected memory promised crash-free computing.

Actually achieving this has taken a while. When Mac OS X 10.0 shipped, it was, for many users, less stable than their OS 9 setups. Applications crashed frequently. This is somewhat understandable. Many of the crashes were caused by bugs in the OS itself. Also, developers were writing lots of new code on top of an operating system that was still in flux and only partially documented. When a crashing application doesn’t bring down the whole system, there’s less incentive for the developer to fix all the crashing bugs, especially when there’s so much other work to do during an OS transition.

The nature of application crashes had changed. Under OS X, the protected memory system instantly shuts down an application that tries to read or write from memory that it shouldn’t. Under the old Mac OS (especially prior to Mac OS 8), illegal memory accesses often went undetected. An application could silently corrupt its data structures, or even those of other applications or the system, and it might not be until much later (if ever) that this was manifested in a crash of the machine. The fast-failing in OS X can make applications seem more unstable, but they truly are protected from one another, and the instant crashes and crash logs help developers to write software that’s more stable.

I also experienced a lot of system crashes in Mac OS X’s early days. These encompass a wide variety of problems with different causes, but all of them mean that you lose what you’re working on (in every application) and need to reboot. In 2002, I started keeping track of the system crashes to see if any patterns would emerge. That year, OS X spontaneously logged me out nine times. Six times, the screen and mouse froze. Four times, the kernel panicked. Once, the Mac wouldn’t wake from sleep. Once, the entire machine slowed to a crawl and I had to reboot. And once, all the applications I was using crashed within a minute so of each other, so I thought it best to reboot.

In 2003, there were no spontaneous logouts, but stability wasn’t much better. There were seven total freezes, plus four effective freezes where I couldn’t do anything but watch the beachball spin. Three kernel panics. Once, all the applications quit when I plugged in my iPod. Once, it wouldn’t wake from the screensaver.

By 2004, things were improving. There were no logouts and only one panic, which I attribute to a bad Toast driver for my external DVD burner. Seven freezes without the beachball. Four with it. My guess is that my most stable OS 9 system crashed once a month, so this is a slight improvement.

2005 was the most stable year for me: just two kernel panics. Perhaps not coincidentally, this is also the year that I stopped using Classic. There were quite a number of “soft crashes” this year, which I didn’t count. Several times per week, the Mac would get slower and slower. Short scripts that used to run instantaneously would start to take up to 15 seconds. I was never forced to reboot, but I chose to do so every few days to recover the lost speed.

2006 hasn’t been quite as good as 2005. So far, there have been three freezes (one while copying to a hard disk that turned out to be bad, and one at shutdown so it didn’t really matter) and one panic. Once, iTunes froze (and couldn’t even be force-quit) when I plugged in my iPod shuffle, and it was impossible to restart or shutdown the Mac cleanly. Once, Front Row gobbled up nearly 2 GB of memory, bringing the rest of the system to its knees, and I had to log out. A similar thing happened with Xcode 2.3's dedicated network builds feature, until I disabled it. And a bug in the OS made it impossible to use the LaTeX i-Installer without freezing the system, so I downloaded a different LaTeX package. The creeping slowness problems have mostly abated with some OS updates a few months into the year, though I still see regular font rendering problems that require resetting the font cache and rebooting.

Although Mac OS X’s stability isn’t perfect yet, it is indeed getting better. Of course, I still save my documents frequently, just in case. It’s been a reflex since I started using computers. The reduced number of crashes has, I think, reduced the amount of damage to my disks’ catalogs. I still run DiskWarrior and Disk Utility regularly, but they only find problems occasionally—not nearly every time, as they used to. But if the increasing system stability hasn’t changed these habits, it has changed my state of mind. Applications still crash, and every once in a while I lose a few minutes’ worth of work, but I no longer worry about the whole system crashing. Instead of expecting the Mac to crash, but not knowing when it will, I expect it to just keep running.

Also in This Series

Reader Comments (0)

Add A Comment





 E-mail me new comments on this article