Mac OS X Snow Leopard
开发者 | 苹果公司 |
---|---|
操作系统家族 | Mac OS X |
源码模式 | 封闭源代码(包含开源组件) |
发放给生产商 | 2009年8月28日 |
当前版本 |
|
更新方式 | Apple Software Update |
支持平台 | IA-32、x86-64[1] |
内核类别 | 32位与64位混合内核 |
许可证 | APSL和Apple EULA |
前一代 | Mac OS X Leopard |
后一代 | Mac OS X Lion |
官方网站 | |
支持状态 | |
2014年2月25日之后停止支持 (2016年1月发布升级至Mac App Store的更新档)[2] |
Mac OS X v10.6 Snow Leopard是由苹果公司所发布及贩售的操作系统,适用于麦金塔电脑,于2009年8月28日在全球上市,分为个人版和可供五人使用的家庭版。这是Mac OS X一个简单、功能更强大完善的版本。它提供了大量的改进功能、新一代技术、内置的Microsoft Exchange Server 支持以及新辅助功能。
本版本在OS X Mavericks发布后,仍继续发售光盘版本。
开发者相关技术
[编辑]64位构架
[编辑]Mac OS X v10.4在支持64位的机种上增加了有限的64位应用程序支持;Mac OS X v10.5将64位应用程序支持扩展到了大多数Mac OS X的库和框架上。
Mac OS X 10.6中,绝大多数内置的应用程序都已经重新编译以支持x86-64架构(除了iTunes,Front Row,Grapher和DVD播放程序以外)[3]。利用Mach-O的通用二进制特性,这些程序在32位处理器上可以以32位模式运行,在64位处理器上则可以以64位模式运行,在加载时自动选择最合适的版本。同时,内核和内核扩展也可以使用通用二进制格式以同时支持两种构架。
同时,为了可以在某些机种上以64位模式运行,Mac OS X 内核也进行了重新编译。在不是默认运行64位模式的机种上,用户需要在启动时按住数字键6和4以使用64位内核[4][5],或更改com.apple.Boot.plist使得以默认64位内核方式启动。反之,在默认加载64位内核的情况下,可以在开机时按住数字键3和2以使用32位内核。64位内核只支持64位的内核扩展,反之亦然;普通应用程序则无此限制,唯独32位程序只能使用4GB的内存空间[6][7] 。
在10.6.0版系统上,只有下列机种可以开启64位内核功能:[8][9]
产品 | 型号名 | 64位内核状态 |
---|---|---|
Early 2008 Mac Pro | MacPro3,1 | 可开启 |
Early 2008 Xserve | Xserve2,1 | 默认 |
MacBook Pro 15″/17″ | MacBookPro4,1 | 可开启 |
iMac | iMac8,1 | 可开启 |
Unibody MacBook Pro 13″ | MacBookPro5,5 | 可开启 |
Unibody MacBook Pro 15″ | MacBookPro5,1 | 可开启 |
Unibody MacBook Pro 17″ | MacBookPro5,2 | 可开启 |
Mac Pro | MacPro4,1 | 可开启 |
iMac | iMac9,1 | 可开启 |
Early 2009 Xserve | Xserve3,1 | 默认 |
Early 2009 Mac mini | Macmini3,1 | 可开启 |
^* Amit Singh与Allen Dunahoo声称early 2009 Mac Mini 和 Early 2009 MacBook 13" 机型有可能可以开启64位内核。若使用OnyX,也可以让Unibody MacBook使用64位内核[10]。
Grand Central Dispatch
[编辑]Grand Central Dispatch可以利用新的Mac上的多核处理器获取更好的性能。由于为多核CPU进行程序优化的技术难度,多数程序并没有有效的利用多核的特性[11],因此,多核处理器的能力常常没有得到完全的应用。Grand Central Dispatch包含一些可以帮助开发者有效的利用多核特性进行并行计算的API。
Grand Central Dispatch将线程编程的焦点移到了编程自身,而将开发者从原有的将任务平均分配到各个核上、清除无用线程使用的内存等繁琐过程中解放出来,使优化性能变得更为容易。Apple也给出了用于开发者编写的程序的Grand Central Dispatch API,也允许开发者分析Grand Central Dispatch程序中特定模块的性能。[12]
一种称为“块”(blocks)新的C语言和Objective-C语言特性使得开发者可以更简便的优化程序,以应用Grand Central Dispatch的优点。[13][14][15]
OpenCL
[编辑]OpenCL允许在任意程序中利用GPU的运算能力,而不限于类似于3D游戏的偏重图形的程序。OpenCL自动的为Mac中的GPU种类而优化,并利用可用的运算能力。OpenCL提供了连续的数值精度,并修正了妨碍基于GPU编程的一个问题。[16]
OpenCL的目的与Nvidia的C语言框架CUDA以及微软的Direct3D 11计算技术相似。
OpenCL只能在下列GPU上工作: NVIDIA GeForce 320M, GT 330M, 9400M, 9600M GT, 8600M GT, GT 120, GT 130, GTX 285, 8800 GT, 8800 GS, Quadro FX 4800, FX 5600 and ATI Radeon HD 4670, HD 4850, HD 4870, HD 5670, HD 5750, HD 5770, HD 5870.[17]
CUPS
[编辑]CUPS (是在许多类Unix系统上应用的打印系统)被升级到了1.4版,提供了改进的驱动,网络,Kerberos支持以及一些性能改进。CUPS 1.4也是第一个支持互联网打印协定2.1版的实现。[18]
电源管理
[编辑]电源管理也有所改进,包含了支持了更多硬件按需唤醒功能的实现。[19] 按需唤醒利用了一些在AirPort与Time Capsule等路由设备Sleep proxy service中实现的优点,[20]因此计算机可以在路由器响应mDNS请求时睡眠。若请求需要唤醒主机,则路由会向睡眠的计算机发送必要的特殊唤醒数据包[21] 。
发行版本
[编辑]参考文献
[编辑]- ^ Mac OS X v10.6 Snow Leopard - Installation and Setup Guide (PDF). 苹果公司. 2009-09 [2009-09-20]. (原始内容存档 (PDF)于2011-06-14).
- ^ Apple updates Snow Leopard so you can continue to upgrade from Snow Leopard. Ars Technica. [2017-02-01]. (原始内容存档于2016-01-28).
- ^ Mac OS X — New technologies in Snow Leopard. Apple. [2009-08-29]. (原始内容存档于2009-11-12).
- ^ Mac OS X Server v10.6: Starting up with the 32-bit or 64-bit kernel. Apple. [2009-09-06]. (原始内容存档于2009-08-31).
- ^ 64-bit Snow Leopard defaults to 32-bit kernel. CNET. [2009-09-06].[失效链接]
- ^ John Siracusa. Mac OS X 10.6 Snow Leopard: the Ars Technica review. Ars Technica LLC. [2010-06-20]. (原始内容存档于2012-08-13).
- ^ Mac OS X Technology. Apple. [2010-05-24]. (原始内容存档于2009-11-12).
- ^ John Siracusa. Mac OS X 10.6 Snow Leopard: the Ars Technica review. Ars Technica: 5. [2009-09-06]. (原始内容存档于2012-08-13).
- ^ Apple, Inc. Mac OS X Server v10.6: Macs that use the 64-bit kernel. 2009-08-27 [2009-11-22]. (原始内容存档于2010-12-05) (英语及日语).
Learn which Macs can use the 64-bit kernel in Mac OS X Server v10.6, and which use it by default.
- ^ Mac OS X Internals: The Blog << Blog Archive >>; Is Your Machine Good Enough for Snow Leopard K64?. [13 October 2009]. (原始内容存档于2020-06-02).
- ^ John Siracusa. Mac OS X 10.6 Snow Leopard: the Ars Technica review. Ars Technica. August 31, 2009 [2010-09-16]. (原始内容存档于2012-05-09).
- ^ Markoff, John. Apple in Parallel: Turning the PC World Upside Down?. Bits (New York Times). 2008-06-10 [2008-06-11]. (原始内容存档于2011-01-11).
- ^ Lattner, Chris. "Blocks" in Clang (aka closures). 2008-08-27 [2010-09-16]. (原始内容存档于2011-09-04).
- ^ Quatermain, Alan, Comment on Article: Cocoa for Scientists (Part XXVII): Getting Closure with Objective-C, MacResearch, 2008-09-01 [2010-09-16], (原始内容存档于2008-12-01)
- ^ Grand Central Dispatch A better way to do multicore. (PDF), Apple Inc, 2009 [2010-09-16], (原始内容 (PDF)存档于2009-06-12)
- ^ OpenCL Taking the graphics processor beyond graphics. (PDF), 苹果公司, 2009 [2010-09-16], (原始内容 (PDF)存档于2009-07-11)
- ^ Apple Inc. Mac OS X Snow Leopard: Technical Specs. Apple Inc. [2009-06-12]. (原始内容存档于2012-05-19).
- ^ Sweet, Michael. IPP/2.1 support now in CUPS 1.4svn!. Bits (Printer Working Group). 2009-01-09 [2009-06-05]. (原始内容存档于2009-08-15).
- ^ Glenn Fleishman. Wake on Demand lets Snow Leopard sleep with one eye open. Macworld.com. 2009-08-28 [2009-09-15]. (原始内容存档于2009-09-16).
How it works", "Energy Saver preference pane
- ^ Mac OS X v10.6: About Wake on Demand (Apple Article HT3774). Apple. 2009-08-27 [2009-09-15]. (原始内容存档于2009-08-31).
Setting up Wake on Demand", "Setting up a Bonjour Sleep Proxy
- ^ Note: The networking industry nomenclature for a wake-up-packet is Magic Packet