AppleThe Apple StoreiPod+iTunes.MacQuickTimeApple SupportMac OS X
ProductsSwitchHot AppsDownloadsServerDeveloperResourcesFeedback

The most widely-distributed UNIX-based operating system, Mac OS X offers a unique combination of technical elements to the discerning geek, such as the fine-grained multithreading of the Mach 3.0 kernel, tight hardware integration and SMP-safe drivers, as well as zero configuration networking. Panther integrates features from state-of-the-art FreeBSD 5 into Darwin, the Open Source base of Mac OS X, to provide enhanced performance, compatibility and usability.

ColorSync profile

Command-line environment
UNIX users will quickly recognize the robust UNIX environment that underlies Mac OS X. That environment is accessible at any time from the Terminal application. You can also run commands that don’t require arguments (such as top) by double-clicking them in the Finder. With the thousands of man pages included in Mac OS X, you can quickly find all your favorite UNIX tools.

UNIX utilities and scripting languages
All of the standard UNIX utilities and scripting languages are included in Mac OS X: editors such as emacs, vim and pico; file management tools such as cp, mv, ls and gnutar; shell scripts including bash (the default shell), tcsh (csh) and zsh; and scripting languages such as Perl, PHP, tcl, Ruby and Python. Python users can also script the powerful Quartz compositing engine. Learn more in the Mac OS X for Unix Users technology brief.

Universal libraries
Open source As part of Darwin, Mac OS X provides a robust set of optimized libraries, making it easy to port your existing UNIX code. A standard, multithreaded C library (libc) includes support for such capabilities as reentrant variants of standard functions (such as strtok_r), easing the porting of thread-aware applications to Mac OS X. POSIX API support, including POSIX thread signaling (such as pthread_kill, pthread_cancel) and I/O (such as pread/pwrite), allows you to easily port POSIX applications. Panther includes an in-kernel implementation of the asynchronous input/output APIs (aio_*) defined in the POSIX.4 standard, which simplifies porting of applications that receive input and output on different threads. This is particularly important for high-performance applications such as databases.

The wide character datatypes (wchar_t and others) are a standard way for UNIX scripts and programs to support non-Roman character sets such as Unicode, which may contain more than 8 bits per character. GNU libiconv is an open source, cross-platform version of iconv (the standard UNIX function for converting between different local text encodings), which also supports converting to and from Unicode. This is especially important for open source applications such as Samba that have added internationalization support.

UNIX/Linux portability APIs, including System V semaphores, make it easy to port applications from System V-based versions of UNIX such as Linux and Solaris. Panther emulates the System V poll system call on top of BSD’s native select API, and the dlopen/dlclose dynamic library access routines — used with Executable and Linking Format (ELF) binaries on Linux, BSD, and other operating systems — on top of the native Mach-O format used on Mac OS X. With these routines available on Mac OS X, developers of cross-platform UNIX applications can port libraries and applications to Mac OS X with little or no change to their existing applications.

X11 window system
X11 for Mac OS X provides a complete X11 Window System as an optional installation for Panther, enabling Mac OS X to run UNIX GUI applications side by side with Cocoa, Carbon and Java applications. X11 for Mac OS X is a complete X11R6.6 implementation corresponding to XFree86 4.3, the same open source project used for X11 on Linux, BSD,and other UNIX-based systems.

 
 
 
Copyright © 2003 Apple Computer, Inc. All rights reserved.