主题:【原创】新时代新潮流WebOS 【1】 -- 邓侃
【2】解剖Palm Pre之劲敌,iPhone
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, 6/29/2007
Courtesy http://msnbcmedia4.msn.com/j/msnbc/Components/Photos/070629/070629_iphone_vmed_4p.widec.jpg
人们拿到了iPhone以后,立刻有人开始解剖,探求iPhone的奥秘。以下这段视频内容很翔实,不仅展示了解剖iPhone的全过程,而且简短地介绍了每个部件的功能。结束语很有意思,“在我们简短地观察了iPhone内部构造以后,可以说没有那个部件具有革命性的进步。之所以iPhone能够引起市场轰动,是因为Apple精通造势,在他们投放产品以前,做足了市场预热的功课”。的确,没有哪个部件具有革命性的进步,但是把普通部件攒在一起,未必就不能产生革命性的产品。回想当年Steve Jobs和Steve Wozniak发明个人电脑的时候,所用部件没有哪一个是具有革命性的,但是个人电脑的革命性是不可否认的。
[FLASH]http://www.youtube.com/v/mPhciMud0MM[/FLASH]
iPhone Original Model Teardown, 2007
Courtesy http://www.youtube.com/watch?v=mPhciMud0MM
下面这张照片,展示的是iPhone内部一部份部件,其中包括Samsung的64GBit闪存,Intel的内存,Infineon的GSM/EDGE 收发器(Infineon M1817A11),Marvell的WiFi收发器,CSR的蓝牙,Skyworks的无线信号增强器,Infineon的多媒体引擎(Infineon PMB8876 S-Gold2)。这张照片没有显示CPU芯片,因为CPU在另外一块板子上。
[IMGA]http://cache.gizmodo.com/assets/resources/2007/07/Picture 12-1 copy.jpg[/IMGA]
iPhone Original Model Internal
Courtesy http://cache.gizmodo.com/assets/resources/2007/07/Picture%2012-1%20copy.jpg
每个功能芯片都有一套独特的指令集,这些指令集在芯片的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是Linux,Palm凭什么勇敢地把WebOS命名为一个OS呢?
或许有人会为Palm辩解,Google的Android OS,也是以Linux为Kernel。凭什么Google可以把Android称为OS,而Palm却不能把WebOS称为OS呢?
Symbian S60 architecture
Courtesy http://www.symbian.com/developer/techlib/v9.3docs/doc_source/NewStarter/architecture.png
- 相关回复 上下关系8
🙂暂时别提野史的事情 1 邓侃 字27 2009-03-02 23:18:40
🙂哈哈,俺是有耐心的那种 1 netone 字56 2009-03-03 00:06:08
🙂邓兄和一干高人的那个云系列非常经典,仍有些意犹未尽就是了 2 james 字56 2009-03-02 19:23:41
🙂【原创】新时代新潮流WebOS 【2】
🙂原料没啥特别的, 1 荆棘探兴 字70 2009-03-02 19:13:53
🙂从来没想过可以这么写 3 WiFi 字161 2009-03-02 03:35:46
🙂硬件细节 1 邓侃 字58 2009-03-02 04:18:00
🙂iPhone和G1的肠肠肚肚 12 WiFi 字924 2009-03-02 04:38:00