|
|
< Previous PageNext Page > |
Mach provides a small set of abstractions that have been designed to be both simple and powerful. These are the main kernel abstractions:
Tasks. The units of resource ownership; each task consists of a virtual address space, a port right namespace, and one or more threads. (Similar to a process.)
Threads. The units of CPU execution within a task.
Address space. In conjunction with memory managers, Mach implements the notion of a sparse virtual address space and shared memory.
Memory objects. The internal units of memory management. Memory objects include named entries and regions; they are representations of potentially persistent data that may be mapped into address spaces.
Ports. Secure, simplex communication channels, accessible only via send and receive capabilities (known as port rights).
IPC. Message queues, remote procedure calls, notifications, semaphores, and lock sets.
At the trap level, the interface to most Mach abstractions
consists of messages sent to and from kernel ports representing
those objects. The trap-level interfaces (such as mach_msg_overwrite_trap
)
and message formats are themselves abstracted in normal usage by
the Mach Interface Generator (MIG).
MIG is used to compile procedural interfaces to the message-based
APIs, based on descriptions of those APIs.
< 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 |