苹果开发人员技术之-系统架构(2).doc_第1页
苹果开发人员技术之-系统架构(2).doc_第2页
苹果开发人员技术之-系统架构(2).doc_第3页
苹果开发人员技术之-系统架构(2).doc_第4页
苹果开发人员技术之-系统架构(2).doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用程序环境一个应用程序环境是由框架、库和服务(和相关的API)来组成的。它为使用这些相关API所开发的程序在运行时的执行,提供了必要的环境支持。应用程序环境依赖于系统软件的所有基础层。Mac OS X目前有五个应用程序环境:Classic、BSD命令、Carbon、Cocoa和Java。本节将对Carbon、Cocoa和Java进行概述。CarbonCarbon是一套源于早期的Mac OS API的编程接口,并已被修改以获得对Mac OS X的支持,尤其是支持Mac OS X的内核环境。Carbon继承了大部分Mac OS已有的管理器和API,特别是继承了全部函数的70%,及典型应用程序所经常使用函数的95%。由于Carbon API非常庞大和复杂,所以我们无法在这里对它进行充分详尽的描述。但尽管如此,Carbon和它的Mac OS祖辈之间的一些区别还是值得注意的。内存为了适应内核环境的某些特性,例如高级虚拟内存和内存保护,许多API,尤其是内存管理器(Memory Manager),都经过了一些改进,限制和取消了API对系统内存或临时内存等区域的使用。举例来说,在Mac OS X中分配的临时内存也被分配在应用程序地址空间中。尽管不再有访问系统堆栈的功能,但新提供的规则被允许分配共享内存和永久内存。另外,Mac OS X中的虚拟内存系统还引入了许多寻址模式方面的变化。硬件接口 常用于硬件低级访问的Mac OS 9管理器,例如,ADB管理器、设备管理器和以太网驱动程序,没有在Mac OS X中实现。由I/O Kit提供的不同的设备驱动程序架构来协调所有对硬件设备的低级访问。资源 因为在Mac OS X中没有ROM,所以访问在ROM中的资源的相关功能在Carbon中是不被支持的。资源管理器也对资源映射访问设置了更严格的约束。必需替换的管理器 表3-1所列的Carbon技术现在已取代了先前的技术,使用新的库是必需的。必需替换的管理器以前现在的对比:可以通过设置固件密码,迫使用户只能用缺省的启动装置进行启动。值得一提的是,由于苹果公司就Intel架构的电脑反复声明不再支持“开放固件”(Open Firmware),一些关于苹果的书籍中便误认为Intel架构的电脑上不能再设置固件密码。而事实上,虽然Intel架构的苹果机采用了EFI(扩展固件界面),它们还是可以受到固件密码的保护的。无论是PowerPC还是Intel构架的电脑,具体方法如下:1 插入随机所带的系统安装盘。2 打开光盘后,到光盘下的Applications里的Utilities文件夹下,把“固件密码实用程序”复制到你正在使用的操作系统下的应用程序里的实用程序下。图为固件密码实用程序图标3 双击所复制的应用。4 点击“更改”。5 勾选“需要输入密码才能更改固件设置”,输入密码和验证。AppleTalk Manager (AppleTalk 管理器)Open Transport(开放传输)PPC Toolbox(PPC 工具箱)Apple events(Apple 事件)Standard File Package(标准文件包)Navigation Services(浏览服务)QuickDraw 3DOpenGLHelp Manager(帮助管理器)Carbon Help Manager(Carbon 帮助管理器)Apple Guide(Apple 手册)Apple Help(苹果帮助)Printing Manager(打印管理器)Carbon Printing Manager(Carbon 打印管理器)各种驱动管理器I/O Kit (输入/输出工具箱)QuickDraw GXQuartz 和 Apple Type Services for Unicode Imaging(针对Unicode的Apple字体打印服务)Vertical Retrace Manager(垂直回描管理器)Time Manager(时间管理器)推荐替换的管理器 表2所列的Carbon技术比先前的技术提供了更多的强大功能。推荐使用新的Carbon库,但也可继续使用先前的技术。推荐替换的管理器以前现在的对比TextEditMultilingual Text Engine (多语言文本引擎)QuickDrawQuartzEvent Manager(事件管理器)Carbon Event Manager(Carbon 事件管理器)Font Manager(字体管理器)Apple Type Services for Fonts(Apple字体打印服务)QuickDraw Text(QuickDraw 文本)Multilingual Text Engine (多语言文本引擎) 或 Apple Type Services for Unicode Imaging(针对Unicode的Apple字体打印服务)Resource Manager(资源管理器)Interface Builder Services(Interface Builder 服务)Script Manager(语系管理器)Unicode Utilities(Unicode 工具)普通变化 Carbon中,多种管理器中的许多功能已经被改变或删除。 数据结构 为了确保系统数据的完整性以及支持通过抢占线程来访问所有系统服务的功能,Carbon限制了直接对数据结构进行访问。$False$取代了以往通过函数来返回指向那些可被解除引用的数据结构的指针和句柄,现在的Carbon提供了可用于获取和设置字段数据的accessor函数,也包括了能用于创建和解除数据结构的一些函数。预定义过程 (Definition procedures) 在Carbon中,视窗管理器、菜单管理器、控制管理器和列表管理器仍然允许用户创建和使用标准的和自定义的预定义过程(WDEF、MDEF、CDEF和LDEF),但您必须确保把它们编译为PowerPC代码。另外,这些管理器为预定义过程的创建与打包提供了新的规则。68K代码 Mac OS X不支持68K代码(除了在Classic环境下)。由于这个原因,陷阱管理器(和trap table)、混合模式管理器和Patch管理器在Carbon中都不能使用,或者在很大程度上限制了对它们的使用。基于同样的原因,许多其它功能也从Cabon中被去除了。/game/225.htmlCarbon管理器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论