5 苹果开发人员技术文档连载之-系统架构( 五 )



进程管理器

Mac OS X中,由进程管理器来管理所有的进程 。它对共享资源的访问进行控制,管理应用程序的调度和执行,并允许多个应用程序共享CPU时间和其它资源 。当用户双击一个应用程序或一个文档图标时,Finder使用进程管理器来启动应用程序 。进程管理器也提供了许多机制,允许您控制进程的执行,启动进程并获得有关进程的信息 。

对于进程管理器的相关内容参见“多样性环境下的问题和可选项”一章中的“任务和进程” 。

Carbon事件管理器

Carbon事件管理器把事件分配给合适的事件处理器,这种分配是基于事件类型和目标应用程序环境的 。视窗服务器把它接收到的事件放到目标应用程序进程的运行循环端口中 。Carbon事件管理器从端口获得事件,把它打包成合适的形式,并把它传递给应用程序(可以是 Carbon、Cocoa和Java)事件处理结构的最低层“容器” 。要实现这一点,Carbon事件管理器需要经常确定哪个窗口是当前的活动窗口,在窗口上是否有键盘输入的焦点,等等 。

更多关于Mac OS X事件处理的介绍,参见“追踪用户事件” 。

Apple事件

Apple事件是一种高级事件,应用程序可以把它发送到本地或者远程计算机上的其它应用程序中,甚至可以发送给它们自己 。Apple事件是Mac OS X中应用程序间通讯的主要机制 。应用程序主要用它们来对其它应用程序的服务和信息发出请求,或者对这些请求提供响应 。

系统级的脚本语言AppleScript,作为一项相关的技术同样也是Mac OS X的一部分 。用户可以使用AppleScript发送Apple事件给应用程序 。

剪贴板

Mac OS X中的剪贴板(也被称为“粘贴板”)是一种后台服务程序,它允许在应用程序间转移数据 。在某些方面它与Mac OS 9中的剪贴板相似,但也有一些不同的地方 。Mac OS X中的剪贴板可以对同一数据保留多种表现形式 。它被所有正在执行的应用程序所共享使用,剪贴板中包含了用户进行剪切或复制的数据 。当一个应用程序要把数据传送给另一个应用程序时,剪贴板同样也能帮助实现这一功能 。剪贴板用于复制-剪切-粘贴操作,并在拖拽操作中作为一种数据传送机制 。同时它也被服务用于在应用程序间的数据传送 。

核心服务层Core Services

核心服务层包含了那些与图形用户界面无关的系统服务 。该层包括Core Foundation、Carbon Core、CFNetwork 、Web服务和Open Transport 。核心服务层主要由两个框架构成--核心服务包罗框架(CoreServices.framework)和核心基础框架(CoreFoundation.framework) 。这一节讲的是在这些框架中比较突出的技术;对于其它技术(如:核心安全服务)不进行探讨 。

核心基础Core Foundation

Core Foundation是一种提供底层软件服务的框架(CoreFoundation.framework),所提供的这些底层软件服务不论对应用服务、应用程序环境还是对应用程序本身都是十分有用的 。使用Core Foundation所带来的一个好处就是:提高了在不同环境和层中的框架、库和应用程序之间共享代码和数据的性能 。Core Foundation也能够通过Unicode字符串来容易地实现国际化,并提供了用于实现操作系统独立性的抽象概念 。

在Core Foundation中需要使用隐含类型,您可以用这些类型来创建“对象”,每一个对象都有它自己的独立标识和值(或一系列值) 。在创建这些对象时,Core Foundation为内存分配提供了特定工具 。并且,它还具备了一些通用基本类型和多态函数,用以实现类型间操作 。

Core Foundation包括了与一些编程实体相符合的隐含类型,这些编程实体如字符串、数组、代码字典、日期、整数和树 。它还具备了一种用于插件的标准体系结构,以及一种用于动态查找、装载代码和位置相关资源的机制(和一套与其相对应的API) 。另外,它所拥有的服务能够通过URL访问本地和远程资源,设立分布式通知中心,读写XML属性列表,解析XML以及读写每个用户和每台机器的预置参数 。

推荐阅读