摘要: 由于各种缺点,干掉HFS+势在必行,然而用什么取代HFS+呢?苹果开始秘密移植下一代的文件系统—ZFS,然而在诸多因素的干扰下,MacOSX的ZFS支持却只是昙花一现,未来文件系统之路将走向何方?文件系统的新时代——ZFS为了代替HFS+,苹果开始为研发下一代文件系统招兵买马,准备大干一场。但这时Sun公司的工作让苹果的员工们为之一振。2004年,Sun公司发表了其杰出的文件系统ZFS。这是一个128位的文件系统,本为Solaris操作系统开发,于2005年10月31日并入了Solaris开发的主干原始码。后成为一个使用CDDL协议条款授权的开源项目。ZFS是一个具有高存储容量、文件系统与卷管 阅读全文
posted @ 2012-10-23 14:11 xust 阅读(466) 评论(0) 推荐(0)
摘要: HFS+和UFS文件系统同时被引入早期的Mac OS X,随着若干年的发展,HFS+提供的功能已超越UFS,使其在Mac OS X 10.5之后成为成为唯一正式的Mac OS X系统,但因为其背负许多的历史包袱,为考虑兼容性,这些陈旧的设计并不能被推翻重来,所以苹果开始秘密研发下一代的文件系统。著名BSD开发者Marshall Kirk McKusickUFS:经典的Unix文件系统在Unix系统刚诞生的远古时期,文件系统被简单地称为FS。FS只包括启动块、超级块(处于硬盘分区开头用来保存文件系统信息)、inodes(索引节点)及数据。FS文件系统在Unix系统刚诞生时还能满足新老客户的需求, 阅读全文
posted @ 2012-10-23 14:10 xust 阅读(785) 评论(0) 推荐(0)
摘要: 随着CPU与GPU合并成技术发展的趋势,苹果开发出了OpenCL框架,能够进行高速并行处理的能力使OpenCL成为了业界标准,被广泛应用。最近几年,GPU的发展吸引了很多来自科学计算界人士的目光。GPU有稳定的市场推动力—公众喜闻乐见的电子游戏产生了源源不断的升级GPU的需求—因此比CPU的更新步伐更快。从技术上讲,GPU本身就是多核架构,高端显卡往往有五百多个核心,即使低端的集成GPU也有二三十个核心,所以能够通过并行来高效处理成千上万的线程。同时,对于科学技算中的浮点计算,GPU往往通过硬件加速使其效率比传统CPU更高,因为图形渲染等工作基本都是浮点计算。GPGPU浮出水面早期的GPU只能 阅读全文
posted @ 2012-10-23 14:09 xust 阅读(255) 评论(0) 推荐(0)
摘要: 经过6年时间,4个发行版,苹果终于完成了向64位的迁移,并随着Snow Leopard的发布推出了解决并行编程问题的Grand Central Dispatch(简称GCD)技术,释放了多核系统的潜力。和10.5一样,在10.6 Snow Leopard中,苹果继续利用64位的迁移砍掉了诸多老技术,很多新技术仅以64位的模式被支持。例如重写的QuickTime X框架,虽然QuickTime X应用程序以32位和64位的模式发布,但其API仅暴露给64位。另一个例子是Objective-C 2.1的运行库,快速Vtable调度,新的和C++统一的异常处理模型,以及彻底解决对象的FBI问题等,都 阅读全文
posted @ 2012-10-23 14:09 xust 阅读(279) 评论(0) 推荐(0)
摘要: 在美国宾夕法尼亚州的东部,有一个风景秀美的城市叫费城。在这个城市诞生了一系列改变世界的奇迹:第一个三权分立的国家——美立坚合众国,就在第五街的路口诞生;举世闻名的费城交响乐团,1900年在市中心的Academy of Music奏响了他们的第一个音符。而写这篇文章时,我正坐在三十四街的宾夕法尼亚大学计算机系的一楼实验室,面前摆放着世界上第一台电子计算机——ENIAC。1946年2月14日,ENIAC问世,每秒可运行5000次加法运算或500次乘法运算,面积达170平方米,重约30吨,拉开了计算机处理器革命的序幕。这场革命是各处理器厂商长达数十年的竞赛,而摩尔定律从一开始就准确地预测了这场比赛的 阅读全文
posted @ 2012-10-23 14:08 xust 阅读(362) 评论(0) 推荐(0)
摘要: 2011年12月3日,LLVM 3.0正式版发布,完整支持所有ISO C++标准和大部分C++ 0x的新特性, 这对于一个短短几年的全新项目来说非常不易。开发者的惊愕在2011年WWDC(苹果全球开发者大会)的一场与Objective-C相关的讲座上,开发者的人生观被颠覆了。作为一个开发者,管理好自己程序所使用的内存是天经地义的事,好比人们在溜狗时必须清理狗的排泄物一样(美国随处可见“Clean up after your dogs”的标志)。在本科阶段上C语言的课程时,教授们会向学生反复强调:如果使用malloc函数申请了一块内存,使用完后必须再使用free函数把申请的内存还给系统——如果不 阅读全文
posted @ 2012-10-23 13:47 xust 阅读(404) 评论(0) 推荐(0)
摘要: Mac OS X 背后的故事(六)讲到,Cordell Ratzlaff新界面方案得到Steve Jobs的高度肯定,Steve Jobs让各开发组紧紧围绕在界面设计组周围,共同建造Mac OS X。此时,离Mac OS X第一个公共测试版的发布,仅有一年半时间。这时苹果的设计构想,还仅仅是个概念,在本篇中我们将展示Aqua的具体设计过程。设计与软件的融合开发分设计和软件两条路并行走,“两手抓,两手都要硬”。设计是个有趣的领域。有些人认为,设计就是产品的外观看上去什么样。但其实,如果细想一下,你会发现设计其实是有关产品如何工作的学问。——Steve Jobs首先,苹果定下计划,并规划整个界面设 阅读全文
posted @ 2012-10-23 13:11 xust 阅读(296) 评论(0) 推荐(0)
摘要: Interface Builder,是用于苹果公司Mac OS X操作系统的软件开发程序,Xcode套件的一部分,于1988年创立。它的创造者Jean-Marie Hullot自称是“一个热爱旅行、充满激情的摄影师”,本篇分享Hullot热爱技术的那一面——创造Interface Builder的过程。因势而动1981年, Jean-Marie Hullot拿到巴黎第十一大学的计算机科学博士资格后,开始了法国国家信息与自动化研究所(INRIA)的研究生活。Jean-Marie Hullot的名字似乎不为大众所熟知,但他设计的Interface Builder 却深入人心,创造了一个个软件神话。 阅读全文
posted @ 2012-10-23 11:32 xust 阅读(381) 评论(0) 推荐(0)
摘要: Aqua是Mac OS X Public Beta全新用户界面的名字,英文中为水的词根,寓意以水为灵感,精心设计。Steve Jobs曾介绍说,Aqua的设计是如此之美好,初次见它甚至有想亲吻的冲动。本篇Cordell Ratzlaff 引发的 Aqua 革命(上)介绍的是Aqua的起源和来历,在下篇中,我们将展示Aqua的具体设计过程。“Mac OS的图形界面就是你们那么业余的人设计的吗?”Steve Jobs开门见山地问。包括Cordell Ratzlaff在内的设计师们怯怯地点头称是。“你们就是一群白痴!”Steve Jobs骂道。这个场景发生在Steve Jobs回归不久的图形界面组组 阅读全文
posted @ 2012-10-23 11:18 xust 阅读(310) 评论(0) 推荐(0)
摘要: 1975年,美国罗彻斯特大学纽约分校,一组研究员正在做一个名为RIG(Rochester’sIntelligentGateway)的项目,它由JerryFeldman主持设计。RIG的目标是给所有本地以及远端的计算设备(比如磁盘、列印机、磁带、绘图机等)提供一组统一的访问方式,其作业系统称为Aleph。为了实现所需要的功能,Aleph的内核主要构建了一个进程交互(InterprocessCommunication,IPC)的机制。RIG的各进程,只要设置了目标端口,就可以彼此间发送信息。RIG项目没过几年就被判了死刑,主要是缺少很多有用的功能,比如端口没有保护机制,一次最多只能发送2KB大小的 阅读全文
posted @ 2012-10-23 11:17 xust 阅读(678) 评论(0) 推荐(0)