新时代新潮流 WebOS【2】解剖 Palm Pre 之劲敌,iPhone

2009-03-02 00:54

Palm Pre 在 CES 展会得了大奖,但是什么时候上市,却没有确切日期。Palm Pre 弧形的外壳里面,包藏了哪些硬件设备,至今是个谜。这个谜之所以有趣,主要在于比较 Palm Pre 和 iPhone,看看两者有什么异同。

2001 年,Apple 成功推出 iPod 以后,无论是正式媒体还是坊间,都在猜测 Apple 下一步会不会剑指手机。无论是肯定还是否定,都有证据,所以正反两方的 争论一度很热闹。尤其是 Apple 与 Motorola 的合作,刚开始各方期待甚高,后来不欢而散。正方说,无论如何,这个合作表明了 Apple 进军手机市 场的决心,反方说,Apple 此番受挫,充分领教了手机制造的深浅,所以有可能从此回避这个风激浪高的是非之地。

我们现在回顾历史,才知道 Apple 没有放弃手机,而是转与 AT&T 合作。AT&T 很有气魄,知道 Steve Jobs 是追求完美的专制暴君,与其双方合作,不如甩手不管。于是 Apple 在 Steve Jobs 乾坤独断的统帅下,历时 30 个月,耗资 15 亿美元,神神秘秘地研制 iPhone。这个过程创造了手机研制的两个记录,一个是投资,历史上从来没有 哪个企业有气魄砸 15 亿美元,去研制一款手机。另一个是保密,历史上从来没有哪款手机的研制如此神秘,不仅 Apple 内部各小组相互隔绝,不让彼此知道对 方工作细节,而且各子项目的名称也一换再换。频繁改动项目名称固然起到了迷惑外界的作用,但是也给 Apple 内部各小组工作协调带来了一些麻烦。

时间一晃到了 2007 年 1 月,Steve Jobs 高调展示了 iPhone,业界媒体为之哗然。同年 6 月 29 日下午 6:00PM,iPhone 正式投放美国市场。当日下午 2:00PM,全美各个 Apple 零售店全部清场,为 4 个小时以后的首发做准备。店内匆匆忙忙的雇员在整理货架,店外急不可待的顾客大排长龙。销售开始以后的 30 小时,全美国共 售出 27 万部 iPhone,盛况空前。

The first iPhone buyers leaves the store on Fifth Avenue in New York The first iPhone buyers leaves the store on Fifth Avenue in New York, 6/29/2007

人们拿到了 iPhone 以后,立刻有人开始解剖,探求 iPhone 的奥秘。以下这段视频内容很翔实,不仅展示了解剖 iPhone 的全过程,而且简 短地介绍了每个部件的功能。结束语很有意思,“在我们简短地观察了 iPhone 内部构造以后,可以说没有那个部件具有革命性的进步。之所以 iPhone 能 够引起市场轰动,是因为 Apple 精通造势,在他们投放产品以前,做足了市场预热的功课”。的确,没有哪个部件具有革命性的进步,但是把普通部件攒在一 起,未必就不能产生革命性的产品。回想当年 Steve Jobs 和 Steve Wozniak 发明个人电脑的时候,所用部件没有哪一个是具有革命性的,但是个人电脑的革命性是不可否认的。

【YouTube 视频,解剖 iPhone】

iPhone Original Model Teardown, 2007

下面这张照片,展示的是 iPhone 内部一部份部件,其中包括 Samsung 的 64GBit 闪存,Intel 的内存,Infineon 的 GSM/EDGE 收发器(Infineon M1817A11),Marvell 的 WiFi 收发器,CSR 的蓝牙,Skyworks 的无线信号增强器,Infineon 的多媒体引擎(Infineon PMB8876 S-Gold2)。这张照片没有显示 CPU 芯片,因为 CPU 在另外一块板子上。

iPhone Original Model Internal iPhone Original Model Internal

每个功能芯片都有一套独特的指令集,这些指令集在芯片的 Datasheet 里面能找到。为了方便高级语言如 C/C++去调用这些指令,控制芯片的操作,需 要编写一些驱动器程序。通常人们把芯片称为硬件(hardware),把驱动器程序称为固件(firmware)。固件(fireware)的作用是把硬 件(hardware)和软件(software)彻底分开。这样即使对硬件不甚了解,软件工程师也能正确地编写程序。

但是光靠固件,编写程序的工作还是太难。原因是很少有程序只涉及单个芯片和单个固件,而是需要协调多个芯片的工作。所以,软件又分为操作系统(OS)和应用程序(Applications)两部分(也有很多论者把固件也看成是 OS 的一部份。OS 中最核心的部分是内核(kernel)。Kernel 负责以下几个任务:

  1. 把程序分解为若干进程,调度 CPU 的工作安排,逐步处理进程中的各个步骤
  2. 分配内存空间,存放程序执行过程中需要处理的数据以及产生的数据
  3. 硬盘的读写,以及组织安排数据在硬盘上的存储
  4. 管理外围设备如键盘鼠标显示屏,尤其是控制数据的输入输出(I/O)
  5. 管理网络数据传输
  6. 保障系统的安全。

下图是 Symbian S60 的软件体系。这个体系的特点是层次清楚。最下面一层是 Kernel。Kernel 以上两层是针对手机特点而扩充的 OS 功能,尤其是电话功能(Telephony Service),蓝牙和其它通讯功能(Networking, Connectivity and Serial Comms Services),以及强化和便利图形处理和显示的功能(Graphics Services)等等。这三层构成了 Symbian S60 的 OS。

在 OS 平台之上,渐次是应用模块(Application Services)和 UI 框架 (UI Framework)。至于 Java J2ME 在这个体系中的位置,问题稍微复杂一点,我们留给下一章讨论。

Symbian S60 体系非常符合传统 OS 的规范,而 Palm WebOS 相当离经叛道。
WebOS 的内核并不是 Palm 公司的原创,而是借用了 Linux Kernel。前文说过,OS 最核心的部分是 Kernel。WebOS 的 Kernel 不是自己的原创,Palm 凭什么勇敢地把 WebOS 命名为一个 OS 呢?

或许有人会为 Palm 辩解,Google 的 Android OS,也是以 Linux 为 Kernel。凭什么 Google 可以把 Android 称为 OS,而 Palm 却不能把 WebOS 称为 OS 呢?

Symbian S60 architecture Symbian S60 architecture

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

移动互联网的围观者、起哄者、以及肇事者。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容