西西河

主题:【原创】新时代新潮流WebOS 【1】 -- 邓侃

共:💬594 🌺1902
全看树展主题 · 分页首页 上页
/ 40
下页 末页
家园 先送花,然后再挑一个词的错误

CES 的号召力的确不是虚得浪名

浪得虚名?

这虚得的“浪名”是……难道是……

我,还是面壁去了,呵呵

家园 哈哈,俺是有耐心的那种

在起点上看小说也从来都是希望作者质量第一,不催稿滴

家园 有个帮手的感觉真爽。花谢。
家园 原因如下

点看全图

外链图片需谨慎,可能会被源头改

在我国也可以称之为鞋拔子

家园 CPLD功耗可能更小一些

手机中已经有CPU等复杂逻辑芯片了,CPLD估计也就是做一些简单的逻辑实现,不需要那么多可编程逻辑门,CPLD做可编程的IO接口可能更合适。

家园 已改,多谢!
家园 【原创】新时代新潮流WebOS 【3】

【3】窥探手机OS

Kernel是OS的核心,Android没有自力更生开发自己的Kernel,而是借用了Liinux作为Kernel。但是很多技术文献仍然用Android OS这个词,把Android视为一套OS。

有趣的是,Google的官方定义是,“The Android platform is a software stack for mobile devices including an operating system, middleware and key applications”。注意,Google视Android为一个平台,支撑这个平台的,是层层叠叠一摞软件砖头,其中包括OS,但是 Android本身不是OS。

如果platforrm与OS,仅仅是名称的差别,自然无关痛痒,但是如果事情涉及到手机软件体系,就值得仔细审视一番。

关于这个问题,我请教了W兄,以下文字是基于俩人的讨论,加上我个人的进一步发挥而成。其中不仅带有强烈的个人偏见,而且弥漫着不知天高地厚的狂妄。对此有不良生理反应者,请及时回避。持批评意见者,恳请畅所欲言大力斧正。

假惺惺的免责声明结束,下面开始说疯话。疯话分五个部分,

1. 基于Linux Kernel,Android的额外贡献有哪些?

2. 为什么Android需要Dalvik?

3. 为什么Dalvik不遵循J2ME规范,不参与Java Community Process(JCP)?

4. JVM,Dalvik和.NET,谁更可能最终胜出?

5. Android是platform,还是OS?

点看全图

外链图片需谨慎,可能会被源头改

Figure 1. Android architecture

Courtesy http://purefire.bokee.com/inc/android.jpg

基于Linux Kernel,Android的额外贡献有哪些?主要是两条,

1. 梳理了Linux Kernel,尤其是统一了中间件(Middleware)。

Linux 是开源项目,开源项目的优点是集思广益,但是优点同时也是缺点,缺点是七嘴八舌。功能相似的模块,不仅版本多,而且APIs也不统一。所以有一些企业致力于把无序变为有序,在众多版本中筛选出性能最好的版本,统一APIs,然后把各个不同功能的模块整合成完整的系统。譬如Redhat和Ubuntu,它们主要致力于梳理供PC和Server使用的Linux。

但是在嵌入式领域,各种版本的Linux模块还处在混战之中。Google Android充当了嵌入式Linux领域Redhat和Ubuntu的角色。Android的成就之一,是梳理了Linux Kernel。图一中的最低层Linux Kernel,显示的是Android的梳理结果。

梳理这个工作表面上看起来是力气活,没有太多技术含量。这个观点是错误的,实际上,如果没有雄厚的技术实力,没有长期积累的业界声望,是不敢担当这份重任的。

Android 不仅梳理了Linux Kernel,更重要的是梳理了MiddleWare,其成就显示在图一中倒数第二层“Libraries”。之所以说MiddleWare的梳理工作更重要,是因为这里的混乱局面更严重。譬如2D/3D图像处理,多媒体,安全控制,嵌入式数据库等等,都是潜在利润回报丰厚的功能模块,所以竞争也非常激烈。

Android的成就不仅在于筛选,而且也体现在优化。譬如说libc,老生常谈的东西,有哪段稍微复杂一点的C程序离得开libc 呢?GNU版本的libc大概是400K左右,而Android对libc做了大规模精简,最后结果只有200K,Android把精简后的libc称为 bionic。尺寸缩小是一方面,另一方面是提高了运行速度,尤其体现在pthread的处理上。

梳理和优化的工作,既耗时又费力,Google Android大方地把自己的成果一揽子公开,一方面深得人心,扮演着圣骑士的角色(paladin),另一方面,如果能把嵌入式Linux Kernel和MiddleWare掌控在自己手里,从长远来看,Google就成为嵌入式Linux的庄家,到那时,其它公司想挑战Google的地位就难了。

2. Dalvik虚拟机。

图一中的倒数第二层,靠右边的方框中,显示的是Android Runtime,包括Dalvik虚拟机和Core library两部分。有人说,Dalvik是Java虚拟机,这是不正确的。的确,从使用者角度看,Dalvik的语言和Java高度一致,但是形式相同并不等于实现方式相同。又有人说,Dalvik是把Java语言,通过JNI,翻译成C/C++语言的翻译器。这种说法也不准确。

Inside Java Virtual Machine”是一本介绍Java虚拟机内部实现的书,书写得深入浅出,非常值得一读。花几个星期读此书,你会惊艳于Java和JVM设计之精巧。如此精巧的系统,还有没有改进的余地?Dalvik是一个成功的尝试。Google Android的Dan Bornstein有一个演讲,介绍了Dalvik内部的实现原理。

[FLASH]http://www.youtube.com/v/ptjedOZEXPM[/FLASH]

Dalvik Virtual Machine internal,by Dan Bornstein,Google I/O conference,2008

Courtesy http://www.youtube.com/watch?v=ptjedOZEXPM

Dalvik和Java虚拟机的区别在哪里?主要是两条,

a. Dalvik的bytecode是.dex,而JVM的是.class。两者的区别在于.dex比.class尺寸更小。同样一段Java源代码,分别编译成.class和.dex bytecodes,很多情况,.dex比对应的.class小25%以上。

b. 对比Dalvik执行.dex和JVM执行.class,占用的CPU时间以及内存空间比JVM更少。至于快到什么地步少到什么地步,目前还没有广为接受的benchmark对比结果。据传,Dalvik比JVM快5-6倍。

有人戏言,在计算机领域想出人头地,有个投机取巧的捷径,要么做大,要么做小。Google的云计算平台走的是“做大”的路线,让百万台机器同时工作,相互协调。 Google的Android走的是“做小”的路线。大和小两个极端中,能在一端做出突出成就,已经出人头地,Google两头冒尖,不服不行。

关键词(Tags): #硅谷评论
家园 Jay Leno

点看全图

外链图片需谨慎,可能会被源头改

原来与大下巴笑星有关

家园 花一个。顺便请教手持设备常用java吗?

java的执行效率如何?

看图,似乎有个VM在里面。既然手持设备的处理能力通常都不强,为什么要用VM,而不直接用exe呢?

家园 从FPGA到ASIC,调用API的工作原理

软件的速度永远赶不过硬件的速度。

但是不清楚ASIC和FPGA是如何执行应用软件的。

譬如,一段应用软件调用了某个OpenGL的API。假设OpenGL已经固化在ASIC芯片里面了。执行应用软件的,是Kernel,但是遇到OpenGL的API时,是如何绕过Kernel,把有关代码的执行直接交给ASIC芯片的?

我的理解,Kernel在遇到这个API的时候,就去调用有关ASIC的driver。是这样吗?

但是进一步假设,机器里不仅有OpenGL的固化芯片,同时也有OpenGL的软件,那么Kernel如何决定是调用芯片的driver,还是调用软件函数库?

家园 且听下回分解

嘿嘿,卖个关子。

家园 老邓,老邓,老邓!又得宝了

谢谢:作者意外获得【通宝】一枚

鲜花已经成功送出。

此次送花为【有效送花赞扬,涨乐善、声望】

Google Android大方地把自己的成果一揽子公开,一方面深得人心,扮演着圣骑士的角色(paladin),另一方面,如果能把嵌入式Linux Kernel和MiddleWare掌控在自己手里,从长远来看,Google就成为嵌入式Linux的庄家,到那时,其它公司想挑战Google的地位就难了。

这一点我深表同意,OSS 运动本身是农民起义,打土豪分田地的天下大同,到现在招安的招安,称帝的称帝,还是尔虞我诈你死我活的 Corporate World,还是饥肠辘辘闻血而动的 Wild West。无论是 IBM, Sun, Apple, Google 还是收购 Qt 的 Nokia,或者"独立"的 Mozilla Canonical,nothing is FREE 仍然是不变的真理。

家园 这个这个,我拿 Jay Leno 做例子

只是因为提到下巴第一个就想起这位来~~~不是说 G1 跟 Leno 真的有什么不得不说的故事~~~ [/disclaimer]

家园 VM V.S. "Exe"

Can't type Chinese for now and I don't wanna type too many English.

Just one word:

The modern OS is a big VM and there's no *Real* exe in a modern OS.

家园 气煞,气煞。邓侃,WIFI,AK,你们还让不让人活了。

3个人同时抛出有分量的帖子。按靳开来的话讲:旱TMD的汗死,涝TMD的涝死。

为表达俺的严重抗议,俺宣布俺在河里禁言一天。

全看树展主题 · 分页首页 上页
/ 40
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河