[iOS] 写在前面

来源:互联网 发布:如何提高淘宝权重 编辑:程序博客网 时间:2024/05/13 16:13

简介

iOS用久了,就会想知道它到底怎么管理硬件资源和软件资源的。就想看看它里面到底是什么?就如同小时候玩玩具,时间长了就想拆开看看内部的结构。我打算把我探索iOS的感悟给纪录下来、以及它对我们写程序到底有什么用?今天就谈点和技术没有关系的内容,扒扒苹果公司的发展。

  • 乔布斯创建公司-离开公司-回归公司
  • Mac OS X是什么?
  • iOS是什么?

乔布斯创建公司-离开公司-回归公司

乔布斯在创业初期的时候,找到了史蒂夫·沃兹尼亚克(Steve Wozniak)。沃兹尼亚克用现在的话来说就是一个天才极客和宅男。就这样他们的第一个产品诞生了,这个产品不是电脑,而是一个叫“蓝盒子”的东西,其实是一个让大家免费给全世界任何地方打长途电话的电路板。每个产品卖150美金。最后他们净挣了6000美金。后来乔布斯回忆说:“如果没有蓝盒子,就没有苹果公司”。

1976年,以因特尔为首的半导体公司已经相对成熟,极客们开始接触一个叫计算机的东西。于是两人再一次同样的分工,沃兹尼亚克负责设计电路板,乔布斯负责找客户。就这样苹果一代诞生了。苹果公司就这样在不经意之间诞生了。当时两人很幸运,附近正好有个卖电器的小店找到他们,要订购50台苹果一代,每个500美金。

小店老板不但做了苹果的第一个客户,还提了一个重要的建议。小店老板说,现在电脑其实都是电路板,消费者买回去后还得自己各种配置、编程,使用门槛太高了。你们应该整合这些部件,让它变成一套完整的设备。实际上这和乔布斯与沃兹尼亚克的想法不谋而合。于是,他们的苹果二代诞生了。苹果二代电脑推出之后可以说一炮而红,这款产品可以算苹果公司的第一个爆款。给苹果公司提供了源源不断的资金流。苹果二代大获成功后,乔布斯没有满足,马上开始研发第三代产品。但最后苹果三代不但没有成功,还成了一个半途而废的产品。因为个人电脑史上的一次大事就要发生了。

苹果成立三年多,正在进行第二轮融资。施乐想参与苹果公司的融资,于是乔布斯说,“如果你们给我看看施乐公司研发中心都在干什么,我就让你投资100万美金。”。施乐公司同意了,于是乔布斯带着一帮同事去参观。一开始研究中心的人并不愿意给苹果看他们的研究成果,就拿了一些不痛不痒的产品来糊弄乔布斯。这下乔布斯不干了,他们早就读了施乐的研究中心之前发表的论文和专利。于是乔布斯给施乐总部打电话施压,要求他们开放全部成果。就这样GUI(Graphic User Interface)。来到了乔布斯的面前,当时乔布斯看到这个完全震惊了。乔布斯当下就认定,这就是个人电脑的未来,施乐自己坐在一个金矿上都还不知道,实在是太笨了。

于是,乔布斯回去之后,就放弃了苹果第三代的研发,因为他知道这只不过是之前产品的改进版罢了,他决定要把这个新技术用在一条新的产品线上。这就是后来著名的,在1984年推出的麦金塔电脑。不过这个产品,也导致了乔布斯第一次人生失败,被踢出苹果公司的导火索。这个产品是划时代的产品,它是划时代的成功也是失败。成功之处:一是它的广告,二是它的发布会。感兴趣的可以搜索一下苹果的1984.它的失败在于,这个产品名不符实,麦金塔电脑有非常严重的缺陷。所以,麦金塔电脑一开始几个月的销量还不错,但是随着糟糕口碑的流传,它的销量开始大幅下滑,很快就几乎卖不动了。

麦金塔电脑的失败,可以说间接导致了乔布斯出局。当然和斯卡利也有关系,乔布斯开始指责斯卡利完全不懂产品,斯卡利则说乔布斯的脾气太烂了,而且它号称自己很懂产品,但是麦金塔电脑做的那么烂。所以1985年3月左右的时候,斯卡利想撤掉乔布斯产品负责人的职务,结果乔布斯不接受降职,反而逼宫董事会,让它们解雇斯卡利。1985年5月23日的时候,乔布斯和斯卡利在苹果高管大会上摊牌。出乎乔布斯意料的是,绝大多数的高管、顾问和同事会成员,都支持斯卡利。很快,乔布斯就正式辞职。他把自己所有的苹果股票变卖了7000万美金,只留一股。

离开苹果后,乔布斯成立了一家公司NeXT,NeXT定位为打造给企业和教育机构专门使用的电脑设备。NeXT从来没有接近成功过,后来转型成了软件开发公司。乔布斯离开期间,苹果在离开乔布斯的这段时间内过的也非常不好,于是一直在寻找一些突破点。当时他们自己的操作系统很烂,所以希望到市场上买一家做操作系统的公司。在1996年12月20日,苹果正式宣布收购了NeXT。

Mac OS X是什么?

Mac OS从诞生之日起到现在发生了天翻地覆的变化。它从一开始的小众操作系统,慢慢地进入主流市场。然而这种变化并非是一夜之间突然发生的。事实上,这是一个非常漫长且痛苦的过程,从这个过程中可以看到Mac OS差点消亡,之后却重生为“OS X”。Mac OS经历了彻底再造,整个架构推翻了重来。即使这样,Mac OS在重整旗鼓之前还面临一个重大难题——那就是苹果向Intel架构的转变,完全抛弃了在PowerPC架构上的漫长历史。

Mac OS Classic是Mac OS在OS X之前的时代的名称。在那个时代,这个操作系统乏善可陈。这个操作系统的创新确实是全新的GUI的系统。但是这个操作系统内存管理却很糟糕,而且多任务是协作式的(cooperative)——以今天的标准看,可以说是非常原始的。在协作式的多任务操作系统中,进程需要资源放弃自己的CPU时间片,如果进程行为良好,这种方式就可以很好的工作。然而如果有的进程拒绝协作,即使只有一个这样的进程,整个系统也会停止运行。

NeXTSTEP号称具有一些在当时很前卫的特性,不过NeXTSTEP偏离了作为更优秀操作系统应该走的道路,现在已经绝迹了,只剩下一个GNUStep移植。NeXTSTEP的遗产仍然存活到今天。如:Objective-C、framework、kit、build等概念。虽然NeXTSTEP本身已经不在发展,但是其中的组件在OS X中获得了新生。可以将OS X看成是Mac OS Classic和NeXTSTEP的融合,这个转变不是瞬间发生的,Mac OS经历过一个名为Rhapsody的临时操作系统,这个系统从未公布于众。然而,就是Rhapsody这个系统最终演化成了Mac OS X的第一个版本,而这个操作系统的内核就是Darwin。OS X的核心组件——Cocoa、Mach、IOKit、Xcode的Interface Builder以及很多其它组件都来自NeXTSTEP。这两个极端小众系统一个有着伟大的GUI但是设计糟糕,一个设计很棒但是GUI非常平淡。就这样融合在一起了。

Darwin是操作系统的类UNIX核心,本身由内核(Kernel)、XNU和运行时组成。Darwin是开源的(iOS中的Darwin是在RAM上的移植,这个Darwin则是不开源的),而OS X中的其它部分,即苹果提供的各种框架,是不开源的。由此可见OS X是整个操作系统的一个集体名称。

iOS是什么?

iOS在2010年之前被称为iPhone OS,之后苹果将这个操作系统改名为iOS,它是走向移动平台的OS X,从内核角度的看,它们几乎就是一个内核,当然其它核心组件还是有区别的,比如GUI等。

参考资料

  • 乔布斯创建公司-离开公司-回归公司 来自得到专栏《张潇雨·商业经典案例课》
  • Mac OS X是什么? 来自《深入解析Mac OS X & iOS操作系统》
  • iOS是什么? 来自《深入解析Mac OS X & iOS操作系统》