[an error occurred while processing this directive]

WWDC 2000 Thursday: Mac OS X Kernel and Multi-processing on OS 9

by Jeff Szuhay <>

Too much partying last night. Getting up today is very difficult. But there's a great session at 9:00 am that I don't want to miss so I drag myself out of bed and get going.

Session: Mac OS X Kernel

This is an overview session on fundamental Mach concepts covering tasks and threads, interprocess communications (IPC), virtual memory handling, and the Mach interface generator (MIG). Emphasis was given on using multithreaded programs to take advantage system resources.

The book for more info on this is the somewhat dated but still useful "Programming Under Mach" by Joseph Boykin, et al. Available from Amazon.com for $58.95. (I already ordered my copy.)

Session: Multi-processing and Mult-threading on OS 9

Here, more details were given on the situations one might use the MP library on both uni-processor and multi-processor systems. This was a "nuts-and-bolts" session whose emphasis was to not wait for multiprocessor system to begin using the MP library. Start now.

While getting expresso at one of the expresso carts, I tend to meet people and strike up conversations. This morning I had a pleasant discussion with John (_) Trow of HP, Printing Division.

With expresso in hand, I decided to wander over to the DTS lounge to see who is in. On the way, I coincidentally got pulled into a "Listen and Learn Session" for developers in the scientific field. The intent of this session for Apple was to get some focus from developers on what is needed to get Macs back into the scientific research and medical communities. Lunch was provided and a wide variety of developers happened to be there. Not only that, Phil Schiller was there to, well, listen and learn.

Nothing was promised; but here's a big "Thank you, Apple" for at least doing this. This session alone made my trip to WWDC worthwhile. This simple event proves to me that Apple is indeed listening. With so many great Macintosh technologies, both hardware and software, it seems like a perfect time for Apple to focus again on the scientific markets and for the scientific community to look again at Macintosh.

In this session, I personally thanked Phil Schiller for the decision to spread the GameSprocket functionality throughout the system so it was available to everyone (not just with a gaming focus). He mentioned a big flap on the internet about GameSprockets "going away." Well, yes and no. The GameSprocket functionality will be there. Either it will be in the core OS, or with will be in Carbon. Its NO loss; and so, a non-issue in my view.

I then went over to the DTS lounge and hung out with George Warner for far too long (I missed the "App Packages & Doc. Typing Session," one which I really wanted to see.) But I think the time spent was well worth it as George has an incredible amount of knowledge he is willing to share and a has a perverse sense of humor I really like.

I also missed meeting the Quesa development team after the OpenGL Feedback session but I hope I'll meet those guys another time. Quesa is an open source replacement for Apple's now abandoned QuickDraw 3D. Quesa is being built for Mac 8&9, Mac OS X, Windows, Linux, Solaris and others. I did see Brian Greenstone, author Nanosaur and Budgom one more time before he caught his flight. He is planning on updating all his 3D tools (most of which are free) for Quesa. I can't wait.

Now, when I think back to all the fuss that was caused last year when it became known that QuickDraw3D was being dropped from Carbon (being dropped) in favor of OpenGL, I can't help but think how we overreacted. Perhaps this motivated the development community even more to preserve QD3D and they did -- with a fully functional, truly cross-platform replacement, Quesa. Apple can now focus on making its OpenGL even better, and the Quesa community can make take Quesa forward with it resting nicely on top of OpenGL. A win/win. I now think the same for GameSprockets. (In other words, everybody please calm down).

Session: Performance Tools on OS X

This session introduced the usage of some command-line tools and GUI tools to examine how your app is using various system resources and to trace down memory leaks or aberrant program practices. Command-line tools shown were ps, top, fsusage, vmmap, and scusage. GUI tools shown were MallocDebug and Sampler.

Some strategies for identifying memory leaks, stack over/under flow were also demonstrated with these tools. Does the address 0xdeadbeef and 0xbeefdead mean anything to you_ It will.

As I was going across the street to the Civic Center for the next session, I happened to cross without the light (jay-walking). There were two policemen who were quick adamant that this was "a very dangerous thing to do" (as if I was a 3-year old). Hey, I'm from Pittsburgh where jaywalking is not only allowed, its mandatory. Anyway, be very aware of how you step into the streets here in California because such an offense will cost you a $300 fine (I just got a stern lecture).

Session: Carbon on OS 8 and 9

This session was intended to cover issues on running Carbon apps on OS 8.1 through OS 9. The watchword here is test for the OS version and even a function (using Gestalt) before calling it; it may not be there.

This session ended really early because a lot of the issues that were going to be covered apparently were eliminated in DP4. This gave me time, finally, to finish yesterday's report. There is just too much going on here.

Tonight is the beer bash on Apple campus. As I wait for the busses to take us in the plaza of the convention I noticed the gardenias have blossomed giving the air a very pleasant scent. It is also, finally a clear sky with a full moon. I spend some time talking with my wife and daughter while waiting. I also tag along with the Aussies of the other night. (Yep, they're getting tired of me now). But we have some laughs.

I depart from them once we get to the Apple campus. As per last year the Apple Company Store is jammed and the line is around the corner. No sense going in there, it will be cleaned out before dark.

At this event I go into major pinball mode making sure to walk around the entire grounds and see if I can recognize any Apple employees. This year, each Apple group (OS technologies, Java, QuickTime, hardware) had colored t-shirts for their group and they tended to stand around together in various parts of the grounds. Cool. I met up with a bunch of people I had met earlier in the week so this was a nice evening. One thing I didn't miss this year was the FireWire Plug-Fest. The had a bunch of machines and just plugged in as many FireWire devices as possible (this is more fun than it sounds especially with a couple beers already down). Last year they did a USB Plug-Fest and got more than 127 devices on a single chain.

The party closes down around 10:30. And when I get back to the convention center I find that the night is still young (read: I need more beer). So I followed a group into the San Jose night life (and this is another story). Nevertheless, I got back to my room at a "reasonable" hour.