Mac OS X Technology Overview
PDF
Introduction
Mac OS X System Overview
A Layered Approach
The Advantage of Layers
Developer Tools
Darwin and Core Technologies
Darwin
Mach
Device-Driver Support
BSD
File-System Support
Network Support
Standard Network Protocols
Legacy Network Services and Protocols
Network Technologies
Routing and Multihoming
Zero-Configuration Networking
NetBoot
Personal Web Sharing
Networking Extensions
Network Diagnostics
Scripting Support
Threading Support
X11
Binary File Architecture
Hardware Architectures
64-Bit Support
Object File Formats
Debug File Formats
Runtime Environments
Dyld Runtime Environment
Java Runtime Environment
CFM Runtime Environment
The Classic Environment
Security
IPC and Notification Mechanisms
FSEvents API
Kernel Queues and Kernel Events
BSD Notifications
Sockets, Ports, and Streams
BSD Pipes
Shared Memory
Apple Events
Distributed Notifications
Distributed Objects for Cocoa
Mach Messaging
Core Foundation
Objective-C
Java Support
The Java Environment
Java and Other Application Environments
Graphics and Multimedia Technologies
Drawing Technologies
Quartz
Digital Paper Metaphor
Quartz 2D Features
Quartz Compositor
Cocoa Drawing
OpenGL
Core Animation
Core Image
Image Kit
QuickDraw
Text and Fonts
Cocoa Text
Core Text
Apple Type Services
Apple Type Services for Unicode Imaging
Multilingual Text Engine
Audio Technologies
Core Audio
OpenAL
Video Technologies
QuickTime
Supported Media Formats
Extending QuickTime
QuickTime Kit
Core Video
DVD Playback
Color Management
Printing
Accelerating Your Multimedia Operations
Application Technologies
Application Environments
Cocoa
Carbon
Java
AppleScript
WebObjects
BSD and X11
Application Technologies
Address Book Framework
Automator Framework
Bonjour
Calendar Store Framework
Core Data Framework
Disc Recording Framework
Help Support
Human Interface Toolbox
Identity Services
Instant Message Framework
Image Capture Services
Ink Services
Input Method Kit Framework
Keychain Services
Latent Semantic Mapping Services
Launch Services
Open Directory
PDF Kit Framework
Publication Subscription Framework
Search Kit Framework
Security Services
Speech Technologies
SQLite Library
Sync Services Framework
Web Kit Framework
Time Machine Support
Web Service Access
XML Parsing Libraries
User Experience
Technologies
Aqua
Quick Look
Resolution-Independent User Interface
Spotlight
Bundles and Packages
Code Signing
Internationalization and Localization
Software Configuration
Fast User Switching
Spaces
Accessibility
AppleScript
System Applications
The Finder
The Dock
Dashboard
Automator
Time Machine
Software Development Overview
Applications
Frameworks
Plug-ins
Address Book Action Plug-Ins
Application Plug-Ins
Automator Plug-Ins
Contextual Menu Plug-Ins
Core Audio Plug-Ins
Image Units
Input Method Components
Interface Builder Plug-Ins
Metadata Importers
QuickTime Components
Safari Plug-ins
Dashboard Widgets
Agent Applications
Screen Savers
Slideshows
Programmatic Screen Savers
Services
Preference Panes
Web Content
Dynamic Websites
SOAP and XML-RPC
Sherlock Channels
Mail Stationery
Command-Line Tools
Launch Items, Startup Items, and Daemons
Scripts
Scripting Additions for AppleScript
Kernel Extensions
Device Drivers
Choosing Technologies to Match Your Design Goals
High Performance
Easy to Use
Attractive Appearance
Reliability
Adaptability
Interoperability
Mobility
Porting Tips
64-Bit Considerations
Windows Considerations
Carbon Considerations
Migrating From Mac OS 9
Required Replacement Technologies
Recommended Replacement Technologies
Use the Carbon Event Manager
Use the HIToolbox
Use Nib Files
Appendix A: Command Line Primer
Basic Shell Concepts
Getting Information
Specifying Files and Directories
Accessing Files on Volumes
Flow Control
Redirecting Input and Output
Terminating Programs
Frequently Used Commands
Environment Variables
Running Programs
Appendix B: Mac OS X Frameworks
System Frameworks
Accelerate Framework
Application Services Framework
Automator Framework
Carbon Framework
Core Services Framework
Quartz Framework
Web Kit Framework
Xcode Frameworks
System Libraries
Appendix C: Mac OS X Developer Tools
Applications
Xcode
Xcode Editor
Debugging Environment
Research Assistant
Documentation Window
SCM Repository Management
Project Snapshots
Refactoring Tools
Build Settings
Project Versioning
Interface Builder
Dashcode
Instruments
Quartz Composer
AppleScript Studio
Audio Applications
AU Lab
HALLab
Graphics Applications
Java
Performance Applications
Utility Applications
iSync Plug-in Maker
PackageMaker
Command-Line Tools
Compiler, Linker, and Source Code Tools
Compilers, Linkers, Build Tools
Library Utilities
Code Utilities
Debugging and Tuning Tools
General Tools
Memory Analysis Tools
Examining Code
Performance Tools
Instruction Trace Tools
Documentation and Help Tools
Localization Tools
Version Control Tools
Subversion
RCS
CVS
Comparing Files
Packaging Tools
Scripting Tools
Interpreters and Compilers
Script Language Converters
Perl Tools
Parsers and Lexical Analyzers
Documentation Tools
Java Tools
General
Java Utilities
Java Archive (JAR) Files
Kernel Extension Tools
I/O Kit Driver Tools
Glossary
Revision History
Index