ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2522回复:1

我贴一篇基础:Mac OS X 的特性

楼主#
更多 发布于:2002-11-20 13:56
Mac OS X 的特性
(2002.07.02)   来自:《程序员》杂志    
 
 
 
  
 
目录

前言
稳定性和超强性能
用户界面
协同能力
开发选项
总结

前言

通过Mac OS X(“十”),苹果再次确立了其在尖端技术和设计感召力方面的领导地位。这是任何一个卓越的操作系统的标志。Mac OS X不仅保留了其前身版本的闻名于世的易用性,而且依靠其可靠性、稳定性、可扩展性和显而易见的超高性能而成为业界领先的现代操作系统。由此,它也为下一个十年的开发商创新奠定了坚实的基础。
Mac OS X是一个完全重建的Macintosh操作系统版本。它扩展了苹果的技术优势,比如工业标准的网络性能和业界领先的界面设计。重要的是,Mac OS X结合了许多功能来支持那些过去传统商与Macintosh无关的多种科技,比如UNIX和Java 2标准版。这种独特的技术融合为开发者提供了出色的稳定行、高性能和协同能力,同时还拥有一个精美设计的、典雅的和直观的用户界面。因此,Mac OS X为开发和使用两个方面都带来了新的机遇。
本文将为大家展示Mac OS X的技术概况,以及这些技术为开发商提供的利益和为开发提供的选项。

Mac OS X: 稳定性和超强性能


苹果和开放资源
苹果是第一个将开放资源(Open Source)开发作为其软件发展战略的一个重要组成部分的计算机公司。Mac OS X的核心,Darwin,本身就是一个开放资源项目。这种操作系统开发技术允许开发商和学生观看和学习Darwin源代码,并且提交自己的建议与修改意见。开发商可以通过在www.opensource.apple.com上注册而参加Darwin开放资源项目。


稳定性和超强性能

Darwin
Mac OS X的稳定性来自系统的开放资源核心Darwin。Darwin集成了多项技术,包括Mach 3.0 内核、基于BSD UNIX (Berkeley Software Distribution)的操作系统服务、高性能的网络工具,以及对多种集成的文件系统的支持。此外,Darwin的模块化设计使开发商可以动态地加载设备驱动,网络扩展和新的文件系统等。

系统稳定性的一个重要因素是Darwin先进的内存保护和管理系统。Darwin为每个程序或进程分配单独的地址空间,利用这种坚固的结构保护程序,来确保系统的可靠性。Mach 内核利用内存对象的抽象元素(abstraction)扩展了标准虚拟内存的语义范围。这使Mac OS X可以同时管理不同的应用程序环境,而同时展现给用户一种无缝整合的体验。

对于内核的开发商,Darwin提供了网络内核扩展(NKE)工具。它允许开发商创建网络模块,甚至可以动态加载或卸载整个协议堆栈。NKEs也使自动配置协议堆栈和轻松监视与修改网络交通成为可能。在数据链和网络层,它们还可以接收来自设备驱动程序的异常文件的注释。

由于Mac OS X是专门为网络世界设计的,因此Darwin也自然支持多种文件系统。基于对BSD的扩展和一个增强的虚拟文件系统(VFS)设计,Darwin的文件系统组件使用一种层结构,其系统是可堆叠的。它还引进了另外几个通用的特性:允许可移动介质,包括USB和FireWire设备,基于URL的宗卷的加载,一个统一的高速缓冲存储器,以及基于UTF-8的长文件名。

Darwin也提供了以下高级功能:
-依靠Mach内核实现的抢先与协同多任务。
-支持多线程的增强的对称多重处理(SMP)功能。
-针对时间敏感的媒体应用程序实时支持低容余(low-latency )访问处理器 资源。
-面对对象的设备驱动程序编程架构称为I/O套件。通过I/O套件创建设备 驱动程序可以轻松地实现真正的即插即用、动态设备管理(“热插拔”)和电源管理。

图形系统

Mac OS X集合了三个强大的图形技术:Quartz, OpenGL和QuickTime,使开发商可以将图形技术提高到用户在桌面操作系统种从未见过的境界。


Quartz
Quartz由一个高性能的,简洁的窗口服务器和一个用于二维(2D)形状的图形渲染库组成。窗口服务器具有许多先进的性能,如与设备无关的色彩和像素深度、远程显示、分层合成,以及用于自动窗口修复的缓冲窗口。
Quartz的渲染模块基于跨平台的便携式文档格式(PDF)标准,使开发商可以在任何Mac OS X的应用程序中方便地嵌入和操作PDF数据。它带来的优势包括自动PDF生成和存储为PDF、自动屏幕图形预览、将PDF数据转换为打印光栅数据或PostScript,以及为所有打印机提供协调一致的特性集合?依靠Quartz的分层合成引擎允许开发者创建独特的屏幕效果,它以“视频混合器”(Video mixer) 模型代替了传统窗口系统的切换模型,该模型可以使屏幕上的每个像素都可以实时在多个窗口中享用。并且允许在图形用户界面的不同状态之前实现平滑的转换。
Quartz的另一个重要特性就是它能够进行窗口位图缓冲。在Mac OS X中,每个窗口都是由一个包括透明(alpha通道)和抗锯齿信息的位图来表示。位图被缓存后,就允许窗口服务器“记忆”一个应用程序窗口的内容,并且不涉及原应用程序就可以重新合成窗口,位图缓冲不需要附加的开发工作就可以实现增强的图形性能。


Quartz还为开发商提供了以下特性:
-利用浮点协作系统和高精度的矢量处理功能可以实现图形和文字的即时抗锯齿。
-直接访问视频帧缓冲。
-自动检测合享用由PowerPC G4处理器的极速引擎(Velocity Engine)实现的浮点协处理器的优势 。
-高质量的屏幕渲染。
 
OpenGL
对于三维(3D)图形,Mac OS X配备了工业标准OpenGL的一个优化版本。它使编写成Open GL的代码的便携性极高,并且可以创造极为逼真的视觉效果。OpenGL是当今应用最广泛的图形标准之一,它非常适用于游戏,动画,CAD/CAM,医学图像和其它一些需要丰富的、坚固的架构来实现二维(2D)和三维(3D)视觉效果的应用程序。
Mac OS X的Darwin基础提高了OpenGL的性能。对于那些管理类似大型材质的OpenGL资源的应用程序来说,Mac OSS X可以非常高效地将材质信息从程序端传送到3D图形卡上,并且保证最佳的效果和帧频率。
QuickTime
Mac OS X包含了最新版本的QuickTime。它是一种超强的多媒体技术,用于操作、增强和存储视频、声音、动画、图形、文字、音乐,甚至360度虚拟现实。它还能够支持实时的或已存储好的数字视频的流式传播(Streaming)。作为一种跨平台的技术,QuickTime不仅可以在Mac OS X上发布内容,还支持 Mac OS 8、Mac OS 9、 Windows 95、Windows 98、Windows NT,以及Windows 2000。
为了增强其跨平台的功能,QuickTime支持所有主要的图像文件格式,包括BMP, GIF, JPEG, TIFF和PNG。它也支持各种重要的专业视频文件格式,包括AVI, AVR, DV, M-JPEG, MPEG-1和 OpenDML。对于网络流式传播来说,QuickTim支持HTTP,以及RTP (实时传输协议) 和 RTSP (实时流式传播协议)。
通过QuickTime的插件,QuickTime的数码视频流式传播功能可以扩展到在所有流行的web浏览器,包括Internet Explorer, Netscape Navigator和America Online。该插件支持30多个不同的媒体类型,使浏览超过80%的Internet媒体成为可能。QuickTime还具有其它先进的Web流式传播性能,?


Mac OS X: 用户界面


使用界面创建器迅速开发界面
界面创建器(Intertace Builder)是针对应用软件的苹果用户界面设计工具。使用其图形编辑环境的开发商,实际上能够管理创建一个精心设计的用户界面的方方面面,而且如此开发的用户界面完全符合Mac OS X的用户界面规范。这使开发者可以快速地创建和测试程序界面元素,而将学习?界面创建器和项目创建器(苹果集成开发环境)一起工作,使程序设计和开发更加高效,更有利于编写高度可靠和视觉漂亮的应用程序。


用户界面
Mac OS X的强大功能和先进科技的最为形象的诠释就是它新的用户界面Aqua。苹果将其在用户界面设计方面的领先科技应用于Aqua结合了许多Macintosh用户所希望拥有的品质和特性,同时添加了许多先进特性使无论是专家还是新手都会有所收益,而易用性则渗透至每一个特性和功能之中。 与苹果的设计哲学一致,视觉效果的增强不仅仅提供了漂亮的图像,还包括了对系统的功能与操作方式的暗示。这种以用户为中心设计的一个最好的例子就是“单”(Sheet),它是一个直接附着在相应文件的标题栏上的非独立的(non-modal)对话框,可直观地与文件和动作链接起来,对话单的非独立本质可以防止应用程序防碍系统和干扰用户的工作流程。
令开发商受益的Mac OS X用户界面特性之一为它的程序打包方式。开发商可以利用程序打包将一个应用程序的可执行部分和有关的多个库和资源文件组合在一起,这样用户看到的仅仅是一个单独的图标。因此开发商可以简化安装过程,并在同一捆绑(Boundle)中同时打包国际化和本地化软??的各种版本。
 

Mac OS X: 协同能力


协同能力
Mac OS X前所未有地采用了许多技术和标准以便和其它平台进行协同工作。它为开发商和使用者双方都提供了机遇,可以以崭新方式与空间使用苹果电脑。


网络与文件系统
Mac OS X可以管理多种文件格式与网络协议。基于一种增强VFS的设计,文件系统支持以下本地格式:
-通用文件系统(UFS),类似大多数UNIX操作系统的标准宗卷格式,支POSIX文件系统语义(Semantics),这对许多服务器应用程序来说是非常 重要。
-通用磁盘格式(UDF) 用于DVD卷宗
-ISO 9660,CD-ROM卷宗的标准格式。
-Mac OS标准格式(HFS),Mac OS 8.1以前的Macintosh系统使用的格式。
-Mac OS 扩展格式(HFS+),以Mac OS 8.1到Mac OS X系统所使用的缺省格式。

Mac OS X支持以下工业标准的协议:
-TCP/IP (传输控制协议)和UDP/IP(用户Datagram协议), 具有网络层互连网协议(IP)功能的传输层协议。
-PPP(点对点协议), 用于调制解调器拨号连接。
-PAP(打印机访问协议), 用于假脱机打印和网络打印。
-HTTP, 用于在web服务器和浏览器之间传输web页面的标准协议。
-FTP, 用于在TCP/IP网络上的计算机之间移动文件。
-DNS, 用于将主机名称映射到IP地址上的标准Internet服务。
-SLP, 用于在IP网络上的资源(打印机,服务器,传真机等)的自动查寻。
-DHCP和BOOTP,在特定的网络中自动分配IP地址。
-LDAP, 用于定位在一个网络中的组,个体和资源,如文件和网络设备。
-NTP(网络时间协议), 用于同步客户端时钟。

Mac OS X为许多硬件互连方式提供了包括以太网(10/100/1000Base-T)和支持调制解调器,ISDN,DSL等的串行互连。Mac OS X内置了通过AirPort (IEEE 802.11)实现的无线网络,以及提供了通过USB (通用串行总线)和 FireWire (IEEE 1394)的外设互连。
Macintosh系统
由于Darwin具有可以同时管理多个应用程序环境的能力,所以Mac OS X可以与前版本的Mac OS协同操作。两个Mac OS X环境,Classic和Carbon,就是专门为这种协同操作需要设计的。


Mac OS X: 开发选项


Classic环境实际上是运行在Mac OS X保护内存空间中的全版Mac OS 9.1,因此大多数与Mac OS 9兼容的软件都可以与Mac OS X的软件共同运行。这使用户在升级到Mac OS X时不必担心软件的兼容性。Carbon则是完全的Mac OS X本地环境,它允许程序员可以享受所有Mac OS X的高级特性。

Java
Mac OS X配备一个完整的Java 2 标准版本 ( J2SE) 1.3版,其中包括HotSpot虚拟机。苹果的Java版本的优势包括“自由”通过Swing访问Aqua用户界面元素连地的抢先多任务,多处理器支持(无需附加编码),以及将Jar文件作为共享库处理。最后的优势就是增强了处理速度并减少了依赖同样档案的应用程序(如套件中的应用程序)对内存的要求。
另外,Mac OS X直接将Java窗口工具箱嵌入到了Mac的本地窗口工具箱中,使Java应用程序和小程序享受Quartz的图形性能。
开发选项
有多种用于Mac OS X的开发方式。单独的技巧,爱好的语言和工具,目标用户群,以及推向市场的时间要求都将影响一个开发商的方向:
Carbon
Carbon APIS基于早期的Mac OS APIS,Carbon使软件可以利用Mac OS X的特性,如多处理器支持和Aqua用户界面,同时也专门设计允许与老版本的Mac OS兼容。
Cocoa
Cocoa的应用程序环境直接运行于Mac OS X中。对那些希望使用快速程序开发(RAD)工具和面象技术为Mac OS X版开发的人来讲,Cocoa架构提供了一个快速而完整的方案。这些架构同时提供了Java 和Objective-C的APIS。


Mac OS X: 总结

总结
本文仅仅对Mac OS X中的业界领先技术的唯一组合进行了粗略的描述。在此强调的开发选项为来自许多不同背景的开发商,移植和创建革命性的、极具竞争力的Mac OS X应用程序展现了巨大的机遇。
如需了解更多有关Mac OS X的结构和特性的信息,请参考“Inside Mac OS X:System Overview”。在苹果开发商互连网站: developer.apple.com/ techpubs/ macosx/ macosx.html上有该文件和其他技术文档的PDF文件可供免费下载。
有关Mac OS X开发方面深入的文件、教程和商业信息,请浏览苹果开发商互连网站:developer.apple.com/macosx。
欲成为苹果开发商互连的免费在线成员,以便收到ADC新闻,一个每周更新的有关可使用的软件、教程和文档的电子版新闻简报,请访问developer.apple.com/membership以获得更多信息。

Java应用程序环境允许在Mac OS X开发和执行Java程序,包括100%纯粹的Java程序和小程序。在Mac OS X中的J2SE版本被设计为允许最大限度的Java程序便携性。开发者也可以使用Java的开发语言编写Cocoa程序,允许Java程序员使用类似的语言为新的平台开发。
UNIX
由于Mac OS X是构建在一个UNIX 内核之上的,因此移植基于 UNIX的应用程序到Mac OS X平台是一件相对容易的事情,并且使企业级的UNIX产品在一个普通的商用桌面平台上能够与消费和商用应用程序享受到同等的地位。
 
生命驱动,活力无限!
fulminate
驱动小牛
驱动小牛
  • 注册日期2002-05-16
  • 最后登录2006-11-27
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-10 00:48
MAC OS X也是源于 UNIX
==========腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库==========
游客

返回顶部