|
|
< Previous PageNext Page > |
The fundamental services and primitives of the Mac OS X kernel are based on Mach 3.0. Apple has modified and extended Mach to better meet Mac OS X functional and performance goals.
Mach 3.0 was originally conceived as a simple, extensible, communications microkernel. It is capable of running as a stand–alone kernel, with other traditional operating-system services such as I/O, file systems, and networking stacks running as user-mode servers.
However, in Mac OS X, Mach is linked with other kernel components into a single kernel address space. This is primarily for performance; it is much faster to make a direct call between linked components than it is to send messages or do remote procedure calls (RPC) between separate tasks. This modular structure results in a more robust and extensible system than a monolithic kernel would allow, without the performance penalty of a pure microkernel.
Thus in Mac OS X, Mach is not primarily a communication hub between clients and servers. Instead, its value consists of its abstractions, its extensibility, and its flexibility. In particular, Mach provides
object-based APIs with communication channels (for example, ports) as object references
highly parallel execution, including preemptively scheduled threads and support for SMP
a flexible scheduling framework, with support for real-time usage
a complete set of IPC primitives, including messaging, RPC, synchronization, and notification
support for large virtual address spaces, shared memory regions, and memory objects backed by persistent store
proven extensibility and portability, for example across instruction set architectures and in distributed environments
security and resource management as a fundamental principle of design; all resources are virtualized
Mach Kernel Abstractions
Tasks and Threads
Ports, Port Rights, Port Sets, and Port Namespaces
Memory Management
Interprocess Communication (IPC)
Time Management
< Previous PageNext Page > |
Last updated: 2006-11-07
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |