分享
 
 
 

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

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

应用程序环境

一个应用程序环境是由框架、库和服务(和相关的API)来组成的。它为使用这些相关API所开发的程序在运行时的执行,提供了必要的环境支持。应用程序环境依赖于系统软件的所有基础层。

Mac OS X目前有五个应用程序环境:Classic、BSD命令、Carbon、Cocoa和Java。本节将对Carbon、Cocoa和Java进行概述。

Carbon

Carbon是一套源于早期的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技术现在已取代了先前的技术,使用新的库是必需的。

必需替换的管理器

以前

现在的对比:

AppleTalk Manager (AppleTalk 管理器)

Open Transport(开放传输)

PPC Toolbox(PPC 工具箱)

Apple events(Apple 事件)

Standard File Package(标准文件包)

Navigation Services(浏览服务)

QuickDraw 3D

OpenGL

Help Manager(帮助管理器)

Carbon Help Manager(Carbon 帮助管理器)

Apple Guide(Apple 手册)

Apple Help(苹果帮助)

Printing Manager(打印管理器)

Carbon Printing Manager(Carbon 打印管理器)

各种驱动管理器

I/O Kit (输入/输出工具箱)

QuickDraw GX

Quartz 和 Apple Type Services for Unicode Imaging

(针对Unicode的Apple字体打印服务)

Vertical Retrace Manager(垂直回描管理器)

Time Manager(时间管理器)

推荐替换的管理器 表2所列的Carbon技术比先前的技术提供了更多的强大功能。推荐使用新的Carbon库,但也可继续使用先前的技术。

推荐替换的管理器

以前

现在的对比

TextEdit

Multilingual Text Engine (多语言文本引擎)

QuickDraw

Quartz

Event 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限制了直接对数据结构进行访问。取代了以往通过函数来返回指向那些可被解除引用的数据结构的指针和句柄,现在的Carbon提供了可用于获取和设置字段数据的accessor函数,也包括了能用于创建和解除数据结构的一些函数。

·预定义过程 (Definition procedures) 在Carbon中,视窗管理器、菜单管理器、控制管理器和列表管理器仍然允许用户创建和使用标准的和自定义的预定义过程(WDEF、MDEF、CDEF和LDEF),但您必须确保把它们编译为PowerPC代码。另外,这些管理器为预定义过程的创建与打包提供了新的规则。

·68K代码 Mac OS X不支持68K代码(除了在Classic环境下)。由于这个原因,陷阱管理器(和trap table)、混合模式管理器和Patch管理器在Carbon中都不能使用,或者在很大程度上限制了对它们的使用。基于同样的原因,许多其它功能也从Cabon中被去除了。

Carbon管理器或者由Carbon API所创建的各种守护进程、应用程序和框架都是MacOS X的常用部件。举例来说,在Mac OS X中,控制事件和管理应用程序进程的系统进程是由Carbon管理器来实现的,核心服务层的许多管理器也是基于Carbon的,而且Finder也是一个Carbon应用程序。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有