Leopard OS Foundations Overview

Icons Osfoundations Mac OS X Leopard builds on the already strong foundations of Mac OS X and provides numerous improvements that leapfrog competing systems. The Mach kernel and related core technologies, including Bonjour and the file system, have all been significantly enhanced. Full POSIX compliance and UNIX03 certification means you can move all your critical UNIX applications to Mac OS X quickly and easily. Security, always a strong point of Mac OS X, gets even better with improvements to authorization and certificate management.

As the sixth part in the Leopard Technology Series for Developers, this article provides a preview of some of the new and improved capabilities that Leopard provides at the system level.

Improved Mach Kernel and Core Technologies

Mac OS X brings UNIX technology to the desktop and notebook. This provides the foundation to support even the most demanding applications. In Leopard, both the Mach kernel and BSD UNIX layers have undergone substantial improvement, as have several important technologies that are core to Mac OS X.

A Scalable, Faster Mach Kernel

The Mach kernel in Leopard improves system-level performance, and lets the system scale to better utilize more capable hardware. It also better supports applications that use more threads and ever-increasing amounts of data. For example, the kernel scheduler gains automatic load balancing as well as processor idling without a dedicated idle thread. This reduces context switching. The virtual memory system allocates swapfiles on demand, reducing the number and size of swapfiles on disk. Some resources limits have been fine tuned—the maximum number of processes has been increased from 100 to 266—while others have been made dynamic.

To help you understand how the system behaves while your application runs, Leopard comes with DTrace, a comprehensive command-line monitoring utility that can probe almost any aspect of system performance. DTrace includes a large set of tools that cover most general aspects of system performance, including kernel and user space code. If there is an aspect of the system that you want to track that isn't already supported, you can create your own tool using the D programming language.

UNIX 'for the Rest of Us'

UNIX Badge Mac OS X Leopard is a fully POSIX-compliant 64-bit operating system. With POSIX compliance comes support for all required pthread cancellation points and an improved API for partial file system read and write requests. Leopard also supports the POSIX IPC interfaces specified by the X/Open System Interface extensions, part of the UNIX03 specification.

With support for the UNIX03 standard, developing and porting UNIX applications on Leopard is easier than ever. And you'll find that existing Mac OS X binaries compiled for previous versions of Mac OS X will run on Leopard without change.

Improved Service Discovery With Bonjour

Bonjour Bonjour, Apple's ad hoc networking technology, combines support for discovery and naming over TCP/IP. Used by Apple products and supported by third parties including every major printer maker, Bonjour makes using networked devices as easy as those that you connect using USB.

Leopard adds Wide Area Bonjour, based on Dynamic DNS, which brings the convenience of Bonjour service discovery to the global scale.

Programmatic access to Bonjour's functionality is enhanced with a new Ruby-based library, allowing Ruby programmers full access to Bonjour services. This new library joins the existing Objective-C, C, and Java-based libraries. These libraries enable you to easily query for a particular category of services from your application, such as all of the printers on the local network. New in Leopard is support for long-lived queries. This lets your code continue to receive notification of new services even after the original query has returned.

File System Improvements

Fsevents

At the file system level, Leopard includes several improvements. The new FSEvents framework provides the ability for your application to get notifications of file system updates. You can watch all or part of a file system tree and find out when the contents of a directory tree changes, such as when files are created, modified, deleted, or renamed. The history of change events is persistent, allowing you to retrieve events long after they've occurred.

Copying files has been enhanced with FSCopyObject. This call lets developers easily copy files with associated metadata and resource forks using the same high-performance engine as the Finder, using a single call. The file system also gains support for extended attributes on all file system types. Fine-grained Access Control Lists are turned on by default in Leopard and allow for a fine degree of control over access to files.

Better Security

Icon Keys LockedMac OS X has always been a secure operating system thanks to its UNIX underpinnings and strong security model. Leopard improves upon this with several new security features, including certificate management and authentication, and authorization.

Trust Through Certificate Management

Certificates establish a sense of trust between a user and an application or from one user to another. With Leopard and the new Certificate Preference API, you can find the preferred ID for a given name or URI, as well as find someone's preferred certificate, such as for email or chat encryption. Leopard also allows you to generate certificates and include them in signed email invitations so the user knows he or she can trust your certifcate.

Leopard also improves flexibility by using separate keychains for system-provided certificates, admin certificates, and per-user certificates. In addition, the Common Crypto library provides encryption and digest API functions for commonly-used cryptographic utilities. Symmetric encryption and HMAC are available in Leopard and include support for AES 128/192/256, DES, 3DES, CAST and RC4.

Authentication and Authorization

Leopard provides a sophisticated authentication and authorization framework that lets you confirm a user's identity and confirm that he or she has permission to perform an action, such as add a user or unlock the screen. To accomplish this, an application can interact with the securityd Security Server that provides access to the policy database and manages the Security Agent and authorizationhost server process. When queried, these processes return the most relevant result to your application.

Get Started with Leopard

The next generation of the world's most advanced operating system is now available.†Tap into the innovative†technologies†of Mac OS X Leopard and design your products with new and compelling features.†With an†ADC Premier or Select Membership, you have a range of developer resources from Apple†engineers and experts, including ADC on iTunes, Coding Headstarts, the ADC Compatibility Labs and more. Learn how ADC Memberships provide you Apple expertise. From code to market.

Updated: 2007-10-26

Mac OS X 10.5 Leopard is now an Open Brand UNIX 03 Registered Product.

 
 
 

Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2009 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice