1. OS X的层次架构
Mac OS X的内部实现可以被看做是一些层的集合(当然,任何现代操作系统无外乎是都是层次架构)。系统的较低层实现包含有所有软件所依赖的基础服务,比如内核中负责的多任务调度或外部硬件管理,又或是OpenGL框架担负的底层绘图任务。图1给出的是Mac OS X的层次图,在每一层中都给出了一些关键技术,如应用程序框架(Application Frameworks)中的Cocoa、Carbon与Java,其实在这一层中还有AppleScript、Core Data框架等等。
图1 Mac OS X的系统架构
最底层包含了核心运行环境——Darwin,它是构成Mac OS X心脏的一种BSD环境名称,而且是开源的。它由多种重要的技术组成,如FreeBSD、Mach、I/O Kit、网络、文件系统等。这一层中有内核环境(kernel environment)、设备驱动(device drivers)、安全支持、进程间通讯支持(interprocess communication support)以及被系统中所有程序调用的底层命令与服务。除了Darwin,这一层还包含了许多核心服务,其中许多是Darwin层中数据类型与函数的简单封装。想要了解更多关于Mac OS X底层内核的知识,可以从这里开始。
图像与媒体层(Graphics and Media)为播放音频视频、渲染2D/3D图形实现了强大而专门的服务。其中的一项关键技术是Quartz ,它负责Mac OS X的主渲染环境(main rendering environment)与应用程序窗口的管理工作。Quicktime是苹果用来播放音频视频、虚