Mac OS X is written on top of what was once called NextStep. And beneath that is something called the Mach kernel, which was written at CMU quite a long time ago.
I have provided links to quite a few documents at Apple's developer.apple.com web site, which you can access for free by the way.
The first document is a PDF (Adobe Acrobat) document. It provides an overview of writing multithreaded programs in Cocoa - that is, using the Cocoa API.
There is an NSTask class in the Cocoa API, which is provides an object-oriented interface to processes on Mac OS X.
And, for threads, there is an NSThread class.
There is an NSLock class. Use that to get exclusive access to something while you are doing something with it.
There is an NSMessage class and an NSPort class. You can send an NSMessage to an NSPort.
The NS in all these class names stands for NextStep, by the way. These Cocoa IPC and multi-tasking/threading classes were originally invented by NeXT - another computer company that Steve Jobs founded in the 1980s, after he cofounded Apple computer with Steve Wozniak in the mid-1970.
The second document I provided a link to, multithreadedprogramming.html, is a tutorial for programmers who are trying to convert a "legacy" Win32 program to the Macintosh. If you are already familiar with concurrent programming techniques on MS-Windows, this might be a good plae to start.
Apple has tech notes out on how to do mutlithreaded programming in conjunction with QuickTime. I have provided links to that.
The Mac OS X programming tools are free. This goes for the Xcode IDE, which supports: C, C++, Objective-C, Java, and AppleScript development.
Xcode also supports editing numerous scripting languages like Python, Ruby, Perl, etc. You can also invoke scripts written in these scripting languages during the build phase, to help you automate things about your build that are peculiar to your own application.
If you are doing a lot of concurrent programming, you might want to get the free CHUD tools too. They are low-level debugging tools.
The Macintosh Mac OS X operating system was designed from the ground up to provide support for multiple: processes, threads, and CPUs.
In addition to its own classes and functions for working with these things, it also supports pthreads (POSIX threads) so that people porting applications from Unix/Linux will have an easier job of it.
Apple also introduced something it calls "Xgrid" with Tiger (Mac OS 10.4) that supports clustering - communication between processes running on different computers that cooperate through a high level framework. Xgrid is based on an open source clustering software package called MPI. Xgrid puts a fancy Macintosh Cocoa style GUI on it, and makes it easy to administrate.
Make sure you grab the Shark program. It lets you see in graphs and tables what is going on in each of the threads (or all) of your program. You can download with the other CHUD tools from the performance page.
There is an application called Activity Monitor that lets you see all the processes that are running on your computer. It is pretty powerful. You will find it in the Utilities folder of your Applications folder.
The switch to the new Intel dual-core processors in the high-volume "consumer" models of the Macintosh (iMac, MacMini) as well as the professional notebook, will cause Mac programmers to see not just some - but a lot of their customers - running on multiprocessor Macs for the first time. This is a good time for all Macintosh programmers to be brushing up on thread management and concurrent programming.
Glance over these web pages, get a free ADC account and download the Xcode and CHUD software, and get your fingers dirty. Look over the plentiful examples that are available too. Once you dig into this stuff, I am sure you will be amazed at how far Apple has gone to allow you to have an easy time of doing process and thread management.