天下网吧 >> 网吧天地 >> 网吧行业 >> 网络追踪 >> 正文

苹果新Mac OS X雪豹 为多核未来作准备

2009-9-2中关村在线佚名
    苹果8月28日正式推出新版操作系统Mac OS XSnowLeopard(雪豹),但这次更新真正的重要性将在日后逐渐浮现。

  那是因为Mac OS X10.6开启了苹果解决电脑业一个整体困境的长期工作:如何从现代处理器中挤出更多效用。苹果没有在SnowLeopard塞满立即可用的新功能,而是努力适应处理器能同步处理许多工作,而非快速处理单一工作的新现实。

  Mac OS X营销经理Wiley Hodges说:“我们要替未来打好基础。”

  苹果在今年6月的全球开发者大会(WWDC,Worldwide DeveloperConference)上,透露该计划名为GrandCentralDispatch,但许多细节仅与签约保密的程序开发者分享。现在该公司开始公开更多内容,和其他利用绘图芯片与英特尔64位处理器的深度计划。

  这些动作让苹果的脚步与运算界的主流变化更一致。多年来,如英特尔和AMD等芯片厂商,一直持续增加处理器的单位速率,程序设计师也习惯了每一代新产品都有性能提升。但几年前,阻碍单位速率无限上升的问题出现了。

  首先,芯片真正发挥的性能非常少,因为速度较慢的内存无法提供更多资料供其处理。更糟的是,芯片需要更多电力,同时制造出大量又难以处理的热能。因此,主流多核心时代就此展开,处理器现在大都具备多个运算引擎,可同时运作。对某些可分割成独立片段的工作而言,这是绝对有利的发展。但程序设计师大都惯于线性思考,用一连串接续的步骤执行工作。

  Grand CentralDispatch(简称GCD),这个纳入SnowLeopard的元件,是特别用来消除许多平行程序设计的困难。苹果表示,使用GCD可以轻松地变更现有软件,并且由操作系统代替程序设计师,处理复杂的例行管理工作。

  平行程序设计的难题

  整体而言,Illuminata分析师GordonHaff认为,电脑运算业现在才准备好积极解决平行程序设计的难题。他说,如果构建成熟的平行程序设计工具是一本十个章节的书,业界目前只进展到第二章。但在没有替代方法的情况下,这本书还是得继续完成。Haff说:“它必须完成。信息科技的历史可证,需要实现的事情,必然会实现。”

  程序设计师因应多核心处理器和多核心主机的方法之一,是通过所谓的线程概念。一般来说,一个线程就是一个独立的运算操作。程序设计师利用多核心处理器的方式,是每一个核心指派一个线程。问题解决了,是吗?

  没那么容易。线程有包袱,每一个都需要内存空间和时间开启。程序必需根据处理器提供的核心数,分拆成不同数量的线程。程序设计师要担心所谓的“locking”(锁定)问题,提供一个机制,确保某个线程不会改变另一个线程已在使用的资料,和某个已排程的程序不会妨碍另一个同时在跑的程序。

  某些既有工具可以减轻上述难题,如英特尔的ThreadingBuildingBlocks,但线程还是很复杂。Hodges说:“我们认为这部分需要从基础上重新思考,我们要让多核心应用软件的开发更容易。我们把管理程序代码的责任交给操作系统,应用程序开发者就不必同时负责编写和维护。”

  GCD的核心机制是区块与伫列。程序设计师将程序代码分成不同区块,然后告诉应用软件如何制作管理那些区块实际执行的伫列。区块执行可与特定事件相连,如网络信息的抵达、文件变更,和鼠标点击。

  苹果希望程序设计师会喜欢这种区块执行的好处:旧的程序代码可轻松地用区块翻新改进,不需大费周章地重写即可测试;不执行时,它们不会占据太多资源和空间,也有足够的弹性压缩进或大或小的程序代码。Hodges说:“线程制作有许多限制,让你必须把程序分割的数量尽可能降低。利用GrandCentralDispatch,你可以随意把程序分割成任何你想要的数量。”

  GCD途径的另一个差异是中央化。操作系统负责管理所有应用软9 7 3 1 2 4 8 :

本文来源:中关村在线 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行