Darwin
接口的易用性是Mac OS X的基石,以UNIX为系统内核使Darwin具有极佳的稳定性、可靠性和性能。Darwin拥有许多技术:Mach 3.0、基于FreeBSD 5的操作系统服务环境、高性能的网络设施和多文件系统支持。Darwin具有模块化的特征,可动态添加和卸载驱动程序,还有良好的网络扩展性。
Mach
Mach是Darwin的中心。它提供了操作系统的许多重要功能,这些功能对应用程序而言是透明的。它处理CPU的使用和内存管理,系统调度,内存保护,实现了“以消息为中心”的架构,用于实现多进程信息传递。它为系统提供:
• 内存保护。一个进程如果意外的将数据写入系统的其它进程,会导致数据丢失或系统崩溃。Mach避免这种情况的发生,Mach让系统的一部分不会破坏其它的部分。
• 抢占式多任务。Mach监视CPU,调度任务(task)的运行,保证系统的高效率和资源利用。由系统决定一个任务的执行时间,而不是另一进程
• 虚拟内存。每个进程有自己的唯一的地址空间。32位应用程序有4GB的地址空间,64位应用程序有18EB的地址空间。Mach处理从任务中虚内存到物理内存的映射。在任意时刻,只有一部分虚内存实际驻留在物理内存中。物理内存在需要时被换入(page in)。Mach使用内存对象(memory objects)的概念让一个任务映射一部分内存,逆映射,并送入另一任务
• 实时支持。对时间敏感的应用程序保证低延迟。
Mach也支持合作多任务(cooperative multitasking),强占式线程(preem