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 (11)

Matthew Treder · August 2, 2006 - 00:46 EST #1
Yeah, the days of dreading opening QuarkXpress, Word, and Photoshop all at the same time (and heaven forbid an email app), then losing all of them to a sudden system freeze are finally over. This age of stability makes the simple act of sitting down to my work computer in the morning a thing of joy instead of a source of anxiety. That's gotta be worth $130 every 18 months or so!
Stephen R. Diamond · August 2, 2006 - 01:46 EST #2
In spite of this, NO ONE reported on the instability of OS X in the early years. All readers would discover is that OS X, by virtue of being built on Linux, is "rock solid." For me, I had enough with any flavor of Mac OS, after enduring the spiraling destabilization from OS 6 to OS 9. I thought, "This must be a cover-up;" I simply do not believe that Apple all of a sudden built a "rock-solid" operating system, Linux or no Linux.
AmberV · August 2, 2006 - 02:51 EST #3
Stephen,

a) Mac OS X has nothing to do with Linux. b) You must have been reading something different than I was. Pretty much my experience, and the consensus of everyone else published or not, was that 10.1+ was a gradual road up, out of the nightmare of OS 8 and 9 (which were infinitely more stable than 7). Hardly anyone professional bothered with 10.0. It was still a curiosity at that point. The future, but nearly useless for work.
Michael Tsai (ATPM Staff) · August 2, 2006 - 10:02 EST #4
Everyone has different experiences with stability, and different expectations and memories as well. I tend to agree with Stephen that the instability was underreported in the early days. For me, 10.0 was a disaster at first. On the other hand, I'm willing to believe that it really was stable for a lot of people, and maybe those are the people who wrote most of the articles.
David Thompson · August 2, 2006 - 12:17 EST #5
I came to OS X late (Panther -- still have a t-shirt). I used linux (RedHat) for a number of years -- still do. But, support for M$ Office-generated files was not so good, so I had a Window$ notebook that I used for most non-technical work, such as writing and class-related materials. My heavy-lifting was all done under linux.

I was curious about Macs and when OS X was released I started to pay attention. Then, late in 2003, I learned (DoH!) that OS X was unix-based. That piqued my curiosity sufficiently that I decided to replace my Widow$ notebook with a PowerBook.

What I learned was that I had all of the power of unix sitting prettily beneath the OS X hood. All I had to do was open a terminal shell, which defaults to Bash (Hooray!), and I was as much at home as I was on my linux boxen.

Panther was about as stable as the RHCL 9 systems I was running (which would run for months without a reboot). Office was available and ran acceptably, with few compatibility issues from the Window$ side. Virtual PC was available, but was too slow to be useful on the PB's G4 processor.

But, I found the system to be a pleasure to work on. I had all the access to the unix subsystems I wanted, plus the utility of the OS X GUI. This worked very well for me and I continued my migration by purchasing a dual-G5 desktop a couple of years ago. That system now does most of my heavy lifting.

I just (as in last week) purchased a MacBook Pro. I have a feeling that the last of my Window$ notebooks will now be handed off to either a colleague or a student. I'll have more to report as the experiment continues...
Poster · August 2, 2006 - 12:20 EST #6
As I remember, 10.0 and 10.1 were widely regarded as being too unstable to use. I got on the boat with Jaguar and I was happy, except for the pain that M-Audio drivers gave me. My system was stable and it's been that way all through Panther. I leave it on for weeks at a time, backing up the HD once a week and running the scripts once a week. Firefox is a little pokey, but that's about it. It is more stable than OS 9.1, but even OS 9 was far more stable than the Windows box I was on before.
Anthony Hess · August 2, 2006 - 12:36 EST #7
It wasn't that 10.0 and 10.1 were "widely regarded as being too unstable to use" its that they were too SLOW to use.

I had pretty good luck stability wise, and most of the articles I read back then agreed. It was simply the horrible performance of the system on the hardware of the day that was so hard to handle.
Brant Sears · August 2, 2006 - 13:44 EST #8
Classic MacOS (prior to X), did periodic checks of the integrity of the memory system and would shut down the OS if it became corrupt. (This typically resulted in the Bomb icon dialog that forced you to reboot the computer.) It did this using data structures at the beginning and end of allocated blocks in the heap. It is not true that applications commonly corrupted the data structures of other applications. If an application was writing to a wild pointer, chances are that it would not only write inside of some valid block - it would probably write off the end of a block or in some other place that the memory manager can detect. Movable blocks weren't that hard to deal with, but not having to even think about them is even easier still.

It *was* harder to write applications that efficiently and effectively used memory under MacOS than under MacOS X. This is mostly because of the lack of the same kind of virtual memory that Unix systems have. This required the use of Master Pointers (Handles) and movable memory blocks, etc. Thus, MacOS X offers some really great advantages:
1. A misbehaving application causes the application to crash, not the whole OS.
2. It is easier for the developer to write applications that use memory properly because you only have to deal with pointers (not Handles) and you don't have to worry about memory blocks moving around.
3. OS X has better facilities to locate the source of memory leaks.

There are some nice facilities for monitoring memory usage under OS X. None of them seem as straight forward to me as Metrowerks Zone Ranger on MacOS. However, this is because AppKit (Cocoa) allocates all kinds of things under the covers that make it much harder to interpret the results coming from such a tool.
Gregory Tetrault · August 2, 2006 - 13:57 EST #9
Stephen Diamond said "NO ONE reported on the instability of OS X in the early years.... This must be a cover-up..." He must have had his eyes closed for three years. I read many reports of stability problems with 10.0.x and 10.1.x, which is why I waited until 10.2.1 before adopting OS X. Stability problems were reported by all the major Macintosh-focused print and online magazines, and were frequent topics of discussion on Macintouch and MacFixIt. There was no cover-up or conspiracy of silence.
Francis Kim · September 19, 2006 - 05:59 EST #10
My iMac (1GHZ 17" flat panel) has been freezing up under 10.4.7 for some time now.

Have tried most of the common remedies (permission fix, memtest, zero-out and reinstall from DVD, etc.), but to little effect.

Once the machine "freezes" up, all that it will do is let you ssh in from the network and run top, which shows nearly 100% CPU time devoted to system, with no process showing up as the culprit. Leads me to believe the kernel is spinning mad.

Stability is a BIG problem with current version of OS X.
Dominik Schmid · November 3, 2006 - 04:30 EST #11
In my experience, and I have been using a mac since System 7.1 or so, OS X has been the most stable, at least since 10.2. My woes with OS X were limited to the first year or so, when I ran 10.1 on a 233MHz Wallstreet which was tiresome performance wise. Then I got a 867MHz TiBook which took my computing experience to a totally new level. Speed wasn't an issue anymore and the thing was just rock solid. Of course I'd experience crashes now and again, very rare KPs, occasional beachball lockups, but nothing dramatic. Especially not compared to the dreaded System 7.5 and even more dreaded System 8. Now I'm a happy camper running 10.4.8 and Win 2K (I need it for work) under Parallels on a MBP and I couldn't be happier with my setup. I find myself knowing less and less about system internals because I don't have to deal with the problems I used to on earlier Systems (7, 8 and 9). Nowadays looking under the hood is more for fun than trying to resolve stability or incompatibility issues.

Add A Comment





 E-mail me new comments on this article